Add pedometer example
diff --git a/example/pedometer/.gitignore b/example/pedometer/.gitignore
new file mode 100644
index 0000000..29a3a50
--- /dev/null
+++ b/example/pedometer/.gitignore
@@ -0,0 +1,43 @@
+# Miscellaneous
+*.class
+*.log
+*.pyc
+*.swp
+.DS_Store
+.atom/
+.buildlog/
+.history
+.svn/
+migrate_working_dir/
+
+# IntelliJ related
+*.iml
+*.ipr
+*.iws
+.idea/
+
+# The .vscode folder contains launch configuration and tasks you configure in
+# VS Code which you may wish to be included in version control, so this line
+# is commented out by default.
+#.vscode/
+
+# Flutter/Dart/Pub related
+**/doc/api/
+**/ios/Flutter/.last_build_id
+.dart_tool/
+.flutter-plugins
+.flutter-plugins-dependencies
+.pub-cache/
+.pub/
+/build/
+
+# Symbolication related
+app.*.symbols
+
+# Obfuscation related
+app.*.map.json
+
+# Android Studio will place build artifacts here
+/android/app/debug
+/android/app/profile
+/android/app/release
diff --git a/example/pedometer/.metadata b/example/pedometer/.metadata
new file mode 100644
index 0000000..f193803
--- /dev/null
+++ b/example/pedometer/.metadata
@@ -0,0 +1,30 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled and should not be manually edited.
+
+version:
+  revision: "a0862f1c3f9885136ff986aa75de1aa9bf8e61e0"
+  channel: "master"
+
+project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+  platforms:
+    - platform: root
+      create_revision: a0862f1c3f9885136ff986aa75de1aa9bf8e61e0
+      base_revision: a0862f1c3f9885136ff986aa75de1aa9bf8e61e0
+    - platform: ios
+      create_revision: a0862f1c3f9885136ff986aa75de1aa9bf8e61e0
+      base_revision: a0862f1c3f9885136ff986aa75de1aa9bf8e61e0
+
+  # User provided section
+
+  # List of Local paths (relative to this file) that should be
+  # ignored by the migrate tool.
+  #
+  # Files that are not part of the templates will be ignored by default.
+  unmanaged_files:
+    - 'lib/main.dart'
+    - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/example/pedometer/README.md b/example/pedometer/README.md
new file mode 100644
index 0000000..ab76dbe
--- /dev/null
+++ b/example/pedometer/README.md
@@ -0,0 +1,16 @@
+# pedometer
+
+A new Flutter project.
+
+## Getting Started
+
+This project is a starting point for a Flutter application.
+
+A few resources to get you started if this is your first Flutter project:
+
+- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
+- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
+
+For help getting started with Flutter development, view the
+[online documentation](https://docs.flutter.dev/), which offers tutorials,
+samples, guidance on mobile development, and a full API reference.
diff --git a/example/pedometer/analysis_options.yaml b/example/pedometer/analysis_options.yaml
new file mode 100644
index 0000000..0d29021
--- /dev/null
+++ b/example/pedometer/analysis_options.yaml
@@ -0,0 +1,28 @@
+# This file configures the analyzer, which statically analyzes Dart code to
+# check for errors, warnings, and lints.
+#
+# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
+# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
+# invoked from the command line by running `flutter analyze`.
+
+# The following line activates a set of recommended lints for Flutter apps,
+# packages, and plugins designed to encourage good coding practices.
+include: package:flutter_lints/flutter.yaml
+
+linter:
+  # The lint rules applied to this project can be customized in the
+  # section below to disable rules from the `package:flutter_lints/flutter.yaml`
+  # included above or to enable additional rules. A list of all available lints
+  # and their documentation is published at https://dart.dev/lints.
+  #
+  # Instead of disabling a lint rule for the entire project in the
+  # section below, it can also be suppressed for a single line of code
+  # or a specific dart file by using the `// ignore: name_of_lint` and
+  # `// ignore_for_file: name_of_lint` syntax on the line or in the file
+  # producing the lint.
+  rules:
+    # avoid_print: false  # Uncomment to disable the `avoid_print` rule
+    # prefer_single_quotes: true  # Uncomment to enable the `prefer_single_quotes` rule
+
+# Additional information about this file can be found at
+# https://dart.dev/guides/language/analysis-options
diff --git a/example/pedometer/ios/.gitignore b/example/pedometer/ios/.gitignore
new file mode 100644
index 0000000..7a7f987
--- /dev/null
+++ b/example/pedometer/ios/.gitignore
@@ -0,0 +1,34 @@
+**/dgph
+*.mode1v3
+*.mode2v3
+*.moved-aside
+*.pbxuser
+*.perspectivev3
+**/*sync/
+.sconsign.dblite
+.tags*
+**/.vagrant/
+**/DerivedData/
+Icon?
+**/Pods/
+**/.symlinks/
+profile
+xcuserdata
+**/.generated/
+Flutter/App.framework
+Flutter/Flutter.framework
+Flutter/Flutter.podspec
+Flutter/Generated.xcconfig
+Flutter/ephemeral/
+Flutter/app.flx
+Flutter/app.zip
+Flutter/flutter_assets/
+Flutter/flutter_export_environment.sh
+ServiceDefinitions.json
+Runner/GeneratedPluginRegistrant.*
+
+# Exceptions to above rules.
+!default.mode1v3
+!default.mode2v3
+!default.pbxuser
+!default.perspectivev3
diff --git a/example/pedometer/ios/Flutter/AppFrameworkInfo.plist b/example/pedometer/ios/Flutter/AppFrameworkInfo.plist
new file mode 100644
index 0000000..9625e10
--- /dev/null
+++ b/example/pedometer/ios/Flutter/AppFrameworkInfo.plist
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+  <key>CFBundleDevelopmentRegion</key>
+  <string>en</string>
+  <key>CFBundleExecutable</key>
+  <string>App</string>
+  <key>CFBundleIdentifier</key>
+  <string>io.flutter.flutter.app</string>
+  <key>CFBundleInfoDictionaryVersion</key>
+  <string>6.0</string>
+  <key>CFBundleName</key>
+  <string>App</string>
+  <key>CFBundlePackageType</key>
+  <string>FMWK</string>
+  <key>CFBundleShortVersionString</key>
+  <string>1.0</string>
+  <key>CFBundleSignature</key>
+  <string>????</string>
+  <key>CFBundleVersion</key>
+  <string>1.0</string>
+  <key>MinimumOSVersion</key>
+  <string>11.0</string>
+</dict>
+</plist>
diff --git a/example/pedometer/ios/Flutter/Debug.xcconfig b/example/pedometer/ios/Flutter/Debug.xcconfig
new file mode 100644
index 0000000..592ceee
--- /dev/null
+++ b/example/pedometer/ios/Flutter/Debug.xcconfig
@@ -0,0 +1 @@
+#include "Generated.xcconfig"
diff --git a/example/pedometer/ios/Flutter/Release.xcconfig b/example/pedometer/ios/Flutter/Release.xcconfig
new file mode 100644
index 0000000..592ceee
--- /dev/null
+++ b/example/pedometer/ios/Flutter/Release.xcconfig
@@ -0,0 +1 @@
+#include "Generated.xcconfig"
diff --git a/example/pedometer/ios/Runner.xcodeproj/project.pbxproj b/example/pedometer/ios/Runner.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..5dfdcb4
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcodeproj/project.pbxproj
@@ -0,0 +1,633 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 54;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		0C9FA0712AA97E7E00552AFD /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C9FA0702AA97E7E00552AFD /* CoreMotion.framework */; };
+		1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
+		331C80F4294D02FB00263BE5 /* RunnerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 331C80F3294D02FB00263BE5 /* RunnerTests.m */; };
+		3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
+		978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
+		97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
+		97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
+		97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
+		97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+		331C80F5294D02FB00263BE5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 97C146E61CF9000F007C117D /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 97C146ED1CF9000F007C117D;
+			remoteInfo = Runner;
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		9705A1C41CF9048500538489 /* Embed Frameworks */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+			);
+			name = "Embed Frameworks";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		0C9FA0702AA97E7E00552AFD /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
+		1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
+		1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
+		331C80F1294D02FB00263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+		331C80F3294D02FB00263BE5 /* RunnerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerTests.m; sourceTree = "<group>"; };
+		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
+		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
+		7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+		7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+		9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
+		9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
+		97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		331C80EE294D02FB00263BE5 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		97C146EB1CF9000F007C117D /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				0C9FA0712AA97E7E00552AFD /* CoreMotion.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		0C9FA06F2AA97E7D00552AFD /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				0C9FA0702AA97E7E00552AFD /* CoreMotion.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		331C80F2294D02FB00263BE5 /* RunnerTests */ = {
+			isa = PBXGroup;
+			children = (
+				331C80F3294D02FB00263BE5 /* RunnerTests.m */,
+			);
+			path = RunnerTests;
+			sourceTree = "<group>";
+		};
+		9740EEB11CF90186004384FC /* Flutter */ = {
+			isa = PBXGroup;
+			children = (
+				3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
+				9740EEB21CF90195004384FC /* Debug.xcconfig */,
+				7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
+				9740EEB31CF90195004384FC /* Generated.xcconfig */,
+			);
+			name = Flutter;
+			sourceTree = "<group>";
+		};
+		97C146E51CF9000F007C117D = {
+			isa = PBXGroup;
+			children = (
+				9740EEB11CF90186004384FC /* Flutter */,
+				97C146F01CF9000F007C117D /* Runner */,
+				331C80F2294D02FB00263BE5 /* RunnerTests */,
+				97C146EF1CF9000F007C117D /* Products */,
+				0C9FA06F2AA97E7D00552AFD /* Frameworks */,
+			);
+			sourceTree = "<group>";
+		};
+		97C146EF1CF9000F007C117D /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				97C146EE1CF9000F007C117D /* Runner.app */,
+				331C80F1294D02FB00263BE5 /* RunnerTests.xctest */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		97C146F01CF9000F007C117D /* Runner */ = {
+			isa = PBXGroup;
+			children = (
+				7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
+				7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
+				97C146FA1CF9000F007C117D /* Main.storyboard */,
+				97C146FD1CF9000F007C117D /* Assets.xcassets */,
+				97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
+				97C147021CF9000F007C117D /* Info.plist */,
+				97C146F11CF9000F007C117D /* Supporting Files */,
+				1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
+				1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
+			);
+			path = Runner;
+			sourceTree = "<group>";
+		};
+		97C146F11CF9000F007C117D /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				97C146F21CF9000F007C117D /* main.m */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		331C80F0294D02FB00263BE5 /* RunnerTests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 331C80F7294D02FB00263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
+			buildPhases = (
+				331C80ED294D02FB00263BE5 /* Sources */,
+				331C80EE294D02FB00263BE5 /* Frameworks */,
+				331C80EF294D02FB00263BE5 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				331C80F6294D02FB00263BE5 /* PBXTargetDependency */,
+			);
+			name = RunnerTests;
+			productName = RunnerTests;
+			productReference = 331C80F1294D02FB00263BE5 /* RunnerTests.xctest */;
+			productType = "com.apple.product-type.bundle.unit-test";
+		};
+		97C146ED1CF9000F007C117D /* Runner */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
+			buildPhases = (
+				9740EEB61CF901F6004384FC /* Run Script */,
+				97C146EA1CF9000F007C117D /* Sources */,
+				97C146EB1CF9000F007C117D /* Frameworks */,
+				97C146EC1CF9000F007C117D /* Resources */,
+				9705A1C41CF9048500538489 /* Embed Frameworks */,
+				3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = Runner;
+			productName = Runner;
+			productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		97C146E61CF9000F007C117D /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				BuildIndependentTargetsInParallel = YES;
+				LastUpgradeCheck = 1430;
+				ORGANIZATIONNAME = "";
+				TargetAttributes = {
+					331C80F0294D02FB00263BE5 = {
+						CreatedOnToolsVersion = 14.0;
+						TestTargetID = 97C146ED1CF9000F007C117D;
+					};
+					97C146ED1CF9000F007C117D = {
+						CreatedOnToolsVersion = 7.3.1;
+					};
+				};
+			};
+			buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
+			compatibilityVersion = "Xcode 9.3";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 97C146E51CF9000F007C117D;
+			productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				97C146ED1CF9000F007C117D /* Runner */,
+				331C80F0294D02FB00263BE5 /* RunnerTests */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		331C80EF294D02FB00263BE5 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		97C146EC1CF9000F007C117D /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
+				3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
+				97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
+				97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
+			isa = PBXShellScriptBuildPhase;
+			alwaysOutOfDate = 1;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+				"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
+			);
+			name = "Thin Binary";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
+		};
+		9740EEB61CF901F6004384FC /* Run Script */ = {
+			isa = PBXShellScriptBuildPhase;
+			alwaysOutOfDate = 1;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Run Script";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		331C80ED294D02FB00263BE5 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				331C80F4294D02FB00263BE5 /* RunnerTests.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		97C146EA1CF9000F007C117D /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
+				97C146F31CF9000F007C117D /* main.m in Sources */,
+				1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+		331C80F6294D02FB00263BE5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 97C146ED1CF9000F007C117D /* Runner */;
+			targetProxy = 331C80F5294D02FB00263BE5 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+		97C146FA1CF9000F007C117D /* Main.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				97C146FB1CF9000F007C117D /* Base */,
+			);
+			name = Main.storyboard;
+			sourceTree = "<group>";
+		};
+		97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				97C147001CF9000F007C117D /* Base */,
+			);
+			name = LaunchScreen.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		249021D3217E4FDB00AE95B9 /* Profile */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				SDKROOT = iphoneos;
+				SUPPORTED_PLATFORMS = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Profile;
+		};
+		249021D4217E4FDB00AE95B9 /* Profile */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				ENABLE_BITCODE = NO;
+				INFOPLIST_FILE = Runner/Info.plist;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.pedometer;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+				SUPPORTS_MACCATALYST = NO;
+				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+				TARGETED_DEVICE_FAMILY = 1;
+				VERSIONING_SYSTEM = "apple-generic";
+			};
+			name = Profile;
+		};
+		331C80F8294D02FB00263BE5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				BUNDLE_LOADER = "$(TEST_HOST)";
+				CURRENT_PROJECT_VERSION = 1;
+				GENERATE_INFOPLIST_FILE = YES;
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.pedometer.RunnerTests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+			};
+			name = Debug;
+		};
+		331C80F9294D02FB00263BE5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				BUNDLE_LOADER = "$(TEST_HOST)";
+				CURRENT_PROJECT_VERSION = 1;
+				GENERATE_INFOPLIST_FILE = YES;
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.pedometer.RunnerTests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+			};
+			name = Release;
+		};
+		331C80FA294D02FB00263BE5 /* Profile */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				BUNDLE_LOADER = "$(TEST_HOST)";
+				CURRENT_PROJECT_VERSION = 1;
+				GENERATE_INFOPLIST_FILE = YES;
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.pedometer.RunnerTests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
+			};
+			name = Profile;
+		};
+		97C147031CF9000F007C117D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+				MTL_ENABLE_DEBUG_INFO = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		97C147041CF9000F007C117D /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				SDKROOT = iphoneos;
+				SUPPORTED_PLATFORMS = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		97C147061CF9000F007C117D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				ENABLE_BITCODE = NO;
+				INFOPLIST_FILE = Runner/Info.plist;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.pedometer;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+				SUPPORTS_MACCATALYST = NO;
+				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+				TARGETED_DEVICE_FAMILY = 1;
+				VERSIONING_SYSTEM = "apple-generic";
+			};
+			name = Debug;
+		};
+		97C147071CF9000F007C117D /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				ENABLE_BITCODE = NO;
+				INFOPLIST_FILE = Runner/Info.plist;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.example.pedometer;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+				SUPPORTS_MACCATALYST = NO;
+				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+				TARGETED_DEVICE_FAMILY = 1;
+				VERSIONING_SYSTEM = "apple-generic";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		331C80F7294D02FB00263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				331C80F8294D02FB00263BE5 /* Debug */,
+				331C80F9294D02FB00263BE5 /* Release */,
+				331C80FA294D02FB00263BE5 /* Profile */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				97C147031CF9000F007C117D /* Debug */,
+				97C147041CF9000F007C117D /* Release */,
+				249021D3217E4FDB00AE95B9 /* Profile */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				97C147061CF9000F007C117D /* Debug */,
+				97C147071CF9000F007C117D /* Release */,
+				249021D4217E4FDB00AE95B9 /* Profile */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 97C146E61CF9000F007C117D /* Project object */;
+}
diff --git a/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:">
+   </FileRef>
+</Workspace>
diff --git a/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>
diff --git a/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..f9b0d7c
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>PreviewsEnabled</key>
+	<false/>
+</dict>
+</plist>
diff --git a/example/pedometer/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/pedometer/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
new file mode 100644
index 0000000..69ff01d
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1430"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+               BuildableName = "Runner.app"
+               BlueprintName = "Runner"
+               ReferencedContainer = "container:Runner.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+      <Testables>
+         <TestableReference
+            skipped = "NO"
+            parallelizable = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "331C80F0294D02FB00263BE5"
+               BuildableName = "RunnerTests.xctest"
+               BlueprintName = "RunnerTests"
+               ReferencedContainer = "container:Runner.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Profile"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
diff --git a/example/pedometer/ios/Runner.xcworkspace/contents.xcworkspacedata b/example/pedometer/ios/Runner.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..1d526a1
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:Runner.xcodeproj">
+   </FileRef>
+</Workspace>
diff --git a/example/pedometer/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/pedometer/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>
diff --git a/example/pedometer/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/pedometer/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..f9b0d7c
--- /dev/null
+++ b/example/pedometer/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>PreviewsEnabled</key>
+	<false/>
+</dict>
+</plist>
diff --git a/example/pedometer/ios/Runner/AppDelegate.h b/example/pedometer/ios/Runner/AppDelegate.h
new file mode 100644
index 0000000..36e21bb
--- /dev/null
+++ b/example/pedometer/ios/Runner/AppDelegate.h
@@ -0,0 +1,6 @@
+#import <Flutter/Flutter.h>
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : FlutterAppDelegate
+
+@end
diff --git a/example/pedometer/ios/Runner/AppDelegate.m b/example/pedometer/ios/Runner/AppDelegate.m
new file mode 100644
index 0000000..70e8393
--- /dev/null
+++ b/example/pedometer/ios/Runner/AppDelegate.m
@@ -0,0 +1,13 @@
+#import "AppDelegate.h"
+#import "GeneratedPluginRegistrant.h"
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application
+    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+  [GeneratedPluginRegistrant registerWithRegistry:self];
+  // Override point for customization after application launch.
+  return [super application:application didFinishLaunchingWithOptions:launchOptions];
+}
+
+@end
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..d36b1fa
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,122 @@
+{
+  "images" : [
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-20x20@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-20x20@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-29x29@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-29x29@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-29x29@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-40x40@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-40x40@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-60x60@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "Icon-App-60x60@3x.png",
+      "scale" : "3x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-20x20@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-20x20@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-29x29@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-29x29@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-40x40@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-40x40@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-76x76@1x.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-76x76@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "83.5x83.5",
+      "idiom" : "ipad",
+      "filename" : "Icon-App-83.5x83.5@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "1024x1024",
+      "idiom" : "ios-marketing",
+      "filename" : "Icon-App-1024x1024@1x.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
new file mode 100644
index 0000000..dc9ada4
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
new file mode 100644
index 0000000..7353c41
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
new file mode 100644
index 0000000..797d452
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
new file mode 100644
index 0000000..6ed2d93
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
new file mode 100644
index 0000000..4cd7b00
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
new file mode 100644
index 0000000..fe73094
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
new file mode 100644
index 0000000..321773c
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
new file mode 100644
index 0000000..797d452
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
new file mode 100644
index 0000000..502f463
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
new file mode 100644
index 0000000..0ec3034
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
new file mode 100644
index 0000000..0ec3034
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
new file mode 100644
index 0000000..e9f5fea
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
new file mode 100644
index 0000000..84ac32a
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
new file mode 100644
index 0000000..8953cba
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
new file mode 100644
index 0000000..0467bf1
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
new file mode 100644
index 0000000..0bedcf2
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "LaunchImage.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "LaunchImage@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "LaunchImage@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
new file mode 100644
index 0000000..9da19ea
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
new file mode 100644
index 0000000..9da19ea
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
new file mode 100644
index 0000000..9da19ea
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
Binary files differ
diff --git a/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
new file mode 100644
index 0000000..89c2725
--- /dev/null
+++ b/example/pedometer/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
@@ -0,0 +1,5 @@
+# Launch Screen Assets
+
+You can customize the launch screen with your own desired assets by replacing the image files in this directory.
+
+You 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.
\ No newline at end of file
diff --git a/example/pedometer/ios/Runner/Base.lproj/LaunchScreen.storyboard b/example/pedometer/ios/Runner/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 0000000..f2e259c
--- /dev/null
+++ b/example/pedometer/ios/Runner/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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">
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
+    </dependencies>
+    <scenes>
+        <!--View Controller-->
+        <scene sceneID="EHf-IW-A2E">
+            <objects>
+                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
+                        <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
+                            </imageView>
+                        </subviews>
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <constraints>
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
+                        </constraints>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="53" y="375"/>
+        </scene>
+    </scenes>
+    <resources>
+        <image name="LaunchImage" width="168" height="185"/>
+    </resources>
+</document>
diff --git a/example/pedometer/ios/Runner/Base.lproj/Main.storyboard b/example/pedometer/ios/Runner/Base.lproj/Main.storyboard
new file mode 100644
index 0000000..f3c2851
--- /dev/null
+++ b/example/pedometer/ios/Runner/Base.lproj/Main.storyboard
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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">
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
+    </dependencies>
+    <scenes>
+        <!--Flutter View Controller-->
+        <scene sceneID="tne-QT-ifu">
+            <objects>
+                <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
+                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
+                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+            </objects>
+        </scene>
+    </scenes>
+</document>
diff --git a/example/pedometer/ios/Runner/Info.plist b/example/pedometer/ios/Runner/Info.plist
new file mode 100644
index 0000000..e906472
--- /dev/null
+++ b/example/pedometer/ios/Runner/Info.plist
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CADisableMinimumFrameDurationOnPhone</key>
+	<true/>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>$(DEVELOPMENT_LANGUAGE)</string>
+	<key>CFBundleDisplayName</key>
+	<string>Pedometer</string>
+	<key>CFBundleExecutable</key>
+	<string>$(EXECUTABLE_NAME)</string>
+	<key>CFBundleIdentifier</key>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>pedometer</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>$(FLUTTER_BUILD_NAME)</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>$(FLUTTER_BUILD_NUMBER)</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>UIApplicationSupportsIndirectInputEvents</key>
+	<true/>
+	<key>UILaunchStoryboardName</key>
+	<string>LaunchScreen</string>
+	<key>UIMainStoryboardFile</key>
+	<string>Main</string>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+	<key>UISupportedInterfaceOrientations~ipad</key>
+	<array>
+		<string>UIInterfaceOrientationPortrait</string>
+		<string>UIInterfaceOrientationPortraitUpsideDown</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+	</array>
+</dict>
+</plist>
diff --git a/example/pedometer/ios/Runner/main.m b/example/pedometer/ios/Runner/main.m
new file mode 100644
index 0000000..dff6597
--- /dev/null
+++ b/example/pedometer/ios/Runner/main.m
@@ -0,0 +1,9 @@
+#import <Flutter/Flutter.h>
+#import <UIKit/UIKit.h>
+#import "AppDelegate.h"
+
+int main(int argc, char* argv[]) {
+  @autoreleasepool {
+    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+  }
+}
diff --git a/example/pedometer/ios/RunnerTests/RunnerTests.m b/example/pedometer/ios/RunnerTests/RunnerTests.m
new file mode 100644
index 0000000..6d8b0bd
--- /dev/null
+++ b/example/pedometer/ios/RunnerTests/RunnerTests.m
@@ -0,0 +1,16 @@
+#import <Flutter/Flutter.h>
+#import <UIKit/UIKit.h>
+#import <XCTest/XCTest.h>
+
+@interface RunnerTests : XCTestCase
+
+@end
+
+@implementation RunnerTests
+
+- (void)testExample {
+  // If you add code to the Runner application, consider adding tests here.
+  // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
+}
+
+@end
diff --git a/example/pedometer/lib/main.dart b/example/pedometer/lib/main.dart
new file mode 100644
index 0000000..3335427
--- /dev/null
+++ b/example/pedometer/lib/main.dart
@@ -0,0 +1,221 @@
+// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:flutter/material.dart';
+import 'package:intl/intl.dart';
+import 'package:fl_chart/fl_chart.dart';
+
+import 'steps_repo.dart';
+
+void main() {
+  runApp(const MyApp());
+}
+
+class MyApp extends StatelessWidget {
+  const MyApp({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return MaterialApp(
+      title: 'Flutter Demo',
+      theme: ThemeData(
+        primarySwatch: Colors.blue,
+      ),
+      home: const Home(),
+    );
+  }
+}
+
+class RoundClipper extends CustomClipper<Path> {
+  @override
+  Path getClip(Size size) {
+    final diameter = size.shortestSide * 1.5;
+    final x = -(diameter - size.width) / 2;
+    final y = size.height - diameter;
+    final rect = Offset(x, y) & Size(diameter, diameter);
+    return Path()..addOval(rect);
+  }
+
+  @override
+  bool shouldReclip(CustomClipper<Path> oldClipper) {
+    return false;
+  }
+}
+
+class Home extends StatefulWidget {
+  const Home({
+    Key? key,
+  }) : super(key: key);
+
+  @override
+  State<Home> createState() => _HomeState();
+}
+
+class _HomeState extends State<Home> {
+  var hourlySteps = <Steps>[];
+  DateTime? lastUpdated;
+
+  @override
+  void initState() {
+    runPedometer();
+    super.initState();
+  }
+
+  void runPedometer() async {
+    final now = DateTime.now();
+    hourlySteps = await StepsRepo.instance.getSteps();
+    lastUpdated = now;
+    setState(() {});
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    final textTheme = Theme.of(context).textTheme;
+
+    final barGroups = hourlySteps
+        .map(
+          (e) => BarChartGroupData(
+            x: int.parse(e.startHour),
+            barRods: [
+              BarChartRodData(
+                color: Colors.blue[900],
+                toY: e.steps.toDouble() / 100,
+              )
+            ],
+          ),
+        )
+        .toList();
+
+    return Scaffold(
+        body: Stack(
+      children: [
+        ClipPath(
+          clipper: RoundClipper(),
+          child: FractionallySizedBox(
+            heightFactor: 0.55,
+            widthFactor: 1,
+            child: Container(color: Colors.blue[300]),
+          ),
+        ),
+        Align(
+          alignment: Alignment.topCenter,
+          child: Padding(
+            padding: const EdgeInsets.all(80.0),
+            child: Column(
+              children: [
+                lastUpdated != null
+                    ? Padding(
+                        padding: const EdgeInsets.symmetric(vertical: 50.0),
+                        child: Text(
+                          DateFormat.yMMMMd('en_US').format(lastUpdated!),
+                          style: textTheme.titleLarge!
+                              .copyWith(color: Colors.blue[900]),
+                        ),
+                      )
+                    : const SizedBox(height: 0),
+                Text(
+                  hourlySteps.fold(0, (t, e) => t + e.steps).toString(),
+                  style: textTheme.displayMedium!.copyWith(color: Colors.white),
+                ),
+                Text(
+                  'steps',
+                  style: textTheme.titleLarge!.copyWith(color: Colors.white),
+                )
+              ],
+            ),
+          ),
+        ),
+        Align(
+          alignment: Alignment.centerRight,
+          child: GestureDetector(
+            onTap: runPedometer,
+            child: Padding(
+              padding: const EdgeInsets.all(20.0),
+              child: Container(
+                decoration: BoxDecoration(
+                  color: Colors.blue[900],
+                  shape: BoxShape.circle,
+                ),
+                child: const Padding(
+                  padding: EdgeInsets.all(8.0),
+                  child: Icon(
+                    Icons.refresh,
+                    color: Colors.white,
+                    size: 50,
+                  ),
+                ),
+              ),
+            ),
+          ),
+        ),
+        Align(
+          alignment: Alignment.bottomCenter,
+          child: Padding(
+            padding:
+                const EdgeInsets.symmetric(horizontal: 30.0, vertical: 50.0),
+            child: AspectRatio(
+              aspectRatio: 1.2,
+              child: BarChart(
+                BarChartData(
+                  titlesData: FlTitlesData(
+                    show: true,
+                    // Top titles are null
+                    topTitles:
+                        AxisTitles(sideTitles: SideTitles(showTitles: false)),
+                    rightTitles:
+                        AxisTitles(sideTitles: SideTitles(showTitles: false)),
+                    leftTitles: AxisTitles(
+                      sideTitles: SideTitles(
+                        showTitles: false,
+                      ),
+                    ),
+                    bottomTitles: AxisTitles(
+                      sideTitles: SideTitles(
+                        showTitles: true,
+                        reservedSize: 30,
+                        getTitlesWidget: getBottomTitles,
+                      ),
+                    ),
+                  ),
+                  borderData: FlBorderData(
+                    show: false,
+                  ),
+                  barGroups: barGroups,
+                  gridData: FlGridData(show: false),
+                  alignment: BarChartAlignment.spaceAround,
+                ),
+              ),
+            ),
+          ),
+        ),
+      ],
+    ));
+  }
+}
+
+// Axis labels for bottom of chart
+Widget getBottomTitles(double value, TitleMeta meta) {
+  String text;
+  switch (value.toInt()) {
+    case 0:
+      text = '12AM';
+      break;
+    case 6:
+      text = '6AM';
+      break;
+    case 12:
+      text = '12PM';
+      break;
+    case 18:
+      text = '6PM';
+      break;
+    default:
+      text = '';
+  }
+  return SideTitleWidget(
+    axisSide: meta.axisSide,
+    space: 4,
+    child: Text(text, style: TextStyle(fontSize: 14, color: Colors.blue[900])),
+  );
+}
diff --git a/example/pedometer/lib/pedometer_bindings_generated.dart b/example/pedometer/lib/pedometer_bindings_generated.dart
new file mode 100644
index 0000000..b95188a
--- /dev/null
+++ b/example/pedometer/lib/pedometer_bindings_generated.dart
@@ -0,0 +1,152958 @@
+// AUTO GENERATED FILE, DO NOT EDIT.
+//
+// Generated by `package:ffigen`.
+// ignore_for_file: type=lint
+import 'dart:ffi' as ffi;
+import 'package:ffi/ffi.dart' as pkg_ffi;
+
+/// Bindings for CM pedometer
+class PedometerBindings {
+  /// Holds the symbol lookup function.
+  final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
+      _lookup;
+
+  /// The symbols are looked up in [dynamicLibrary].
+  PedometerBindings(ffi.DynamicLibrary dynamicLibrary)
+      : _lookup = dynamicLibrary.lookup;
+
+  /// The symbols are looked up with [lookup].
+  PedometerBindings.fromLookup(
+      ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
+          lookup)
+      : _lookup = lookup;
+
+  int __darwin_check_fd_set_overflow(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    int arg2,
+  ) {
+    return ___darwin_check_fd_set_overflow(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final ___darwin_check_fd_set_overflowPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Void>,
+              ffi.Int)>>('__darwin_check_fd_set_overflow');
+  late final ___darwin_check_fd_set_overflow =
+      ___darwin_check_fd_set_overflowPtr
+          .asFunction<int Function(int, ffi.Pointer<ffi.Void>, int)>();
+
+  void __assert_rtn(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    ffi.Pointer<ffi.Char> arg3,
+  ) {
+    return ___assert_rtn(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final ___assert_rtnPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Int, ffi.Pointer<ffi.Char>)>>('__assert_rtn');
+  late final ___assert_rtn = ___assert_rtnPtr.asFunction<
+      void Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int,
+          ffi.Pointer<ffi.Char>)>();
+
+  late final ffi.Pointer<_RuneLocale> __DefaultRuneLocale =
+      _lookup<_RuneLocale>('_DefaultRuneLocale');
+
+  _RuneLocale get _DefaultRuneLocale => __DefaultRuneLocale.ref;
+
+  late final ffi.Pointer<ffi.Pointer<_RuneLocale>> __CurrentRuneLocale =
+      _lookup<ffi.Pointer<_RuneLocale>>('_CurrentRuneLocale');
+
+  ffi.Pointer<_RuneLocale> get _CurrentRuneLocale => __CurrentRuneLocale.value;
+
+  set _CurrentRuneLocale(ffi.Pointer<_RuneLocale> value) =>
+      __CurrentRuneLocale.value = value;
+
+  int ___runetype(
+    int arg0,
+  ) {
+    return ____runetype(
+      arg0,
+    );
+  }
+
+  late final ____runetypePtr = _lookup<
+          ffi.NativeFunction<ffi.UnsignedLong Function(__darwin_ct_rune_t)>>(
+      '___runetype');
+  late final ____runetype = ____runetypePtr.asFunction<int Function(int)>();
+
+  int ___tolower(
+    int arg0,
+  ) {
+    return ____tolower(
+      arg0,
+    );
+  }
+
+  late final ____tolowerPtr = _lookup<
+          ffi.NativeFunction<__darwin_ct_rune_t Function(__darwin_ct_rune_t)>>(
+      '___tolower');
+  late final ____tolower = ____tolowerPtr.asFunction<int Function(int)>();
+
+  int ___toupper(
+    int arg0,
+  ) {
+    return ____toupper(
+      arg0,
+    );
+  }
+
+  late final ____toupperPtr = _lookup<
+          ffi.NativeFunction<__darwin_ct_rune_t Function(__darwin_ct_rune_t)>>(
+      '___toupper');
+  late final ____toupper = ____toupperPtr.asFunction<int Function(int)>();
+
+  int __maskrune(
+    int arg0,
+    int arg1,
+  ) {
+    return ___maskrune(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final ___maskrunePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              __darwin_ct_rune_t, ffi.UnsignedLong)>>('__maskrune');
+  late final ___maskrune = ___maskrunePtr.asFunction<int Function(int, int)>();
+
+  int __toupper(
+    int arg0,
+  ) {
+    return ___toupper1(
+      arg0,
+    );
+  }
+
+  late final ___toupperPtr = _lookup<
+          ffi.NativeFunction<__darwin_ct_rune_t Function(__darwin_ct_rune_t)>>(
+      '__toupper');
+  late final ___toupper1 = ___toupperPtr.asFunction<int Function(int)>();
+
+  int __tolower(
+    int arg0,
+  ) {
+    return ___tolower1(
+      arg0,
+    );
+  }
+
+  late final ___tolowerPtr = _lookup<
+          ffi.NativeFunction<__darwin_ct_rune_t Function(__darwin_ct_rune_t)>>(
+      '__tolower');
+  late final ___tolower1 = ___tolowerPtr.asFunction<int Function(int)>();
+
+  ffi.Pointer<ffi.Int> __error() {
+    return ___error();
+  }
+
+  late final ___errorPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Int> Function()>>('__error');
+  late final ___error =
+      ___errorPtr.asFunction<ffi.Pointer<ffi.Int> Function()>();
+
+  ffi.Pointer<lconv> localeconv() {
+    return _localeconv();
+  }
+
+  late final _localeconvPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<lconv> Function()>>('localeconv');
+  late final _localeconv =
+      _localeconvPtr.asFunction<ffi.Pointer<lconv> Function()>();
+
+  ffi.Pointer<ffi.Char> setlocale(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _setlocale(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setlocalePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Int, ffi.Pointer<ffi.Char>)>>('setlocale');
+  late final _setlocale = _setlocalePtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(int, ffi.Pointer<ffi.Char>)>();
+
+  int __math_errhandling() {
+    return ___math_errhandling();
+  }
+
+  late final ___math_errhandlingPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('__math_errhandling');
+  late final ___math_errhandling =
+      ___math_errhandlingPtr.asFunction<int Function()>();
+
+  int __fpclassifyf(
+    double arg0,
+  ) {
+    return ___fpclassifyf(
+      arg0,
+    );
+  }
+
+  late final ___fpclassifyfPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Float)>>('__fpclassifyf');
+  late final ___fpclassifyf =
+      ___fpclassifyfPtr.asFunction<int Function(double)>();
+
+  int __fpclassifyd(
+    double arg0,
+  ) {
+    return ___fpclassifyd(
+      arg0,
+    );
+  }
+
+  late final ___fpclassifydPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Double)>>(
+          '__fpclassifyd');
+  late final ___fpclassifyd =
+      ___fpclassifydPtr.asFunction<int Function(double)>();
+
+  /// *
+  /// Math Functions                                *
+  /// *
+  double acosf(
+    double arg0,
+  ) {
+    return _acosf(
+      arg0,
+    );
+  }
+
+  late final _acosfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('acosf');
+  late final _acosf = _acosfPtr.asFunction<double Function(double)>();
+
+  double acos(
+    double arg0,
+  ) {
+    return _acos(
+      arg0,
+    );
+  }
+
+  late final _acosPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('acos');
+  late final _acos = _acosPtr.asFunction<double Function(double)>();
+
+  double asinf(
+    double arg0,
+  ) {
+    return _asinf(
+      arg0,
+    );
+  }
+
+  late final _asinfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('asinf');
+  late final _asinf = _asinfPtr.asFunction<double Function(double)>();
+
+  double asin(
+    double arg0,
+  ) {
+    return _asin(
+      arg0,
+    );
+  }
+
+  late final _asinPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('asin');
+  late final _asin = _asinPtr.asFunction<double Function(double)>();
+
+  double atanf(
+    double arg0,
+  ) {
+    return _atanf(
+      arg0,
+    );
+  }
+
+  late final _atanfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('atanf');
+  late final _atanf = _atanfPtr.asFunction<double Function(double)>();
+
+  double atan(
+    double arg0,
+  ) {
+    return _atan(
+      arg0,
+    );
+  }
+
+  late final _atanPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('atan');
+  late final _atan = _atanPtr.asFunction<double Function(double)>();
+
+  double atan2f(
+    double arg0,
+    double arg1,
+  ) {
+    return _atan2f(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _atan2fPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'atan2f');
+  late final _atan2f = _atan2fPtr.asFunction<double Function(double, double)>();
+
+  double atan2(
+    double arg0,
+    double arg1,
+  ) {
+    return _atan2(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _atan2Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'atan2');
+  late final _atan2 = _atan2Ptr.asFunction<double Function(double, double)>();
+
+  double cosf(
+    double arg0,
+  ) {
+    return _cosf(
+      arg0,
+    );
+  }
+
+  late final _cosfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('cosf');
+  late final _cosf = _cosfPtr.asFunction<double Function(double)>();
+
+  double cos(
+    double arg0,
+  ) {
+    return _cos(
+      arg0,
+    );
+  }
+
+  late final _cosPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('cos');
+  late final _cos = _cosPtr.asFunction<double Function(double)>();
+
+  double sinf(
+    double arg0,
+  ) {
+    return _sinf(
+      arg0,
+    );
+  }
+
+  late final _sinfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('sinf');
+  late final _sinf = _sinfPtr.asFunction<double Function(double)>();
+
+  double sin(
+    double arg0,
+  ) {
+    return _sin(
+      arg0,
+    );
+  }
+
+  late final _sinPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('sin');
+  late final _sin = _sinPtr.asFunction<double Function(double)>();
+
+  double tanf(
+    double arg0,
+  ) {
+    return _tanf(
+      arg0,
+    );
+  }
+
+  late final _tanfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('tanf');
+  late final _tanf = _tanfPtr.asFunction<double Function(double)>();
+
+  double tan(
+    double arg0,
+  ) {
+    return _tan(
+      arg0,
+    );
+  }
+
+  late final _tanPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('tan');
+  late final _tan = _tanPtr.asFunction<double Function(double)>();
+
+  double acoshf(
+    double arg0,
+  ) {
+    return _acoshf(
+      arg0,
+    );
+  }
+
+  late final _acoshfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('acoshf');
+  late final _acoshf = _acoshfPtr.asFunction<double Function(double)>();
+
+  double acosh(
+    double arg0,
+  ) {
+    return _acosh(
+      arg0,
+    );
+  }
+
+  late final _acoshPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('acosh');
+  late final _acosh = _acoshPtr.asFunction<double Function(double)>();
+
+  double asinhf(
+    double arg0,
+  ) {
+    return _asinhf(
+      arg0,
+    );
+  }
+
+  late final _asinhfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('asinhf');
+  late final _asinhf = _asinhfPtr.asFunction<double Function(double)>();
+
+  double asinh(
+    double arg0,
+  ) {
+    return _asinh(
+      arg0,
+    );
+  }
+
+  late final _asinhPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('asinh');
+  late final _asinh = _asinhPtr.asFunction<double Function(double)>();
+
+  double atanhf(
+    double arg0,
+  ) {
+    return _atanhf(
+      arg0,
+    );
+  }
+
+  late final _atanhfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('atanhf');
+  late final _atanhf = _atanhfPtr.asFunction<double Function(double)>();
+
+  double atanh(
+    double arg0,
+  ) {
+    return _atanh(
+      arg0,
+    );
+  }
+
+  late final _atanhPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('atanh');
+  late final _atanh = _atanhPtr.asFunction<double Function(double)>();
+
+  double coshf(
+    double arg0,
+  ) {
+    return _coshf(
+      arg0,
+    );
+  }
+
+  late final _coshfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('coshf');
+  late final _coshf = _coshfPtr.asFunction<double Function(double)>();
+
+  double cosh(
+    double arg0,
+  ) {
+    return _cosh(
+      arg0,
+    );
+  }
+
+  late final _coshPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('cosh');
+  late final _cosh = _coshPtr.asFunction<double Function(double)>();
+
+  double sinhf(
+    double arg0,
+  ) {
+    return _sinhf(
+      arg0,
+    );
+  }
+
+  late final _sinhfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('sinhf');
+  late final _sinhf = _sinhfPtr.asFunction<double Function(double)>();
+
+  double sinh(
+    double arg0,
+  ) {
+    return _sinh(
+      arg0,
+    );
+  }
+
+  late final _sinhPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('sinh');
+  late final _sinh = _sinhPtr.asFunction<double Function(double)>();
+
+  double tanhf(
+    double arg0,
+  ) {
+    return _tanhf(
+      arg0,
+    );
+  }
+
+  late final _tanhfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('tanhf');
+  late final _tanhf = _tanhfPtr.asFunction<double Function(double)>();
+
+  double tanh(
+    double arg0,
+  ) {
+    return _tanh(
+      arg0,
+    );
+  }
+
+  late final _tanhPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('tanh');
+  late final _tanh = _tanhPtr.asFunction<double Function(double)>();
+
+  double expf(
+    double arg0,
+  ) {
+    return _expf(
+      arg0,
+    );
+  }
+
+  late final _expfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('expf');
+  late final _expf = _expfPtr.asFunction<double Function(double)>();
+
+  double exp(
+    double arg0,
+  ) {
+    return _exp(
+      arg0,
+    );
+  }
+
+  late final _expPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('exp');
+  late final _exp = _expPtr.asFunction<double Function(double)>();
+
+  double exp2f(
+    double arg0,
+  ) {
+    return _exp2f(
+      arg0,
+    );
+  }
+
+  late final _exp2fPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('exp2f');
+  late final _exp2f = _exp2fPtr.asFunction<double Function(double)>();
+
+  double exp2(
+    double arg0,
+  ) {
+    return _exp2(
+      arg0,
+    );
+  }
+
+  late final _exp2Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('exp2');
+  late final _exp2 = _exp2Ptr.asFunction<double Function(double)>();
+
+  double expm1f(
+    double arg0,
+  ) {
+    return _expm1f(
+      arg0,
+    );
+  }
+
+  late final _expm1fPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('expm1f');
+  late final _expm1f = _expm1fPtr.asFunction<double Function(double)>();
+
+  double expm1(
+    double arg0,
+  ) {
+    return _expm1(
+      arg0,
+    );
+  }
+
+  late final _expm1Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('expm1');
+  late final _expm1 = _expm1Ptr.asFunction<double Function(double)>();
+
+  double logf(
+    double arg0,
+  ) {
+    return _logf(
+      arg0,
+    );
+  }
+
+  late final _logfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('logf');
+  late final _logf = _logfPtr.asFunction<double Function(double)>();
+
+  double log(
+    double arg0,
+  ) {
+    return _log(
+      arg0,
+    );
+  }
+
+  late final _logPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('log');
+  late final _log = _logPtr.asFunction<double Function(double)>();
+
+  double log10f(
+    double arg0,
+  ) {
+    return _log10f(
+      arg0,
+    );
+  }
+
+  late final _log10fPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('log10f');
+  late final _log10f = _log10fPtr.asFunction<double Function(double)>();
+
+  double log10(
+    double arg0,
+  ) {
+    return _log10(
+      arg0,
+    );
+  }
+
+  late final _log10Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('log10');
+  late final _log10 = _log10Ptr.asFunction<double Function(double)>();
+
+  double log2f(
+    double arg0,
+  ) {
+    return _log2f(
+      arg0,
+    );
+  }
+
+  late final _log2fPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('log2f');
+  late final _log2f = _log2fPtr.asFunction<double Function(double)>();
+
+  double log2(
+    double arg0,
+  ) {
+    return _log2(
+      arg0,
+    );
+  }
+
+  late final _log2Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('log2');
+  late final _log2 = _log2Ptr.asFunction<double Function(double)>();
+
+  double log1pf(
+    double arg0,
+  ) {
+    return _log1pf(
+      arg0,
+    );
+  }
+
+  late final _log1pfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('log1pf');
+  late final _log1pf = _log1pfPtr.asFunction<double Function(double)>();
+
+  double log1p(
+    double arg0,
+  ) {
+    return _log1p(
+      arg0,
+    );
+  }
+
+  late final _log1pPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('log1p');
+  late final _log1p = _log1pPtr.asFunction<double Function(double)>();
+
+  double logbf(
+    double arg0,
+  ) {
+    return _logbf(
+      arg0,
+    );
+  }
+
+  late final _logbfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('logbf');
+  late final _logbf = _logbfPtr.asFunction<double Function(double)>();
+
+  double logb(
+    double arg0,
+  ) {
+    return _logb(
+      arg0,
+    );
+  }
+
+  late final _logbPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('logb');
+  late final _logb = _logbPtr.asFunction<double Function(double)>();
+
+  double modff(
+    double arg0,
+    ffi.Pointer<ffi.Float> arg1,
+  ) {
+    return _modff(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _modffPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Float Function(ffi.Float, ffi.Pointer<ffi.Float>)>>('modff');
+  late final _modff =
+      _modffPtr.asFunction<double Function(double, ffi.Pointer<ffi.Float>)>();
+
+  double modf(
+    double arg0,
+    ffi.Pointer<ffi.Double> arg1,
+  ) {
+    return _modf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _modfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Double Function(ffi.Double, ffi.Pointer<ffi.Double>)>>('modf');
+  late final _modf =
+      _modfPtr.asFunction<double Function(double, ffi.Pointer<ffi.Double>)>();
+
+  double ldexpf(
+    double arg0,
+    int arg1,
+  ) {
+    return _ldexpf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ldexpfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Int)>>(
+          'ldexpf');
+  late final _ldexpf = _ldexpfPtr.asFunction<double Function(double, int)>();
+
+  double ldexp(
+    double arg0,
+    int arg1,
+  ) {
+    return _ldexp(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ldexpPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Int)>>(
+          'ldexp');
+  late final _ldexp = _ldexpPtr.asFunction<double Function(double, int)>();
+
+  double frexpf(
+    double arg0,
+    ffi.Pointer<ffi.Int> arg1,
+  ) {
+    return _frexpf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _frexpfPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Float Function(ffi.Float, ffi.Pointer<ffi.Int>)>>(
+      'frexpf');
+  late final _frexpf =
+      _frexpfPtr.asFunction<double Function(double, ffi.Pointer<ffi.Int>)>();
+
+  double frexp(
+    double arg0,
+    ffi.Pointer<ffi.Int> arg1,
+  ) {
+    return _frexp(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _frexpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Double Function(ffi.Double, ffi.Pointer<ffi.Int>)>>('frexp');
+  late final _frexp =
+      _frexpPtr.asFunction<double Function(double, ffi.Pointer<ffi.Int>)>();
+
+  int ilogbf(
+    double arg0,
+  ) {
+    return _ilogbf(
+      arg0,
+    );
+  }
+
+  late final _ilogbfPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Float)>>('ilogbf');
+  late final _ilogbf = _ilogbfPtr.asFunction<int Function(double)>();
+
+  int ilogb(
+    double arg0,
+  ) {
+    return _ilogb(
+      arg0,
+    );
+  }
+
+  late final _ilogbPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Double)>>('ilogb');
+  late final _ilogb = _ilogbPtr.asFunction<int Function(double)>();
+
+  double scalbnf(
+    double arg0,
+    int arg1,
+  ) {
+    return _scalbnf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _scalbnfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Int)>>(
+          'scalbnf');
+  late final _scalbnf = _scalbnfPtr.asFunction<double Function(double, int)>();
+
+  double scalbn(
+    double arg0,
+    int arg1,
+  ) {
+    return _scalbn(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _scalbnPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Int)>>(
+          'scalbn');
+  late final _scalbn = _scalbnPtr.asFunction<double Function(double, int)>();
+
+  double scalblnf(
+    double arg0,
+    int arg1,
+  ) {
+    return _scalblnf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _scalblnfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Long)>>(
+          'scalblnf');
+  late final _scalblnf =
+      _scalblnfPtr.asFunction<double Function(double, int)>();
+
+  double scalbln(
+    double arg0,
+    int arg1,
+  ) {
+    return _scalbln(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _scalblnPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Long)>>(
+          'scalbln');
+  late final _scalbln = _scalblnPtr.asFunction<double Function(double, int)>();
+
+  double fabsf(
+    double arg0,
+  ) {
+    return _fabsf(
+      arg0,
+    );
+  }
+
+  late final _fabsfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('fabsf');
+  late final _fabsf = _fabsfPtr.asFunction<double Function(double)>();
+
+  double fabs(
+    double arg0,
+  ) {
+    return _fabs(
+      arg0,
+    );
+  }
+
+  late final _fabsPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('fabs');
+  late final _fabs = _fabsPtr.asFunction<double Function(double)>();
+
+  double cbrtf(
+    double arg0,
+  ) {
+    return _cbrtf(
+      arg0,
+    );
+  }
+
+  late final _cbrtfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('cbrtf');
+  late final _cbrtf = _cbrtfPtr.asFunction<double Function(double)>();
+
+  double cbrt(
+    double arg0,
+  ) {
+    return _cbrt(
+      arg0,
+    );
+  }
+
+  late final _cbrtPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('cbrt');
+  late final _cbrt = _cbrtPtr.asFunction<double Function(double)>();
+
+  double hypotf(
+    double arg0,
+    double arg1,
+  ) {
+    return _hypotf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _hypotfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'hypotf');
+  late final _hypotf = _hypotfPtr.asFunction<double Function(double, double)>();
+
+  double hypot(
+    double arg0,
+    double arg1,
+  ) {
+    return _hypot(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _hypotPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'hypot');
+  late final _hypot = _hypotPtr.asFunction<double Function(double, double)>();
+
+  double powf(
+    double arg0,
+    double arg1,
+  ) {
+    return _powf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _powfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'powf');
+  late final _powf = _powfPtr.asFunction<double Function(double, double)>();
+
+  double pow(
+    double arg0,
+    double arg1,
+  ) {
+    return _pow(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _powPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'pow');
+  late final _pow = _powPtr.asFunction<double Function(double, double)>();
+
+  double sqrtf(
+    double arg0,
+  ) {
+    return _sqrtf(
+      arg0,
+    );
+  }
+
+  late final _sqrtfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('sqrtf');
+  late final _sqrtf = _sqrtfPtr.asFunction<double Function(double)>();
+
+  double sqrt(
+    double arg0,
+  ) {
+    return _sqrt(
+      arg0,
+    );
+  }
+
+  late final _sqrtPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('sqrt');
+  late final _sqrt = _sqrtPtr.asFunction<double Function(double)>();
+
+  double erff(
+    double arg0,
+  ) {
+    return _erff(
+      arg0,
+    );
+  }
+
+  late final _erffPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('erff');
+  late final _erff = _erffPtr.asFunction<double Function(double)>();
+
+  double erf(
+    double arg0,
+  ) {
+    return _erf(
+      arg0,
+    );
+  }
+
+  late final _erfPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('erf');
+  late final _erf = _erfPtr.asFunction<double Function(double)>();
+
+  double erfcf(
+    double arg0,
+  ) {
+    return _erfcf(
+      arg0,
+    );
+  }
+
+  late final _erfcfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('erfcf');
+  late final _erfcf = _erfcfPtr.asFunction<double Function(double)>();
+
+  double erfc(
+    double arg0,
+  ) {
+    return _erfc(
+      arg0,
+    );
+  }
+
+  late final _erfcPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('erfc');
+  late final _erfc = _erfcPtr.asFunction<double Function(double)>();
+
+  double lgammaf(
+    double arg0,
+  ) {
+    return _lgammaf(
+      arg0,
+    );
+  }
+
+  late final _lgammafPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('lgammaf');
+  late final _lgammaf = _lgammafPtr.asFunction<double Function(double)>();
+
+  double lgamma(
+    double arg0,
+  ) {
+    return _lgamma(
+      arg0,
+    );
+  }
+
+  late final _lgammaPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('lgamma');
+  late final _lgamma = _lgammaPtr.asFunction<double Function(double)>();
+
+  double tgammaf(
+    double arg0,
+  ) {
+    return _tgammaf(
+      arg0,
+    );
+  }
+
+  late final _tgammafPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('tgammaf');
+  late final _tgammaf = _tgammafPtr.asFunction<double Function(double)>();
+
+  double tgamma(
+    double arg0,
+  ) {
+    return _tgamma(
+      arg0,
+    );
+  }
+
+  late final _tgammaPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('tgamma');
+  late final _tgamma = _tgammaPtr.asFunction<double Function(double)>();
+
+  double ceilf(
+    double arg0,
+  ) {
+    return _ceilf(
+      arg0,
+    );
+  }
+
+  late final _ceilfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('ceilf');
+  late final _ceilf = _ceilfPtr.asFunction<double Function(double)>();
+
+  double ceil(
+    double arg0,
+  ) {
+    return _ceil(
+      arg0,
+    );
+  }
+
+  late final _ceilPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('ceil');
+  late final _ceil = _ceilPtr.asFunction<double Function(double)>();
+
+  double floorf(
+    double arg0,
+  ) {
+    return _floorf(
+      arg0,
+    );
+  }
+
+  late final _floorfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('floorf');
+  late final _floorf = _floorfPtr.asFunction<double Function(double)>();
+
+  double floor(
+    double arg0,
+  ) {
+    return _floor(
+      arg0,
+    );
+  }
+
+  late final _floorPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('floor');
+  late final _floor = _floorPtr.asFunction<double Function(double)>();
+
+  double nearbyintf(
+    double arg0,
+  ) {
+    return _nearbyintf(
+      arg0,
+    );
+  }
+
+  late final _nearbyintfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('nearbyintf');
+  late final _nearbyintf = _nearbyintfPtr.asFunction<double Function(double)>();
+
+  double nearbyint(
+    double arg0,
+  ) {
+    return _nearbyint(
+      arg0,
+    );
+  }
+
+  late final _nearbyintPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('nearbyint');
+  late final _nearbyint = _nearbyintPtr.asFunction<double Function(double)>();
+
+  double rintf(
+    double arg0,
+  ) {
+    return _rintf(
+      arg0,
+    );
+  }
+
+  late final _rintfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('rintf');
+  late final _rintf = _rintfPtr.asFunction<double Function(double)>();
+
+  double rint(
+    double arg0,
+  ) {
+    return _rint(
+      arg0,
+    );
+  }
+
+  late final _rintPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('rint');
+  late final _rint = _rintPtr.asFunction<double Function(double)>();
+
+  int lrintf(
+    double arg0,
+  ) {
+    return _lrintf(
+      arg0,
+    );
+  }
+
+  late final _lrintfPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Float)>>('lrintf');
+  late final _lrintf = _lrintfPtr.asFunction<int Function(double)>();
+
+  int lrint(
+    double arg0,
+  ) {
+    return _lrint(
+      arg0,
+    );
+  }
+
+  late final _lrintPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Double)>>('lrint');
+  late final _lrint = _lrintPtr.asFunction<int Function(double)>();
+
+  double roundf(
+    double arg0,
+  ) {
+    return _roundf(
+      arg0,
+    );
+  }
+
+  late final _roundfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('roundf');
+  late final _roundf = _roundfPtr.asFunction<double Function(double)>();
+
+  double round(
+    double arg0,
+  ) {
+    return _round(
+      arg0,
+    );
+  }
+
+  late final _roundPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('round');
+  late final _round = _roundPtr.asFunction<double Function(double)>();
+
+  int lroundf(
+    double arg0,
+  ) {
+    return _lroundf(
+      arg0,
+    );
+  }
+
+  late final _lroundfPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Float)>>('lroundf');
+  late final _lroundf = _lroundfPtr.asFunction<int Function(double)>();
+
+  int lround(
+    double arg0,
+  ) {
+    return _lround(
+      arg0,
+    );
+  }
+
+  late final _lroundPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Double)>>('lround');
+  late final _lround = _lroundPtr.asFunction<int Function(double)>();
+
+  int llrintf(
+    double arg0,
+  ) {
+    return _llrintf(
+      arg0,
+    );
+  }
+
+  late final _llrintfPtr =
+      _lookup<ffi.NativeFunction<ffi.LongLong Function(ffi.Float)>>('llrintf');
+  late final _llrintf = _llrintfPtr.asFunction<int Function(double)>();
+
+  int llrint(
+    double arg0,
+  ) {
+    return _llrint(
+      arg0,
+    );
+  }
+
+  late final _llrintPtr =
+      _lookup<ffi.NativeFunction<ffi.LongLong Function(ffi.Double)>>('llrint');
+  late final _llrint = _llrintPtr.asFunction<int Function(double)>();
+
+  int llroundf(
+    double arg0,
+  ) {
+    return _llroundf(
+      arg0,
+    );
+  }
+
+  late final _llroundfPtr =
+      _lookup<ffi.NativeFunction<ffi.LongLong Function(ffi.Float)>>('llroundf');
+  late final _llroundf = _llroundfPtr.asFunction<int Function(double)>();
+
+  int llround(
+    double arg0,
+  ) {
+    return _llround(
+      arg0,
+    );
+  }
+
+  late final _llroundPtr =
+      _lookup<ffi.NativeFunction<ffi.LongLong Function(ffi.Double)>>('llround');
+  late final _llround = _llroundPtr.asFunction<int Function(double)>();
+
+  double truncf(
+    double arg0,
+  ) {
+    return _truncf(
+      arg0,
+    );
+  }
+
+  late final _truncfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('truncf');
+  late final _truncf = _truncfPtr.asFunction<double Function(double)>();
+
+  double trunc(
+    double arg0,
+  ) {
+    return _trunc(
+      arg0,
+    );
+  }
+
+  late final _truncPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('trunc');
+  late final _trunc = _truncPtr.asFunction<double Function(double)>();
+
+  double fmodf(
+    double arg0,
+    double arg1,
+  ) {
+    return _fmodf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fmodfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'fmodf');
+  late final _fmodf = _fmodfPtr.asFunction<double Function(double, double)>();
+
+  double fmod(
+    double arg0,
+    double arg1,
+  ) {
+    return _fmod(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fmodPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'fmod');
+  late final _fmod = _fmodPtr.asFunction<double Function(double, double)>();
+
+  double remainderf(
+    double arg0,
+    double arg1,
+  ) {
+    return _remainderf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _remainderfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'remainderf');
+  late final _remainderf =
+      _remainderfPtr.asFunction<double Function(double, double)>();
+
+  double remainder(
+    double arg0,
+    double arg1,
+  ) {
+    return _remainder(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _remainderPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'remainder');
+  late final _remainder =
+      _remainderPtr.asFunction<double Function(double, double)>();
+
+  double remquof(
+    double arg0,
+    double arg1,
+    ffi.Pointer<ffi.Int> arg2,
+  ) {
+    return _remquof(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _remquofPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Float Function(
+              ffi.Float, ffi.Float, ffi.Pointer<ffi.Int>)>>('remquof');
+  late final _remquof = _remquofPtr
+      .asFunction<double Function(double, double, ffi.Pointer<ffi.Int>)>();
+
+  double remquo(
+    double arg0,
+    double arg1,
+    ffi.Pointer<ffi.Int> arg2,
+  ) {
+    return _remquo(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _remquoPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Double Function(
+              ffi.Double, ffi.Double, ffi.Pointer<ffi.Int>)>>('remquo');
+  late final _remquo = _remquoPtr
+      .asFunction<double Function(double, double, ffi.Pointer<ffi.Int>)>();
+
+  double copysignf(
+    double arg0,
+    double arg1,
+  ) {
+    return _copysignf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _copysignfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'copysignf');
+  late final _copysignf =
+      _copysignfPtr.asFunction<double Function(double, double)>();
+
+  double copysign(
+    double arg0,
+    double arg1,
+  ) {
+    return _copysign(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _copysignPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'copysign');
+  late final _copysign =
+      _copysignPtr.asFunction<double Function(double, double)>();
+
+  double nanf(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _nanf(
+      arg0,
+    );
+  }
+
+  late final _nanfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Pointer<ffi.Char>)>>(
+          'nanf');
+  late final _nanf =
+      _nanfPtr.asFunction<double Function(ffi.Pointer<ffi.Char>)>();
+
+  double nan(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _nan(
+      arg0,
+    );
+  }
+
+  late final _nanPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Pointer<ffi.Char>)>>(
+          'nan');
+  late final _nan =
+      _nanPtr.asFunction<double Function(ffi.Pointer<ffi.Char>)>();
+
+  double nextafterf(
+    double arg0,
+    double arg1,
+  ) {
+    return _nextafterf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _nextafterfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'nextafterf');
+  late final _nextafterf =
+      _nextafterfPtr.asFunction<double Function(double, double)>();
+
+  double nextafter(
+    double arg0,
+    double arg1,
+  ) {
+    return _nextafter(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _nextafterPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'nextafter');
+  late final _nextafter =
+      _nextafterPtr.asFunction<double Function(double, double)>();
+
+  double fdimf(
+    double arg0,
+    double arg1,
+  ) {
+    return _fdimf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fdimfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'fdimf');
+  late final _fdimf = _fdimfPtr.asFunction<double Function(double, double)>();
+
+  double fdim(
+    double arg0,
+    double arg1,
+  ) {
+    return _fdim(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fdimPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'fdim');
+  late final _fdim = _fdimPtr.asFunction<double Function(double, double)>();
+
+  double fmaxf(
+    double arg0,
+    double arg1,
+  ) {
+    return _fmaxf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fmaxfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'fmaxf');
+  late final _fmaxf = _fmaxfPtr.asFunction<double Function(double, double)>();
+
+  double fmax(
+    double arg0,
+    double arg1,
+  ) {
+    return _fmax(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fmaxPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'fmax');
+  late final _fmax = _fmaxPtr.asFunction<double Function(double, double)>();
+
+  double fminf(
+    double arg0,
+    double arg1,
+  ) {
+    return _fminf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fminfPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float, ffi.Float)>>(
+          'fminf');
+  late final _fminf = _fminfPtr.asFunction<double Function(double, double)>();
+
+  double fmin(
+    double arg0,
+    double arg1,
+  ) {
+    return _fmin(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fminPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'fmin');
+  late final _fmin = _fminPtr.asFunction<double Function(double, double)>();
+
+  double fmaf(
+    double arg0,
+    double arg1,
+    double arg2,
+  ) {
+    return _fmaf(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _fmafPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Float Function(ffi.Float, ffi.Float, ffi.Float)>>(
+      'fmaf');
+  late final _fmaf =
+      _fmafPtr.asFunction<double Function(double, double, double)>();
+
+  double fma(
+    double arg0,
+    double arg1,
+    double arg2,
+  ) {
+    return _fma(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _fmaPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Double Function(ffi.Double, ffi.Double, ffi.Double)>>('fma');
+  late final _fma =
+      _fmaPtr.asFunction<double Function(double, double, double)>();
+
+  double __inff() {
+    return ___inff();
+  }
+
+  late final ___inffPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function()>>('__inff');
+  late final ___inff = ___inffPtr.asFunction<double Function()>();
+
+  double __inf() {
+    return ___inf();
+  }
+
+  late final ___infPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function()>>('__inf');
+  late final ___inf = ___infPtr.asFunction<double Function()>();
+
+  double __nan() {
+    return ___nan();
+  }
+
+  late final ___nanPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function()>>('__nan');
+  late final ___nan = ___nanPtr.asFunction<double Function()>();
+
+  /// Apple extensions to the C standard                                        *
+  double __exp10f(
+    double arg0,
+  ) {
+    return ___exp10f(
+      arg0,
+    );
+  }
+
+  late final ___exp10fPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('__exp10f');
+  late final ___exp10f = ___exp10fPtr.asFunction<double Function(double)>();
+
+  double __exp10(
+    double arg0,
+  ) {
+    return ___exp10(
+      arg0,
+    );
+  }
+
+  late final ___exp10Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('__exp10');
+  late final ___exp10 = ___exp10Ptr.asFunction<double Function(double)>();
+
+  double __cospif(
+    double arg0,
+  ) {
+    return ___cospif(
+      arg0,
+    );
+  }
+
+  late final ___cospifPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('__cospif');
+  late final ___cospif = ___cospifPtr.asFunction<double Function(double)>();
+
+  double __cospi(
+    double arg0,
+  ) {
+    return ___cospi(
+      arg0,
+    );
+  }
+
+  late final ___cospiPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('__cospi');
+  late final ___cospi = ___cospiPtr.asFunction<double Function(double)>();
+
+  double __sinpif(
+    double arg0,
+  ) {
+    return ___sinpif(
+      arg0,
+    );
+  }
+
+  late final ___sinpifPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('__sinpif');
+  late final ___sinpif = ___sinpifPtr.asFunction<double Function(double)>();
+
+  double __sinpi(
+    double arg0,
+  ) {
+    return ___sinpi(
+      arg0,
+    );
+  }
+
+  late final ___sinpiPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('__sinpi');
+  late final ___sinpi = ___sinpiPtr.asFunction<double Function(double)>();
+
+  double __tanpif(
+    double arg0,
+  ) {
+    return ___tanpif(
+      arg0,
+    );
+  }
+
+  late final ___tanpifPtr =
+      _lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>('__tanpif');
+  late final ___tanpif = ___tanpifPtr.asFunction<double Function(double)>();
+
+  double __tanpi(
+    double arg0,
+  ) {
+    return ___tanpi(
+      arg0,
+    );
+  }
+
+  late final ___tanpiPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('__tanpi');
+  late final ___tanpi = ___tanpiPtr.asFunction<double Function(double)>();
+
+  __float2 __sincosf_stret(
+    double arg0,
+  ) {
+    return ___sincosf_stret(
+      arg0,
+    );
+  }
+
+  late final ___sincosf_stretPtr =
+      _lookup<ffi.NativeFunction<__float2 Function(ffi.Float)>>(
+          '__sincosf_stret');
+  late final ___sincosf_stret =
+      ___sincosf_stretPtr.asFunction<__float2 Function(double)>();
+
+  __double2 __sincos_stret(
+    double arg0,
+  ) {
+    return ___sincos_stret(
+      arg0,
+    );
+  }
+
+  late final ___sincos_stretPtr =
+      _lookup<ffi.NativeFunction<__double2 Function(ffi.Double)>>(
+          '__sincos_stret');
+  late final ___sincos_stret =
+      ___sincos_stretPtr.asFunction<__double2 Function(double)>();
+
+  __float2 __sincospif_stret(
+    double arg0,
+  ) {
+    return ___sincospif_stret(
+      arg0,
+    );
+  }
+
+  late final ___sincospif_stretPtr =
+      _lookup<ffi.NativeFunction<__float2 Function(ffi.Float)>>(
+          '__sincospif_stret');
+  late final ___sincospif_stret =
+      ___sincospif_stretPtr.asFunction<__float2 Function(double)>();
+
+  __double2 __sincospi_stret(
+    double arg0,
+  ) {
+    return ___sincospi_stret(
+      arg0,
+    );
+  }
+
+  late final ___sincospi_stretPtr =
+      _lookup<ffi.NativeFunction<__double2 Function(ffi.Double)>>(
+          '__sincospi_stret');
+  late final ___sincospi_stret =
+      ___sincospi_stretPtr.asFunction<__double2 Function(double)>();
+
+  double j0(
+    double arg0,
+  ) {
+    return _j0(
+      arg0,
+    );
+  }
+
+  late final _j0Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('j0');
+  late final _j0 = _j0Ptr.asFunction<double Function(double)>();
+
+  double j1(
+    double arg0,
+  ) {
+    return _j1(
+      arg0,
+    );
+  }
+
+  late final _j1Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('j1');
+  late final _j1 = _j1Ptr.asFunction<double Function(double)>();
+
+  double jn(
+    int arg0,
+    double arg1,
+  ) {
+    return _jn(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _jnPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Int, ffi.Double)>>(
+          'jn');
+  late final _jn = _jnPtr.asFunction<double Function(int, double)>();
+
+  double y0(
+    double arg0,
+  ) {
+    return _y0(
+      arg0,
+    );
+  }
+
+  late final _y0Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('y0');
+  late final _y0 = _y0Ptr.asFunction<double Function(double)>();
+
+  double y1(
+    double arg0,
+  ) {
+    return _y1(
+      arg0,
+    );
+  }
+
+  late final _y1Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('y1');
+  late final _y1 = _y1Ptr.asFunction<double Function(double)>();
+
+  double yn(
+    int arg0,
+    double arg1,
+  ) {
+    return _yn(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ynPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Int, ffi.Double)>>(
+          'yn');
+  late final _yn = _ynPtr.asFunction<double Function(int, double)>();
+
+  double scalb(
+    double arg0,
+    double arg1,
+  ) {
+    return _scalb(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _scalbPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'scalb');
+  late final _scalb = _scalbPtr.asFunction<double Function(double, double)>();
+
+  late final ffi.Pointer<ffi.Int> _signgam = _lookup<ffi.Int>('signgam');
+
+  int get signgam => _signgam.value;
+
+  set signgam(int value) => _signgam.value = value;
+
+  int rinttol(
+    double arg0,
+  ) {
+    return _rinttol(
+      arg0,
+    );
+  }
+
+  late final _rinttolPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Double)>>('rinttol');
+  late final _rinttol = _rinttolPtr.asFunction<int Function(double)>();
+
+  int roundtol(
+    double arg0,
+  ) {
+    return _roundtol(
+      arg0,
+    );
+  }
+
+  late final _roundtolPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Double)>>('roundtol');
+  late final _roundtol = _roundtolPtr.asFunction<int Function(double)>();
+
+  double drem(
+    double arg0,
+    double arg1,
+  ) {
+    return _drem(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _dremPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double, ffi.Double)>>(
+          'drem');
+  late final _drem = _dremPtr.asFunction<double Function(double, double)>();
+
+  int finite(
+    double arg0,
+  ) {
+    return _finite(
+      arg0,
+    );
+  }
+
+  late final _finitePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Double)>>('finite');
+  late final _finite = _finitePtr.asFunction<int Function(double)>();
+
+  double gamma(
+    double arg0,
+  ) {
+    return _gamma(
+      arg0,
+    );
+  }
+
+  late final _gammaPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>('gamma');
+  late final _gamma = _gammaPtr.asFunction<double Function(double)>();
+
+  double significand(
+    double arg0,
+  ) {
+    return _significand(
+      arg0,
+    );
+  }
+
+  late final _significandPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>(
+          'significand');
+  late final _significand =
+      _significandPtr.asFunction<double Function(double)>();
+
+  int setjmp(
+    ffi.Pointer<ffi.Int> arg0,
+  ) {
+    return _setjmp1(
+      arg0,
+    );
+  }
+
+  late final _setjmpPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Int>)>>(
+          'setjmp');
+  late final _setjmp1 =
+      _setjmpPtr.asFunction<int Function(ffi.Pointer<ffi.Int>)>();
+
+  void longjmp(
+    ffi.Pointer<ffi.Int> arg0,
+    int arg1,
+  ) {
+    return _longjmp1(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _longjmpPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Int>, ffi.Int)>>(
+      'longjmp');
+  late final _longjmp1 =
+      _longjmpPtr.asFunction<void Function(ffi.Pointer<ffi.Int>, int)>();
+
+  int _setjmp(
+    ffi.Pointer<ffi.Int> arg0,
+  ) {
+    return __setjmp(
+      arg0,
+    );
+  }
+
+  late final __setjmpPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Int>)>>(
+          '_setjmp');
+  late final __setjmp =
+      __setjmpPtr.asFunction<int Function(ffi.Pointer<ffi.Int>)>();
+
+  void _longjmp(
+    ffi.Pointer<ffi.Int> arg0,
+    int arg1,
+  ) {
+    return __longjmp(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final __longjmpPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Int>, ffi.Int)>>(
+      '_longjmp');
+  late final __longjmp =
+      __longjmpPtr.asFunction<void Function(ffi.Pointer<ffi.Int>, int)>();
+
+  int sigsetjmp(
+    ffi.Pointer<ffi.Int> arg0,
+    int arg1,
+  ) {
+    return _sigsetjmp(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sigsetjmpPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Int>, ffi.Int)>>(
+      'sigsetjmp');
+  late final _sigsetjmp =
+      _sigsetjmpPtr.asFunction<int Function(ffi.Pointer<ffi.Int>, int)>();
+
+  void siglongjmp(
+    ffi.Pointer<ffi.Int> arg0,
+    int arg1,
+  ) {
+    return _siglongjmp(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _siglongjmpPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Int>, ffi.Int)>>(
+      'siglongjmp');
+  late final _siglongjmp =
+      _siglongjmpPtr.asFunction<void Function(ffi.Pointer<ffi.Int>, int)>();
+
+  void longjmperror() {
+    return _longjmperror();
+  }
+
+  late final _longjmperrorPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('longjmperror');
+  late final _longjmperror = _longjmperrorPtr.asFunction<void Function()>();
+
+  ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> signal(
+    int arg0,
+    ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> arg1,
+  ) {
+    return _signal(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _signalPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> Function(
+              ffi.Int,
+              ffi.Pointer<
+                  ffi.NativeFunction<ffi.Void Function(ffi.Int)>>)>>('signal');
+  late final _signal = _signalPtr.asFunction<
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> Function(
+          int, ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>)>();
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Char>>> _sys_signame =
+      _lookup<ffi.Pointer<ffi.Pointer<ffi.Char>>>('sys_signame');
+
+  ffi.Pointer<ffi.Pointer<ffi.Char>> get sys_signame => _sys_signame.value;
+
+  set sys_signame(ffi.Pointer<ffi.Pointer<ffi.Char>> value) =>
+      _sys_signame.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Char>>> _sys_siglist =
+      _lookup<ffi.Pointer<ffi.Pointer<ffi.Char>>>('sys_siglist');
+
+  ffi.Pointer<ffi.Pointer<ffi.Char>> get sys_siglist => _sys_siglist.value;
+
+  set sys_siglist(ffi.Pointer<ffi.Pointer<ffi.Char>> value) =>
+      _sys_siglist.value = value;
+
+  int raise(
+    int arg0,
+  ) {
+    return _raise(
+      arg0,
+    );
+  }
+
+  late final _raisePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('raise');
+  late final _raise = _raisePtr.asFunction<int Function(int)>();
+
+  ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> bsd_signal(
+    int arg0,
+    ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> arg1,
+  ) {
+    return _bsd_signal(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _bsd_signalPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> Function(
+              ffi.Int,
+              ffi.Pointer<
+                  ffi
+                  .NativeFunction<ffi.Void Function(ffi.Int)>>)>>('bsd_signal');
+  late final _bsd_signal = _bsd_signalPtr.asFunction<
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> Function(
+          int, ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>)>();
+
+  int kill(
+    int arg0,
+    int arg1,
+  ) {
+    return _kill(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _killPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(pid_t, ffi.Int)>>('kill');
+  late final _kill = _killPtr.asFunction<int Function(int, int)>();
+
+  int killpg(
+    int arg0,
+    int arg1,
+  ) {
+    return _killpg(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _killpgPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(pid_t, ffi.Int)>>('killpg');
+  late final _killpg = _killpgPtr.asFunction<int Function(int, int)>();
+
+  int pthread_kill(
+    pthread_t arg0,
+    int arg1,
+  ) {
+    return _pthread_kill(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _pthread_killPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(pthread_t, ffi.Int)>>(
+          'pthread_kill');
+  late final _pthread_kill =
+      _pthread_killPtr.asFunction<int Function(pthread_t, int)>();
+
+  int pthread_sigmask(
+    int arg0,
+    ffi.Pointer<sigset_t> arg1,
+    ffi.Pointer<sigset_t> arg2,
+  ) {
+    return _pthread_sigmask(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _pthread_sigmaskPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<sigset_t>,
+              ffi.Pointer<sigset_t>)>>('pthread_sigmask');
+  late final _pthread_sigmask = _pthread_sigmaskPtr.asFunction<
+      int Function(int, ffi.Pointer<sigset_t>, ffi.Pointer<sigset_t>)>();
+
+  int sigaction1(
+    int arg0,
+    ffi.Pointer<sigaction> arg1,
+    ffi.Pointer<sigaction> arg2,
+  ) {
+    return _sigaction1(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _sigaction1Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<sigaction>,
+              ffi.Pointer<sigaction>)>>('sigaction');
+  late final _sigaction1 = _sigaction1Ptr.asFunction<
+      int Function(int, ffi.Pointer<sigaction>, ffi.Pointer<sigaction>)>();
+
+  int sigaddset(
+    ffi.Pointer<sigset_t> arg0,
+    int arg1,
+  ) {
+    return _sigaddset(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sigaddsetPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<sigset_t>, ffi.Int)>>(
+      'sigaddset');
+  late final _sigaddset =
+      _sigaddsetPtr.asFunction<int Function(ffi.Pointer<sigset_t>, int)>();
+
+  int sigaltstack(
+    ffi.Pointer<stack_t> arg0,
+    ffi.Pointer<stack_t> arg1,
+  ) {
+    return _sigaltstack(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sigaltstackPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<stack_t>, ffi.Pointer<stack_t>)>>('sigaltstack');
+  late final _sigaltstack = _sigaltstackPtr
+      .asFunction<int Function(ffi.Pointer<stack_t>, ffi.Pointer<stack_t>)>();
+
+  int sigdelset(
+    ffi.Pointer<sigset_t> arg0,
+    int arg1,
+  ) {
+    return _sigdelset(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sigdelsetPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<sigset_t>, ffi.Int)>>(
+      'sigdelset');
+  late final _sigdelset =
+      _sigdelsetPtr.asFunction<int Function(ffi.Pointer<sigset_t>, int)>();
+
+  int sigemptyset(
+    ffi.Pointer<sigset_t> arg0,
+  ) {
+    return _sigemptyset(
+      arg0,
+    );
+  }
+
+  late final _sigemptysetPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<sigset_t>)>>(
+          'sigemptyset');
+  late final _sigemptyset =
+      _sigemptysetPtr.asFunction<int Function(ffi.Pointer<sigset_t>)>();
+
+  int sigfillset(
+    ffi.Pointer<sigset_t> arg0,
+  ) {
+    return _sigfillset(
+      arg0,
+    );
+  }
+
+  late final _sigfillsetPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<sigset_t>)>>(
+          'sigfillset');
+  late final _sigfillset =
+      _sigfillsetPtr.asFunction<int Function(ffi.Pointer<sigset_t>)>();
+
+  int sighold(
+    int arg0,
+  ) {
+    return _sighold(
+      arg0,
+    );
+  }
+
+  late final _sigholdPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('sighold');
+  late final _sighold = _sigholdPtr.asFunction<int Function(int)>();
+
+  int sigignore(
+    int arg0,
+  ) {
+    return _sigignore(
+      arg0,
+    );
+  }
+
+  late final _sigignorePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('sigignore');
+  late final _sigignore = _sigignorePtr.asFunction<int Function(int)>();
+
+  int siginterrupt(
+    int arg0,
+    int arg1,
+  ) {
+    return _siginterrupt(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _siginterruptPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>(
+          'siginterrupt');
+  late final _siginterrupt =
+      _siginterruptPtr.asFunction<int Function(int, int)>();
+
+  int sigismember(
+    ffi.Pointer<sigset_t> arg0,
+    int arg1,
+  ) {
+    return _sigismember(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sigismemberPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<sigset_t>, ffi.Int)>>(
+      'sigismember');
+  late final _sigismember =
+      _sigismemberPtr.asFunction<int Function(ffi.Pointer<sigset_t>, int)>();
+
+  int sigpause(
+    int arg0,
+  ) {
+    return _sigpause(
+      arg0,
+    );
+  }
+
+  late final _sigpausePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('sigpause');
+  late final _sigpause = _sigpausePtr.asFunction<int Function(int)>();
+
+  int sigpending(
+    ffi.Pointer<sigset_t> arg0,
+  ) {
+    return _sigpending(
+      arg0,
+    );
+  }
+
+  late final _sigpendingPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<sigset_t>)>>(
+          'sigpending');
+  late final _sigpending =
+      _sigpendingPtr.asFunction<int Function(ffi.Pointer<sigset_t>)>();
+
+  int sigprocmask(
+    int arg0,
+    ffi.Pointer<sigset_t> arg1,
+    ffi.Pointer<sigset_t> arg2,
+  ) {
+    return _sigprocmask(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _sigprocmaskPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<sigset_t>,
+              ffi.Pointer<sigset_t>)>>('sigprocmask');
+  late final _sigprocmask = _sigprocmaskPtr.asFunction<
+      int Function(int, ffi.Pointer<sigset_t>, ffi.Pointer<sigset_t>)>();
+
+  int sigrelse(
+    int arg0,
+  ) {
+    return _sigrelse(
+      arg0,
+    );
+  }
+
+  late final _sigrelsePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('sigrelse');
+  late final _sigrelse = _sigrelsePtr.asFunction<int Function(int)>();
+
+  ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> sigset(
+    int arg0,
+    ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> arg1,
+  ) {
+    return _sigset(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sigsetPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> Function(
+              ffi.Int,
+              ffi.Pointer<
+                  ffi.NativeFunction<ffi.Void Function(ffi.Int)>>)>>('sigset');
+  late final _sigset = _sigsetPtr.asFunction<
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>> Function(
+          int, ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>)>();
+
+  int sigsuspend(
+    ffi.Pointer<sigset_t> arg0,
+  ) {
+    return _sigsuspend(
+      arg0,
+    );
+  }
+
+  late final _sigsuspendPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<sigset_t>)>>(
+          'sigsuspend');
+  late final _sigsuspend =
+      _sigsuspendPtr.asFunction<int Function(ffi.Pointer<sigset_t>)>();
+
+  int sigwait(
+    ffi.Pointer<sigset_t> arg0,
+    ffi.Pointer<ffi.Int> arg1,
+  ) {
+    return _sigwait(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sigwaitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<sigset_t>, ffi.Pointer<ffi.Int>)>>('sigwait');
+  late final _sigwait = _sigwaitPtr
+      .asFunction<int Function(ffi.Pointer<sigset_t>, ffi.Pointer<ffi.Int>)>();
+
+  void psignal(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _psignal(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _psignalPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.UnsignedInt, ffi.Pointer<ffi.Char>)>>('psignal');
+  late final _psignal =
+      _psignalPtr.asFunction<void Function(int, ffi.Pointer<ffi.Char>)>();
+
+  int sigblock(
+    int arg0,
+  ) {
+    return _sigblock(
+      arg0,
+    );
+  }
+
+  late final _sigblockPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('sigblock');
+  late final _sigblock = _sigblockPtr.asFunction<int Function(int)>();
+
+  int sigsetmask(
+    int arg0,
+  ) {
+    return _sigsetmask(
+      arg0,
+    );
+  }
+
+  late final _sigsetmaskPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('sigsetmask');
+  late final _sigsetmask = _sigsetmaskPtr.asFunction<int Function(int)>();
+
+  int sigvec1(
+    int arg0,
+    ffi.Pointer<sigvec> arg1,
+    ffi.Pointer<sigvec> arg2,
+  ) {
+    return _sigvec1(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _sigvec1Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<sigvec>, ffi.Pointer<sigvec>)>>('sigvec');
+  late final _sigvec1 = _sigvec1Ptr.asFunction<
+      int Function(int, ffi.Pointer<sigvec>, ffi.Pointer<sigvec>)>();
+
+  int renameat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    ffi.Pointer<ffi.Char> arg3,
+  ) {
+    return _renameat(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _renameatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Pointer<ffi.Char>)>>('renameat');
+  late final _renameat = _renameatPtr.asFunction<
+      int Function(int, ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>)>();
+
+  int renamex_np(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _renamex_np(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _renamex_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.UnsignedInt)>>('renamex_np');
+  late final _renamex_np = _renamex_npPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int renameatx_np(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    ffi.Pointer<ffi.Char> arg3,
+    int arg4,
+  ) {
+    return _renameatx_np(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _renameatx_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Pointer<ffi.Char>, ffi.UnsignedInt)>>('renameatx_np');
+  late final _renameatx_np = _renameatx_npPtr.asFunction<
+      int Function(
+          int, ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>, int)>();
+
+  late final ffi.Pointer<ffi.Pointer<FILE>> ___stdinp =
+      _lookup<ffi.Pointer<FILE>>('__stdinp');
+
+  ffi.Pointer<FILE> get __stdinp => ___stdinp.value;
+
+  set __stdinp(ffi.Pointer<FILE> value) => ___stdinp.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<FILE>> ___stdoutp =
+      _lookup<ffi.Pointer<FILE>>('__stdoutp');
+
+  ffi.Pointer<FILE> get __stdoutp => ___stdoutp.value;
+
+  set __stdoutp(ffi.Pointer<FILE> value) => ___stdoutp.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<FILE>> ___stderrp =
+      _lookup<ffi.Pointer<FILE>>('__stderrp');
+
+  ffi.Pointer<FILE> get __stderrp => ___stderrp.value;
+
+  set __stderrp(ffi.Pointer<FILE> value) => ___stderrp.value = value;
+
+  void clearerr(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _clearerr(
+      arg0,
+    );
+  }
+
+  late final _clearerrPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<FILE>)>>(
+          'clearerr');
+  late final _clearerr =
+      _clearerrPtr.asFunction<void Function(ffi.Pointer<FILE>)>();
+
+  int fclose(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _fclose(
+      arg0,
+    );
+  }
+
+  late final _fclosePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'fclose');
+  late final _fclose = _fclosePtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int feof(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _feof(
+      arg0,
+    );
+  }
+
+  late final _feofPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>('feof');
+  late final _feof = _feofPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int ferror(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _ferror(
+      arg0,
+    );
+  }
+
+  late final _ferrorPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'ferror');
+  late final _ferror = _ferrorPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int fflush(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _fflush(
+      arg0,
+    );
+  }
+
+  late final _fflushPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'fflush');
+  late final _fflush = _fflushPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int fgetc(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _fgetc(
+      arg0,
+    );
+  }
+
+  late final _fgetcPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>('fgetc');
+  late final _fgetc = _fgetcPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int fgetpos(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<fpos_t> arg1,
+  ) {
+    return _fgetpos(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fgetposPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<FILE>, ffi.Pointer<fpos_t>)>>('fgetpos');
+  late final _fgetpos = _fgetposPtr
+      .asFunction<int Function(ffi.Pointer<FILE>, ffi.Pointer<fpos_t>)>();
+
+  ffi.Pointer<ffi.Char> fgets(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    ffi.Pointer<FILE> arg2,
+  ) {
+    return _fgets(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _fgetsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Int, ffi.Pointer<FILE>)>>('fgets');
+  late final _fgets = _fgetsPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, int, ffi.Pointer<FILE>)>();
+
+  ffi.Pointer<FILE> fopen(
+    ffi.Pointer<ffi.Char> __filename,
+    ffi.Pointer<ffi.Char> __mode,
+  ) {
+    return _fopen(
+      __filename,
+      __mode,
+    );
+  }
+
+  late final _fopenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<FILE> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('fopen');
+  late final _fopen = _fopenPtr.asFunction<
+      ffi.Pointer<FILE> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int fprintf(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _fprintf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>)>>('fprintf');
+  late final _fprintf = _fprintfPtr
+      .asFunction<int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>)>();
+
+  int fputc(
+    int arg0,
+    ffi.Pointer<FILE> arg1,
+  ) {
+    return _fputc(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fputcPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<FILE>)>>(
+          'fputc');
+  late final _fputc =
+      _fputcPtr.asFunction<int Function(int, ffi.Pointer<FILE>)>();
+
+  int fputs(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<FILE> arg1,
+  ) {
+    return _fputs(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fputsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<FILE>)>>('fputs');
+  late final _fputs = _fputsPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<FILE>)>();
+
+  int fread(
+    ffi.Pointer<ffi.Void> __ptr,
+    int __size,
+    int __nitems,
+    ffi.Pointer<FILE> __stream,
+  ) {
+    return _fread(
+      __ptr,
+      __size,
+      __nitems,
+      __stream,
+    );
+  }
+
+  late final _freadPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(ffi.Pointer<ffi.Void>, ffi.Size, ffi.Size,
+              ffi.Pointer<FILE>)>>('fread');
+  late final _fread = _freadPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<FILE>)>();
+
+  ffi.Pointer<FILE> freopen(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<FILE> arg2,
+  ) {
+    return _freopen(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _freopenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<FILE> Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<FILE>)>>('freopen');
+  late final _freopen = _freopenPtr.asFunction<
+      ffi.Pointer<FILE> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, ffi.Pointer<FILE>)>();
+
+  int fscanf(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _fscanf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fscanfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>)>>('fscanf');
+  late final _fscanf = _fscanfPtr
+      .asFunction<int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>)>();
+
+  int fseek(
+    ffi.Pointer<FILE> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _fseek(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _fseekPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<FILE>, ffi.Long, ffi.Int)>>('fseek');
+  late final _fseek =
+      _fseekPtr.asFunction<int Function(ffi.Pointer<FILE>, int, int)>();
+
+  int fsetpos(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<fpos_t> arg1,
+  ) {
+    return _fsetpos(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fsetposPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<FILE>, ffi.Pointer<fpos_t>)>>('fsetpos');
+  late final _fsetpos = _fsetposPtr
+      .asFunction<int Function(ffi.Pointer<FILE>, ffi.Pointer<fpos_t>)>();
+
+  int ftell(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _ftell(
+      arg0,
+    );
+  }
+
+  late final _ftellPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Pointer<FILE>)>>(
+          'ftell');
+  late final _ftell = _ftellPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int fwrite(
+    ffi.Pointer<ffi.Void> __ptr,
+    int __size,
+    int __nitems,
+    ffi.Pointer<FILE> __stream,
+  ) {
+    return _fwrite(
+      __ptr,
+      __size,
+      __nitems,
+      __stream,
+    );
+  }
+
+  late final _fwritePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(ffi.Pointer<ffi.Void>, ffi.Size, ffi.Size,
+              ffi.Pointer<FILE>)>>('fwrite');
+  late final _fwrite = _fwritePtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<FILE>)>();
+
+  int getc(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _getc(
+      arg0,
+    );
+  }
+
+  late final _getcPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>('getc');
+  late final _getc = _getcPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int getchar() {
+    return _getchar();
+  }
+
+  late final _getcharPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('getchar');
+  late final _getchar = _getcharPtr.asFunction<int Function()>();
+
+  ffi.Pointer<ffi.Char> gets(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _gets(
+      arg0,
+    );
+  }
+
+  late final _getsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('gets');
+  late final _gets = _getsPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  void perror(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _perror(
+      arg0,
+    );
+  }
+
+  late final _perrorPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Char>)>>(
+          'perror');
+  late final _perror =
+      _perrorPtr.asFunction<void Function(ffi.Pointer<ffi.Char>)>();
+
+  int printf(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _printf(
+      arg0,
+    );
+  }
+
+  late final _printfPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'printf');
+  late final _printf =
+      _printfPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int putc(
+    int arg0,
+    ffi.Pointer<FILE> arg1,
+  ) {
+    return _putc(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _putcPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<FILE>)>>(
+          'putc');
+  late final _putc =
+      _putcPtr.asFunction<int Function(int, ffi.Pointer<FILE>)>();
+
+  int putchar(
+    int arg0,
+  ) {
+    return _putchar(
+      arg0,
+    );
+  }
+
+  late final _putcharPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('putchar');
+  late final _putchar = _putcharPtr.asFunction<int Function(int)>();
+
+  int puts(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _puts(
+      arg0,
+    );
+  }
+
+  late final _putsPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'puts');
+  late final _puts = _putsPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int remove(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _remove(
+      arg0,
+    );
+  }
+
+  late final _removePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'remove');
+  late final _remove =
+      _removePtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int rename(
+    ffi.Pointer<ffi.Char> __old,
+    ffi.Pointer<ffi.Char> __new,
+  ) {
+    return _rename(
+      __old,
+      __new,
+    );
+  }
+
+  late final _renamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('rename');
+  late final _rename = _renamePtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  void rewind(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _rewind(
+      arg0,
+    );
+  }
+
+  late final _rewindPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<FILE>)>>(
+          'rewind');
+  late final _rewind =
+      _rewindPtr.asFunction<void Function(ffi.Pointer<FILE>)>();
+
+  int scanf(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _scanf(
+      arg0,
+    );
+  }
+
+  late final _scanfPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'scanf');
+  late final _scanf =
+      _scanfPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  void setbuf(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _setbuf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setbufPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>)>>('setbuf');
+  late final _setbuf = _setbufPtr
+      .asFunction<void Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>)>();
+
+  int setvbuf(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _setvbuf(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _setvbufPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Size)>>('setvbuf');
+  late final _setvbuf = _setvbufPtr.asFunction<
+      int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>, int, int)>();
+
+  int sprintf(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _sprintf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('sprintf');
+  late final _sprintf = _sprintfPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int sscanf(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _sscanf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sscanfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('sscanf');
+  late final _sscanf = _sscanfPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<FILE> tmpfile() {
+    return _tmpfile();
+  }
+
+  late final _tmpfilePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<FILE> Function()>>('tmpfile');
+  late final _tmpfile = _tmpfilePtr.asFunction<ffi.Pointer<FILE> Function()>();
+
+  ffi.Pointer<ffi.Char> tmpnam(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _tmpnam(
+      arg0,
+    );
+  }
+
+  late final _tmpnamPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('tmpnam');
+  late final _tmpnam = _tmpnamPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  int ungetc(
+    int arg0,
+    ffi.Pointer<FILE> arg1,
+  ) {
+    return _ungetc(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ungetcPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<FILE>)>>(
+          'ungetc');
+  late final _ungetc =
+      _ungetcPtr.asFunction<int Function(int, ffi.Pointer<FILE>)>();
+
+  int vfprintf(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<__va_list_tag> arg2,
+  ) {
+    return _vfprintf(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _vfprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('vfprintf');
+  late final _vfprintf = _vfprintfPtr.asFunction<
+      int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  int vprintf(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<__va_list_tag> arg1,
+  ) {
+    return _vprintf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _vprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>('vprintf');
+  late final _vprintf = _vprintfPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>();
+
+  int vsprintf(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<__va_list_tag> arg2,
+  ) {
+    return _vsprintf(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _vsprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('vsprintf');
+  late final _vsprintf = _vsprintfPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  ffi.Pointer<ffi.Char> ctermid(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _ctermid(
+      arg0,
+    );
+  }
+
+  late final _ctermidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('ctermid');
+  late final _ctermid = _ctermidPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<FILE> fdopen(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _fdopen(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fdopenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<FILE> Function(
+              ffi.Int, ffi.Pointer<ffi.Char>)>>('fdopen');
+  late final _fdopen = _fdopenPtr
+      .asFunction<ffi.Pointer<FILE> Function(int, ffi.Pointer<ffi.Char>)>();
+
+  int fileno(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _fileno(
+      arg0,
+    );
+  }
+
+  late final _filenoPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'fileno');
+  late final _fileno = _filenoPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int pclose(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _pclose(
+      arg0,
+    );
+  }
+
+  late final _pclosePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'pclose');
+  late final _pclose = _pclosePtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  ffi.Pointer<FILE> popen(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _popen(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _popenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<FILE> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('popen');
+  late final _popen = _popenPtr.asFunction<
+      ffi.Pointer<FILE> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int __srget(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return ___srget(
+      arg0,
+    );
+  }
+
+  late final ___srgetPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          '__srget');
+  late final ___srget =
+      ___srgetPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int __svfscanf(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<__va_list_tag> arg2,
+  ) {
+    return ___svfscanf(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final ___svfscanfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('__svfscanf');
+  late final ___svfscanf = ___svfscanfPtr.asFunction<
+      int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  int __swbuf(
+    int arg0,
+    ffi.Pointer<FILE> arg1,
+  ) {
+    return ___swbuf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final ___swbufPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<FILE>)>>(
+          '__swbuf');
+  late final ___swbuf =
+      ___swbufPtr.asFunction<int Function(int, ffi.Pointer<FILE>)>();
+
+  void flockfile(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _flockfile(
+      arg0,
+    );
+  }
+
+  late final _flockfilePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<FILE>)>>(
+          'flockfile');
+  late final _flockfile =
+      _flockfilePtr.asFunction<void Function(ffi.Pointer<FILE>)>();
+
+  int ftrylockfile(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _ftrylockfile(
+      arg0,
+    );
+  }
+
+  late final _ftrylockfilePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'ftrylockfile');
+  late final _ftrylockfile =
+      _ftrylockfilePtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  void funlockfile(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _funlockfile(
+      arg0,
+    );
+  }
+
+  late final _funlockfilePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<FILE>)>>(
+          'funlockfile');
+  late final _funlockfile =
+      _funlockfilePtr.asFunction<void Function(ffi.Pointer<FILE>)>();
+
+  int getc_unlocked(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _getc_unlocked(
+      arg0,
+    );
+  }
+
+  late final _getc_unlockedPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'getc_unlocked');
+  late final _getc_unlocked =
+      _getc_unlockedPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int getchar_unlocked() {
+    return _getchar_unlocked();
+  }
+
+  late final _getchar_unlockedPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('getchar_unlocked');
+  late final _getchar_unlocked =
+      _getchar_unlockedPtr.asFunction<int Function()>();
+
+  int putc_unlocked(
+    int arg0,
+    ffi.Pointer<FILE> arg1,
+  ) {
+    return _putc_unlocked(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _putc_unlockedPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<FILE>)>>(
+          'putc_unlocked');
+  late final _putc_unlocked =
+      _putc_unlockedPtr.asFunction<int Function(int, ffi.Pointer<FILE>)>();
+
+  int putchar_unlocked(
+    int arg0,
+  ) {
+    return _putchar_unlocked(
+      arg0,
+    );
+  }
+
+  late final _putchar_unlockedPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>(
+          'putchar_unlocked');
+  late final _putchar_unlocked =
+      _putchar_unlockedPtr.asFunction<int Function(int)>();
+
+  int getw(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _getw(
+      arg0,
+    );
+  }
+
+  late final _getwPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>('getw');
+  late final _getw = _getwPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int putw(
+    int arg0,
+    ffi.Pointer<FILE> arg1,
+  ) {
+    return _putw(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _putwPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<FILE>)>>(
+          'putw');
+  late final _putw =
+      _putwPtr.asFunction<int Function(int, ffi.Pointer<FILE>)>();
+
+  ffi.Pointer<ffi.Char> tempnam(
+    ffi.Pointer<ffi.Char> __dir,
+    ffi.Pointer<ffi.Char> __prefix,
+  ) {
+    return _tempnam(
+      __dir,
+      __prefix,
+    );
+  }
+
+  late final _tempnamPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('tempnam');
+  late final _tempnam = _tempnamPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int fseeko(
+    ffi.Pointer<FILE> __stream,
+    int __offset,
+    int __whence,
+  ) {
+    return _fseeko(
+      __stream,
+      __offset,
+      __whence,
+    );
+  }
+
+  late final _fseekoPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<FILE>, off_t, ffi.Int)>>(
+      'fseeko');
+  late final _fseeko =
+      _fseekoPtr.asFunction<int Function(ffi.Pointer<FILE>, int, int)>();
+
+  int ftello(
+    ffi.Pointer<FILE> __stream,
+  ) {
+    return _ftello(
+      __stream,
+    );
+  }
+
+  late final _ftelloPtr =
+      _lookup<ffi.NativeFunction<off_t Function(ffi.Pointer<FILE>)>>('ftello');
+  late final _ftello = _ftelloPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int snprintf(
+    ffi.Pointer<ffi.Char> __str,
+    int __size,
+    ffi.Pointer<ffi.Char> __format,
+  ) {
+    return _snprintf(
+      __str,
+      __size,
+      __format,
+    );
+  }
+
+  late final _snprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size,
+              ffi.Pointer<ffi.Char>)>>('snprintf');
+  late final _snprintf = _snprintfPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>)>();
+
+  int vfscanf(
+    ffi.Pointer<FILE> __stream,
+    ffi.Pointer<ffi.Char> __format,
+    ffi.Pointer<__va_list_tag> arg2,
+  ) {
+    return _vfscanf(
+      __stream,
+      __format,
+      arg2,
+    );
+  }
+
+  late final _vfscanfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('vfscanf');
+  late final _vfscanf = _vfscanfPtr.asFunction<
+      int Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  int vscanf(
+    ffi.Pointer<ffi.Char> __format,
+    ffi.Pointer<__va_list_tag> arg1,
+  ) {
+    return _vscanf(
+      __format,
+      arg1,
+    );
+  }
+
+  late final _vscanfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>('vscanf');
+  late final _vscanf = _vscanfPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>();
+
+  int vsnprintf(
+    ffi.Pointer<ffi.Char> __str,
+    int __size,
+    ffi.Pointer<ffi.Char> __format,
+    ffi.Pointer<__va_list_tag> arg3,
+  ) {
+    return _vsnprintf(
+      __str,
+      __size,
+      __format,
+      arg3,
+    );
+  }
+
+  late final _vsnprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>('vsnprintf');
+  late final _vsnprintf = _vsnprintfPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  int vsscanf(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Char> __format,
+    ffi.Pointer<__va_list_tag> arg2,
+  ) {
+    return _vsscanf(
+      __str,
+      __format,
+      arg2,
+    );
+  }
+
+  late final _vsscanfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('vsscanf');
+  late final _vsscanf = _vsscanfPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  int dprintf(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _dprintf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _dprintfPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>)>>(
+      'dprintf');
+  late final _dprintf =
+      _dprintfPtr.asFunction<int Function(int, ffi.Pointer<ffi.Char>)>();
+
+  int vdprintf(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<__va_list_tag> arg2,
+  ) {
+    return _vdprintf(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _vdprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('vdprintf');
+  late final _vdprintf = _vdprintfPtr.asFunction<
+      int Function(int, ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>();
+
+  int getdelim(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __linep,
+    ffi.Pointer<ffi.Size> __linecapp,
+    int __delimiter,
+    ffi.Pointer<FILE> __stream,
+  ) {
+    return _getdelim(
+      __linep,
+      __linecapp,
+      __delimiter,
+      __stream,
+    );
+  }
+
+  late final _getdelimPtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Size>, ffi.Int, ffi.Pointer<FILE>)>>('getdelim');
+  late final _getdelim = _getdelimPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Size>,
+          int, ffi.Pointer<FILE>)>();
+
+  int getline(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __linep,
+    ffi.Pointer<ffi.Size> __linecapp,
+    ffi.Pointer<FILE> __stream,
+  ) {
+    return _getline(
+      __linep,
+      __linecapp,
+      __stream,
+    );
+  }
+
+  late final _getlinePtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Size>, ffi.Pointer<FILE>)>>('getline');
+  late final _getline = _getlinePtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Size>,
+          ffi.Pointer<FILE>)>();
+
+  ffi.Pointer<FILE> fmemopen(
+    ffi.Pointer<ffi.Void> __buf,
+    int __size,
+    ffi.Pointer<ffi.Char> __mode,
+  ) {
+    return _fmemopen(
+      __buf,
+      __size,
+      __mode,
+    );
+  }
+
+  late final _fmemopenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<FILE> Function(ffi.Pointer<ffi.Void>, ffi.Size,
+              ffi.Pointer<ffi.Char>)>>('fmemopen');
+  late final _fmemopen = _fmemopenPtr.asFunction<
+      ffi.Pointer<FILE> Function(
+          ffi.Pointer<ffi.Void>, int, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<FILE> open_memstream(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __bufp,
+    ffi.Pointer<ffi.Size> __sizep,
+  ) {
+    return _open_memstream(
+      __bufp,
+      __sizep,
+    );
+  }
+
+  late final _open_memstreamPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<FILE> Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Size>)>>('open_memstream');
+  late final _open_memstream = _open_memstreamPtr.asFunction<
+      ffi.Pointer<FILE> Function(
+          ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Size>)>();
+
+  late final ffi.Pointer<ffi.Int> _sys_nerr = _lookup<ffi.Int>('sys_nerr');
+
+  int get sys_nerr => _sys_nerr.value;
+
+  set sys_nerr(int value) => _sys_nerr.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Char>>> _sys_errlist =
+      _lookup<ffi.Pointer<ffi.Pointer<ffi.Char>>>('sys_errlist');
+
+  ffi.Pointer<ffi.Pointer<ffi.Char>> get sys_errlist => _sys_errlist.value;
+
+  set sys_errlist(ffi.Pointer<ffi.Pointer<ffi.Char>> value) =>
+      _sys_errlist.value = value;
+
+  int asprintf(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _asprintf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _asprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Char>)>>('asprintf');
+  late final _asprintf = _asprintfPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> ctermid_r(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _ctermid_r(
+      arg0,
+    );
+  }
+
+  late final _ctermid_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('ctermid_r');
+  late final _ctermid_r = _ctermid_rPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> fgetln(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Size> arg1,
+  ) {
+    return _fgetln(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fgetlnPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<FILE>, ffi.Pointer<ffi.Size>)>>('fgetln');
+  late final _fgetln = _fgetlnPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<FILE>, ffi.Pointer<ffi.Size>)>();
+
+  ffi.Pointer<ffi.Char> fmtcheck(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _fmtcheck(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fmtcheckPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('fmtcheck');
+  late final _fmtcheck = _fmtcheckPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int fpurge(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _fpurge(
+      arg0,
+    );
+  }
+
+  late final _fpurgePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'fpurge');
+  late final _fpurge = _fpurgePtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  void setbuffer(
+    ffi.Pointer<FILE> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _setbuffer(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _setbufferPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>, ffi.Int)>>('setbuffer');
+  late final _setbuffer = _setbufferPtr.asFunction<
+      void Function(ffi.Pointer<FILE>, ffi.Pointer<ffi.Char>, int)>();
+
+  int setlinebuf(
+    ffi.Pointer<FILE> arg0,
+  ) {
+    return _setlinebuf(
+      arg0,
+    );
+  }
+
+  late final _setlinebufPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<FILE>)>>(
+          'setlinebuf');
+  late final _setlinebuf =
+      _setlinebufPtr.asFunction<int Function(ffi.Pointer<FILE>)>();
+
+  int vasprintf(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<__va_list_tag> arg2,
+  ) {
+    return _vasprintf(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _vasprintfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>('vasprintf');
+  late final _vasprintf = _vasprintfPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  ffi.Pointer<FILE> funopen(
+    ffi.Pointer<ffi.Void> arg0,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(
+                    ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>, ffi.Int)>>
+        arg1,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(
+                    ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>, ffi.Int)>>
+        arg2,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                fpos_t Function(ffi.Pointer<ffi.Void>, fpos_t, ffi.Int)>>
+        arg3,
+    ffi.Pointer<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>)>>
+        arg4,
+  ) {
+    return _funopen(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _funopenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<FILE> Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Char>, ffi.Int)>>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Char>, ffi.Int)>>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      fpos_t Function(ffi.Pointer<ffi.Void>, fpos_t, ffi.Int)>>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>)>>)>>('funopen');
+  late final _funopen = _funopenPtr.asFunction<
+      ffi.Pointer<FILE> Function(
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>, ffi.Int)>>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>, ffi.Int)>>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  fpos_t Function(ffi.Pointer<ffi.Void>, fpos_t, ffi.Int)>>,
+          ffi.Pointer<
+              ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>)>>)>();
+
+  int __sprintf_chk(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+    ffi.Pointer<ffi.Char> arg3,
+  ) {
+    return ___sprintf_chk(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final ___sprintf_chkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int, ffi.Size,
+              ffi.Pointer<ffi.Char>)>>('__sprintf_chk');
+  late final ___sprintf_chk = ___sprintf_chkPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, int, ffi.Pointer<ffi.Char>)>();
+
+  int __snprintf_chk(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+    ffi.Pointer<ffi.Char> arg4,
+  ) {
+    return ___snprintf_chk(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final ___snprintf_chkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size, ffi.Int, ffi.Size,
+              ffi.Pointer<ffi.Char>)>>('__snprintf_chk');
+  late final ___snprintf_chk = ___snprintf_chkPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, int, int, int, ffi.Pointer<ffi.Char>)>();
+
+  int __vsprintf_chk(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+    ffi.Pointer<ffi.Char> arg3,
+    ffi.Pointer<__va_list_tag> arg4,
+  ) {
+    return ___vsprintf_chk(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final ___vsprintf_chkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Int,
+              ffi.Size,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('__vsprintf_chk');
+  late final ___vsprintf_chk = ___vsprintf_chkPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, int, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  int __vsnprintf_chk(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+    ffi.Pointer<ffi.Char> arg4,
+    ffi.Pointer<__va_list_tag> arg5,
+  ) {
+    return ___vsnprintf_chk(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+    );
+  }
+
+  late final ___vsnprintf_chkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Size,
+              ffi.Int,
+              ffi.Size,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('__vsnprintf_chk');
+  late final ___vsnprintf_chk = ___vsnprintf_chkPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, int, int, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  int getpriority(
+    int arg0,
+    int arg1,
+  ) {
+    return _getpriority(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getpriorityPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, id_t)>>(
+          'getpriority');
+  late final _getpriority =
+      _getpriorityPtr.asFunction<int Function(int, int)>();
+
+  int getiopolicy_np(
+    int arg0,
+    int arg1,
+  ) {
+    return _getiopolicy_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getiopolicy_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>(
+          'getiopolicy_np');
+  late final _getiopolicy_np =
+      _getiopolicy_npPtr.asFunction<int Function(int, int)>();
+
+  int getrlimit(
+    int arg0,
+    ffi.Pointer<rlimit> arg1,
+  ) {
+    return _getrlimit(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getrlimitPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<rlimit>)>>(
+      'getrlimit');
+  late final _getrlimit =
+      _getrlimitPtr.asFunction<int Function(int, ffi.Pointer<rlimit>)>();
+
+  int getrusage(
+    int arg0,
+    ffi.Pointer<rusage> arg1,
+  ) {
+    return _getrusage(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getrusagePtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<rusage>)>>(
+      'getrusage');
+  late final _getrusage =
+      _getrusagePtr.asFunction<int Function(int, ffi.Pointer<rusage>)>();
+
+  int setpriority(
+    int arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _setpriority(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _setpriorityPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, id_t, ffi.Int)>>(
+          'setpriority');
+  late final _setpriority =
+      _setpriorityPtr.asFunction<int Function(int, int, int)>();
+
+  int setiopolicy_np(
+    int arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _setiopolicy_np(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _setiopolicy_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int, ffi.Int)>>(
+          'setiopolicy_np');
+  late final _setiopolicy_np =
+      _setiopolicy_npPtr.asFunction<int Function(int, int, int)>();
+
+  int setrlimit(
+    int arg0,
+    ffi.Pointer<rlimit> arg1,
+  ) {
+    return _setrlimit(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setrlimitPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<rlimit>)>>(
+      'setrlimit');
+  late final _setrlimit =
+      _setrlimitPtr.asFunction<int Function(int, ffi.Pointer<rlimit>)>();
+
+  int wait1(
+    ffi.Pointer<ffi.Int> arg0,
+  ) {
+    return _wait1(
+      arg0,
+    );
+  }
+
+  late final _wait1Ptr =
+      _lookup<ffi.NativeFunction<pid_t Function(ffi.Pointer<ffi.Int>)>>('wait');
+  late final _wait1 =
+      _wait1Ptr.asFunction<int Function(ffi.Pointer<ffi.Int>)>();
+
+  int waitpid(
+    int arg0,
+    ffi.Pointer<ffi.Int> arg1,
+    int arg2,
+  ) {
+    return _waitpid(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _waitpidPtr = _lookup<
+      ffi.NativeFunction<
+          pid_t Function(pid_t, ffi.Pointer<ffi.Int>, ffi.Int)>>('waitpid');
+  late final _waitpid =
+      _waitpidPtr.asFunction<int Function(int, ffi.Pointer<ffi.Int>, int)>();
+
+  int waitid(
+    int arg0,
+    int arg1,
+    ffi.Pointer<siginfo_t> arg2,
+    int arg3,
+  ) {
+    return _waitid(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _waitidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int32, id_t, ffi.Pointer<siginfo_t>, ffi.Int)>>('waitid');
+  late final _waitid = _waitidPtr
+      .asFunction<int Function(int, int, ffi.Pointer<siginfo_t>, int)>();
+
+  int wait3(
+    ffi.Pointer<ffi.Int> arg0,
+    int arg1,
+    ffi.Pointer<rusage> arg2,
+  ) {
+    return _wait3(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _wait3Ptr = _lookup<
+      ffi.NativeFunction<
+          pid_t Function(
+              ffi.Pointer<ffi.Int>, ffi.Int, ffi.Pointer<rusage>)>>('wait3');
+  late final _wait3 = _wait3Ptr.asFunction<
+      int Function(ffi.Pointer<ffi.Int>, int, ffi.Pointer<rusage>)>();
+
+  int wait4(
+    int arg0,
+    ffi.Pointer<ffi.Int> arg1,
+    int arg2,
+    ffi.Pointer<rusage> arg3,
+  ) {
+    return _wait4(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _wait4Ptr = _lookup<
+      ffi.NativeFunction<
+          pid_t Function(pid_t, ffi.Pointer<ffi.Int>, ffi.Int,
+              ffi.Pointer<rusage>)>>('wait4');
+  late final _wait4 = _wait4Ptr.asFunction<
+      int Function(int, ffi.Pointer<ffi.Int>, int, ffi.Pointer<rusage>)>();
+
+  ffi.Pointer<ffi.Void> alloca(
+    int arg0,
+  ) {
+    return _alloca(
+      arg0,
+    );
+  }
+
+  late final _allocaPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Size)>>(
+          'alloca');
+  late final _alloca =
+      _allocaPtr.asFunction<ffi.Pointer<ffi.Void> Function(int)>();
+
+  late final ffi.Pointer<ffi.Int> ___mb_cur_max =
+      _lookup<ffi.Int>('__mb_cur_max');
+
+  int get __mb_cur_max => ___mb_cur_max.value;
+
+  set __mb_cur_max(int value) => ___mb_cur_max.value = value;
+
+  ffi.Pointer<ffi.Void> malloc(
+    int __size,
+  ) {
+    return _malloc(
+      __size,
+    );
+  }
+
+  late final _mallocPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Size)>>(
+          'malloc');
+  late final _malloc =
+      _mallocPtr.asFunction<ffi.Pointer<ffi.Void> Function(int)>();
+
+  ffi.Pointer<ffi.Void> calloc(
+    int __count,
+    int __size,
+  ) {
+    return _calloc(
+      __count,
+      __size,
+    );
+  }
+
+  late final _callocPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Size, ffi.Size)>>(
+      'calloc');
+  late final _calloc =
+      _callocPtr.asFunction<ffi.Pointer<ffi.Void> Function(int, int)>();
+
+  void free(
+    ffi.Pointer<ffi.Void> arg0,
+  ) {
+    return _free(
+      arg0,
+    );
+  }
+
+  late final _freePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
+          'free');
+  late final _free =
+      _freePtr.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
+
+  ffi.Pointer<ffi.Void> realloc(
+    ffi.Pointer<ffi.Void> __ptr,
+    int __size,
+  ) {
+    return _realloc(
+      __ptr,
+      __size,
+    );
+  }
+
+  late final _reallocPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('realloc');
+  late final _realloc = _reallocPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, int)>();
+
+  ffi.Pointer<ffi.Void> valloc(
+    int arg0,
+  ) {
+    return _valloc(
+      arg0,
+    );
+  }
+
+  late final _vallocPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Size)>>(
+          'valloc');
+  late final _valloc =
+      _vallocPtr.asFunction<ffi.Pointer<ffi.Void> Function(int)>();
+
+  ffi.Pointer<ffi.Void> aligned_alloc(
+    int __alignment,
+    int __size,
+  ) {
+    return _aligned_alloc(
+      __alignment,
+      __size,
+    );
+  }
+
+  late final _aligned_allocPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Size, ffi.Size)>>(
+      'aligned_alloc');
+  late final _aligned_alloc =
+      _aligned_allocPtr.asFunction<ffi.Pointer<ffi.Void> Function(int, int)>();
+
+  int posix_memalign(
+    ffi.Pointer<ffi.Pointer<ffi.Void>> __memptr,
+    int __alignment,
+    int __size,
+  ) {
+    return _posix_memalign(
+      __memptr,
+      __alignment,
+      __size,
+    );
+  }
+
+  late final _posix_memalignPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Pointer<ffi.Void>>, ffi.Size,
+              ffi.Size)>>('posix_memalign');
+  late final _posix_memalign = _posix_memalignPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Pointer<ffi.Void>>, int, int)>();
+
+  void abort() {
+    return _abort();
+  }
+
+  late final _abortPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('abort');
+  late final _abort = _abortPtr.asFunction<void Function()>();
+
+  int abs(
+    int arg0,
+  ) {
+    return _abs(
+      arg0,
+    );
+  }
+
+  late final _absPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('abs');
+  late final _abs = _absPtr.asFunction<int Function(int)>();
+
+  int atexit(
+    ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> arg0,
+  ) {
+    return _atexit(
+      arg0,
+    );
+  }
+
+  late final _atexitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>>)>>('atexit');
+  late final _atexit = _atexitPtr.asFunction<
+      int Function(ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>>)>();
+
+  double atof(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _atof(
+      arg0,
+    );
+  }
+
+  late final _atofPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(ffi.Pointer<ffi.Char>)>>(
+          'atof');
+  late final _atof =
+      _atofPtr.asFunction<double Function(ffi.Pointer<ffi.Char>)>();
+
+  int atoi(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _atoi(
+      arg0,
+    );
+  }
+
+  late final _atoiPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'atoi');
+  late final _atoi = _atoiPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int atol(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _atol(
+      arg0,
+    );
+  }
+
+  late final _atolPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Pointer<ffi.Char>)>>(
+          'atol');
+  late final _atol = _atolPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int atoll(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _atoll(
+      arg0,
+    );
+  }
+
+  late final _atollPtr =
+      _lookup<ffi.NativeFunction<ffi.LongLong Function(ffi.Pointer<ffi.Char>)>>(
+          'atoll');
+  late final _atoll =
+      _atollPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Void> bsearch(
+    ffi.Pointer<ffi.Void> __key,
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>
+        __compar,
+  ) {
+    return _bsearch(
+      __key,
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _bsearchPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>)>>('bsearch');
+  late final _bsearch = _bsearchPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>,
+          int,
+          int,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>)>();
+
+  div_t div(
+    int arg0,
+    int arg1,
+  ) {
+    return _div(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _divPtr =
+      _lookup<ffi.NativeFunction<div_t Function(ffi.Int, ffi.Int)>>('div');
+  late final _div = _divPtr.asFunction<div_t Function(int, int)>();
+
+  void exit(
+    int arg0,
+  ) {
+    return _exit1(
+      arg0,
+    );
+  }
+
+  late final _exitPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>('exit');
+  late final _exit1 = _exitPtr.asFunction<void Function(int)>();
+
+  ffi.Pointer<ffi.Char> getenv(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _getenv(
+      arg0,
+    );
+  }
+
+  late final _getenvPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('getenv');
+  late final _getenv = _getenvPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  int labs(
+    int arg0,
+  ) {
+    return _labs(
+      arg0,
+    );
+  }
+
+  late final _labsPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Long)>>('labs');
+  late final _labs = _labsPtr.asFunction<int Function(int)>();
+
+  ldiv_t ldiv(
+    int arg0,
+    int arg1,
+  ) {
+    return _ldiv(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ldivPtr =
+      _lookup<ffi.NativeFunction<ldiv_t Function(ffi.Long, ffi.Long)>>('ldiv');
+  late final _ldiv = _ldivPtr.asFunction<ldiv_t Function(int, int)>();
+
+  int llabs(
+    int arg0,
+  ) {
+    return _llabs(
+      arg0,
+    );
+  }
+
+  late final _llabsPtr =
+      _lookup<ffi.NativeFunction<ffi.LongLong Function(ffi.LongLong)>>('llabs');
+  late final _llabs = _llabsPtr.asFunction<int Function(int)>();
+
+  lldiv_t lldiv(
+    int arg0,
+    int arg1,
+  ) {
+    return _lldiv(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _lldivPtr =
+      _lookup<ffi.NativeFunction<lldiv_t Function(ffi.LongLong, ffi.LongLong)>>(
+          'lldiv');
+  late final _lldiv = _lldivPtr.asFunction<lldiv_t Function(int, int)>();
+
+  int mblen(
+    ffi.Pointer<ffi.Char> __s,
+    int __n,
+  ) {
+    return _mblen(
+      __s,
+      __n,
+    );
+  }
+
+  late final _mblenPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size)>>(
+      'mblen');
+  late final _mblen =
+      _mblenPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int mbstowcs(
+    ffi.Pointer<ffi.WChar> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _mbstowcs(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _mbstowcsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Size Function(ffi.Pointer<ffi.WChar>, ffi.Pointer<ffi.Char>,
+              ffi.Size)>>('mbstowcs');
+  late final _mbstowcs = _mbstowcsPtr.asFunction<
+      int Function(ffi.Pointer<ffi.WChar>, ffi.Pointer<ffi.Char>, int)>();
+
+  int mbtowc(
+    ffi.Pointer<ffi.WChar> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _mbtowc(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _mbtowcPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.WChar>, ffi.Pointer<ffi.Char>,
+              ffi.Size)>>('mbtowc');
+  late final _mbtowc = _mbtowcPtr.asFunction<
+      int Function(ffi.Pointer<ffi.WChar>, ffi.Pointer<ffi.Char>, int)>();
+
+  void qsort(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>
+        __compar,
+  ) {
+    return _qsort(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _qsortPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>)>>('qsort');
+  late final _qsort = _qsortPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Void>,
+          int,
+          int,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>)>();
+
+  int rand() {
+    return _rand();
+  }
+
+  late final _randPtr = _lookup<ffi.NativeFunction<ffi.Int Function()>>('rand');
+  late final _rand = _randPtr.asFunction<int Function()>();
+
+  void srand(
+    int arg0,
+  ) {
+    return _srand(
+      arg0,
+    );
+  }
+
+  late final _srandPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.UnsignedInt)>>('srand');
+  late final _srand = _srandPtr.asFunction<void Function(int)>();
+
+  double strtod(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg1,
+  ) {
+    return _strtod(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _strtodPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Double Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('strtod');
+  late final _strtod = _strtodPtr.asFunction<
+      double Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  double strtof(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg1,
+  ) {
+    return _strtof(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _strtofPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Float Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('strtof');
+  late final _strtof = _strtofPtr.asFunction<
+      double Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int strtol(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtol(
+      __str,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtolPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Long Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtol');
+  late final _strtol = _strtolPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  int strtoll(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtoll(
+      __str,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtollPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.LongLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtoll');
+  late final _strtoll = _strtollPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  int strtoul(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtoul(
+      __str,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtoulPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtoul');
+  late final _strtoul = _strtoulPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  int strtoull(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtoull(
+      __str,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtoullPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLongLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtoull');
+  late final _strtoull = _strtoullPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  int system(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _system(
+      arg0,
+    );
+  }
+
+  late final _systemPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'system');
+  late final _system =
+      _systemPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int wcstombs(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.WChar> arg1,
+    int arg2,
+  ) {
+    return _wcstombs(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _wcstombsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Size Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.WChar>,
+              ffi.Size)>>('wcstombs');
+  late final _wcstombs = _wcstombsPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.WChar>, int)>();
+
+  int wctomb(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _wctomb(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _wctombPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.WChar)>>(
+      'wctomb');
+  late final _wctomb =
+      _wctombPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  void _Exit(
+    int arg0,
+  ) {
+    return __Exit(
+      arg0,
+    );
+  }
+
+  late final __ExitPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>('_Exit');
+  late final __Exit = __ExitPtr.asFunction<void Function(int)>();
+
+  int a64l(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _a64l(
+      arg0,
+    );
+  }
+
+  late final _a64lPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Pointer<ffi.Char>)>>(
+          'a64l');
+  late final _a64l = _a64lPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  double drand48() {
+    return _drand48();
+  }
+
+  late final _drand48Ptr =
+      _lookup<ffi.NativeFunction<ffi.Double Function()>>('drand48');
+  late final _drand48 = _drand48Ptr.asFunction<double Function()>();
+
+  ffi.Pointer<ffi.Char> ecvt(
+    double arg0,
+    int arg1,
+    ffi.Pointer<ffi.Int> arg2,
+    ffi.Pointer<ffi.Int> arg3,
+  ) {
+    return _ecvt(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _ecvtPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Double, ffi.Int,
+              ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.Int>)>>('ecvt');
+  late final _ecvt = _ecvtPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          double, int, ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.Int>)>();
+
+  double erand48(
+    ffi.Pointer<ffi.UnsignedShort> arg0,
+  ) {
+    return _erand48(
+      arg0,
+    );
+  }
+
+  late final _erand48Ptr = _lookup<
+          ffi
+          .NativeFunction<ffi.Double Function(ffi.Pointer<ffi.UnsignedShort>)>>(
+      'erand48');
+  late final _erand48 =
+      _erand48Ptr.asFunction<double Function(ffi.Pointer<ffi.UnsignedShort>)>();
+
+  ffi.Pointer<ffi.Char> fcvt(
+    double arg0,
+    int arg1,
+    ffi.Pointer<ffi.Int> arg2,
+    ffi.Pointer<ffi.Int> arg3,
+  ) {
+    return _fcvt(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _fcvtPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Double, ffi.Int,
+              ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.Int>)>>('fcvt');
+  late final _fcvt = _fcvtPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          double, int, ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.Int>)>();
+
+  ffi.Pointer<ffi.Char> gcvt(
+    double arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+  ) {
+    return _gcvt(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _gcvtPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Double, ffi.Int, ffi.Pointer<ffi.Char>)>>('gcvt');
+  late final _gcvt = _gcvtPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(double, int, ffi.Pointer<ffi.Char>)>();
+
+  int getsubopt(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg1,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg2,
+  ) {
+    return _getsubopt(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _getsuboptPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('getsubopt');
+  late final _getsubopt = _getsuboptPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int grantpt(
+    int arg0,
+  ) {
+    return _grantpt(
+      arg0,
+    );
+  }
+
+  late final _grantptPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('grantpt');
+  late final _grantpt = _grantptPtr.asFunction<int Function(int)>();
+
+  ffi.Pointer<ffi.Char> initstate(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _initstate(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _initstatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.UnsignedInt, ffi.Pointer<ffi.Char>, ffi.Size)>>('initstate');
+  late final _initstate = _initstatePtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int jrand48(
+    ffi.Pointer<ffi.UnsignedShort> arg0,
+  ) {
+    return _jrand48(
+      arg0,
+    );
+  }
+
+  late final _jrand48Ptr = _lookup<
+          ffi
+          .NativeFunction<ffi.Long Function(ffi.Pointer<ffi.UnsignedShort>)>>(
+      'jrand48');
+  late final _jrand48 =
+      _jrand48Ptr.asFunction<int Function(ffi.Pointer<ffi.UnsignedShort>)>();
+
+  ffi.Pointer<ffi.Char> l64a(
+    int arg0,
+  ) {
+    return _l64a(
+      arg0,
+    );
+  }
+
+  late final _l64aPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.Long)>>(
+          'l64a');
+  late final _l64a = _l64aPtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  void lcong48(
+    ffi.Pointer<ffi.UnsignedShort> arg0,
+  ) {
+    return _lcong48(
+      arg0,
+    );
+  }
+
+  late final _lcong48Ptr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Pointer<ffi.UnsignedShort>)>>(
+      'lcong48');
+  late final _lcong48 =
+      _lcong48Ptr.asFunction<void Function(ffi.Pointer<ffi.UnsignedShort>)>();
+
+  int lrand48() {
+    return _lrand48();
+  }
+
+  late final _lrand48Ptr =
+      _lookup<ffi.NativeFunction<ffi.Long Function()>>('lrand48');
+  late final _lrand48 = _lrand48Ptr.asFunction<int Function()>();
+
+  ffi.Pointer<ffi.Char> mktemp(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _mktemp(
+      arg0,
+    );
+  }
+
+  late final _mktempPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('mktemp');
+  late final _mktemp = _mktempPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  int mkstemp(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _mkstemp(
+      arg0,
+    );
+  }
+
+  late final _mkstempPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'mkstemp');
+  late final _mkstemp =
+      _mkstempPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int mrand48() {
+    return _mrand48();
+  }
+
+  late final _mrand48Ptr =
+      _lookup<ffi.NativeFunction<ffi.Long Function()>>('mrand48');
+  late final _mrand48 = _mrand48Ptr.asFunction<int Function()>();
+
+  int nrand48(
+    ffi.Pointer<ffi.UnsignedShort> arg0,
+  ) {
+    return _nrand48(
+      arg0,
+    );
+  }
+
+  late final _nrand48Ptr = _lookup<
+          ffi
+          .NativeFunction<ffi.Long Function(ffi.Pointer<ffi.UnsignedShort>)>>(
+      'nrand48');
+  late final _nrand48 =
+      _nrand48Ptr.asFunction<int Function(ffi.Pointer<ffi.UnsignedShort>)>();
+
+  int posix_openpt(
+    int arg0,
+  ) {
+    return _posix_openpt(
+      arg0,
+    );
+  }
+
+  late final _posix_openptPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('posix_openpt');
+  late final _posix_openpt = _posix_openptPtr.asFunction<int Function(int)>();
+
+  ffi.Pointer<ffi.Char> ptsname(
+    int arg0,
+  ) {
+    return _ptsname(
+      arg0,
+    );
+  }
+
+  late final _ptsnamePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.Int)>>(
+          'ptsname');
+  late final _ptsname =
+      _ptsnamePtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  int ptsname_r(
+    int fildes,
+    ffi.Pointer<ffi.Char> buffer,
+    int buflen,
+  ) {
+    return _ptsname_r(
+      fildes,
+      buffer,
+      buflen,
+    );
+  }
+
+  late final _ptsname_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Size)>>('ptsname_r');
+  late final _ptsname_r =
+      _ptsname_rPtr.asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int putenv(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _putenv(
+      arg0,
+    );
+  }
+
+  late final _putenvPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'putenv');
+  late final _putenv =
+      _putenvPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int random() {
+    return _random();
+  }
+
+  late final _randomPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function()>>('random');
+  late final _random = _randomPtr.asFunction<int Function()>();
+
+  int rand_r(
+    ffi.Pointer<ffi.UnsignedInt> arg0,
+  ) {
+    return _rand_r(
+      arg0,
+    );
+  }
+
+  late final _rand_rPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.UnsignedInt>)>>(
+      'rand_r');
+  late final _rand_r =
+      _rand_rPtr.asFunction<int Function(ffi.Pointer<ffi.UnsignedInt>)>();
+
+  ffi.Pointer<ffi.Char> realpath(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _realpath(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _realpathPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('realpath');
+  late final _realpath = _realpathPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.UnsignedShort> seed48(
+    ffi.Pointer<ffi.UnsignedShort> arg0,
+  ) {
+    return _seed48(
+      arg0,
+    );
+  }
+
+  late final _seed48Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.UnsignedShort> Function(
+              ffi.Pointer<ffi.UnsignedShort>)>>('seed48');
+  late final _seed48 = _seed48Ptr.asFunction<
+      ffi.Pointer<ffi.UnsignedShort> Function(
+          ffi.Pointer<ffi.UnsignedShort>)>();
+
+  int setenv(
+    ffi.Pointer<ffi.Char> __name,
+    ffi.Pointer<ffi.Char> __value,
+    int __overwrite,
+  ) {
+    return _setenv(
+      __name,
+      __value,
+      __overwrite,
+    );
+  }
+
+  late final _setenvPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Int)>>('setenv');
+  late final _setenv = _setenvPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  void setkey(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _setkey(
+      arg0,
+    );
+  }
+
+  late final _setkeyPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Char>)>>(
+          'setkey');
+  late final _setkey =
+      _setkeyPtr.asFunction<void Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> setstate(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _setstate(
+      arg0,
+    );
+  }
+
+  late final _setstatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('setstate');
+  late final _setstate = _setstatePtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  void srand48(
+    int arg0,
+  ) {
+    return _srand48(
+      arg0,
+    );
+  }
+
+  late final _srand48Ptr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Long)>>('srand48');
+  late final _srand48 = _srand48Ptr.asFunction<void Function(int)>();
+
+  void srandom(
+    int arg0,
+  ) {
+    return _srandom(
+      arg0,
+    );
+  }
+
+  late final _srandomPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.UnsignedInt)>>(
+          'srandom');
+  late final _srandom = _srandomPtr.asFunction<void Function(int)>();
+
+  int unlockpt(
+    int arg0,
+  ) {
+    return _unlockpt(
+      arg0,
+    );
+  }
+
+  late final _unlockptPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('unlockpt');
+  late final _unlockpt = _unlockptPtr.asFunction<int Function(int)>();
+
+  int unsetenv(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _unsetenv(
+      arg0,
+    );
+  }
+
+  late final _unsetenvPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'unsetenv');
+  late final _unsetenv =
+      _unsetenvPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int arc4random() {
+    return _arc4random();
+  }
+
+  late final _arc4randomPtr =
+      _lookup<ffi.NativeFunction<ffi.Uint32 Function()>>('arc4random');
+  late final _arc4random = _arc4randomPtr.asFunction<int Function()>();
+
+  void arc4random_addrandom(
+    ffi.Pointer<ffi.UnsignedChar> arg0,
+    int arg1,
+  ) {
+    return _arc4random_addrandom(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _arc4random_addrandomPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.UnsignedChar>, ffi.Int)>>('arc4random_addrandom');
+  late final _arc4random_addrandom = _arc4random_addrandomPtr
+      .asFunction<void Function(ffi.Pointer<ffi.UnsignedChar>, int)>();
+
+  void arc4random_buf(
+    ffi.Pointer<ffi.Void> __buf,
+    int __nbytes,
+  ) {
+    return _arc4random_buf(
+      __buf,
+      __nbytes,
+    );
+  }
+
+  late final _arc4random_bufPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Size)>>(
+      'arc4random_buf');
+  late final _arc4random_buf = _arc4random_bufPtr
+      .asFunction<void Function(ffi.Pointer<ffi.Void>, int)>();
+
+  void arc4random_stir() {
+    return _arc4random_stir();
+  }
+
+  late final _arc4random_stirPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('arc4random_stir');
+  late final _arc4random_stir =
+      _arc4random_stirPtr.asFunction<void Function()>();
+
+  int arc4random_uniform(
+    int __upper_bound,
+  ) {
+    return _arc4random_uniform(
+      __upper_bound,
+    );
+  }
+
+  late final _arc4random_uniformPtr =
+      _lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Uint32)>>(
+          'arc4random_uniform');
+  late final _arc4random_uniform =
+      _arc4random_uniformPtr.asFunction<int Function(int)>();
+
+  int atexit_b(
+    ffi.Pointer<_ObjCBlock> arg0,
+  ) {
+    return _atexit_b(
+      arg0,
+    );
+  }
+
+  late final _atexit_bPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<_ObjCBlock>)>>(
+          'atexit_b');
+  late final _atexit_b =
+      _atexit_bPtr.asFunction<int Function(ffi.Pointer<_ObjCBlock>)>();
+
+  ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() {
+    final d =
+        pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>());
+    d.ref.reserved = 0;
+    d.ref.size = ffi.sizeOf<_ObjCBlock>();
+    d.ref.copy_helper = ffi.nullptr;
+    d.ref.dispose_helper = ffi.nullptr;
+    d.ref.signature = ffi.nullptr;
+    return d;
+  }
+
+  late final _objc_block_desc1 = _newBlockDesc1();
+  late final _objc_concrete_global_block1 =
+      _lookup<ffi.Void>('_NSConcreteGlobalBlock');
+  ffi.Pointer<_ObjCBlock> _newBlock1(
+      ffi.Pointer<ffi.Void> invoke, ffi.Pointer<ffi.Void> target) {
+    final b = pkg_ffi.calloc.allocate<_ObjCBlock>(ffi.sizeOf<_ObjCBlock>());
+    b.ref.isa = _objc_concrete_global_block1;
+    b.ref.flags = 0;
+    b.ref.reserved = 0;
+    b.ref.invoke = invoke;
+    b.ref.target = target;
+    b.ref.descriptor = _objc_block_desc1;
+    final copy = _Block_copy(b.cast()).cast<_ObjCBlock>();
+    pkg_ffi.calloc.free(b);
+    return copy;
+  }
+
+  ffi.Pointer<ffi.Void> _Block_copy(
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return __Block_copy(
+      value,
+    );
+  }
+
+  late final __Block_copyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>)>>('_Block_copy');
+  late final __Block_copy = __Block_copyPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>();
+
+  void _Block_release(
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return __Block_release(
+      value,
+    );
+  }
+
+  late final __Block_releasePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
+          '_Block_release');
+  late final __Block_release =
+      __Block_releasePtr.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
+
+  late final _objc_releaseFinalizer2 =
+      ffi.NativeFinalizer(__Block_releasePtr.cast());
+  ffi.Pointer<ffi.Void> bsearch_b(
+    ffi.Pointer<ffi.Void> __key,
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<_ObjCBlock> __compar,
+  ) {
+    return _bsearch_b(
+      __key,
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _bsearch_bPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<_ObjCBlock>)>>('bsearch_b');
+  late final _bsearch_b = _bsearch_bPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  ffi.Pointer<ffi.Char> cgetcap(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _cgetcap(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _cgetcapPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Int)>>('cgetcap');
+  late final _cgetcap = _cgetcapPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int cgetclose() {
+    return _cgetclose();
+  }
+
+  late final _cgetclosePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('cgetclose');
+  late final _cgetclose = _cgetclosePtr.asFunction<int Function()>();
+
+  int cgetent(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg1,
+    ffi.Pointer<ffi.Char> arg2,
+  ) {
+    return _cgetent(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _cgetentPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Char>)>>('cgetent');
+  late final _cgetent = _cgetentPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Char>)>();
+
+  int cgetfirst(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg1,
+  ) {
+    return _cgetfirst(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _cgetfirstPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('cgetfirst');
+  late final _cgetfirst = _cgetfirstPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int cgetmatch(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _cgetmatch(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _cgetmatchPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('cgetmatch');
+  late final _cgetmatch = _cgetmatchPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int cgetnext(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg1,
+  ) {
+    return _cgetnext(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _cgetnextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('cgetnext');
+  late final _cgetnext = _cgetnextPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int cgetnum(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<ffi.Long> arg2,
+  ) {
+    return _cgetnum(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _cgetnumPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Long>)>>('cgetnum');
+  late final _cgetnum = _cgetnumPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Long>)>();
+
+  int cgetset(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _cgetset(
+      arg0,
+    );
+  }
+
+  late final _cgetsetPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'cgetset');
+  late final _cgetset =
+      _cgetsetPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int cgetstr(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg2,
+  ) {
+    return _cgetstr(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _cgetstrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('cgetstr');
+  late final _cgetstr = _cgetstrPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int cgetustr(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg2,
+  ) {
+    return _cgetustr(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _cgetustrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('cgetustr');
+  late final _cgetustr = _cgetustrPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int daemon(
+    int arg0,
+    int arg1,
+  ) {
+    return _daemon(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _daemonPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>('daemon');
+  late final _daemon = _daemonPtr.asFunction<int Function(int, int)>();
+
+  ffi.Pointer<ffi.Char> devname(
+    int arg0,
+    int arg1,
+  ) {
+    return _devname(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _devnamePtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(dev_t, mode_t)>>(
+      'devname');
+  late final _devname =
+      _devnamePtr.asFunction<ffi.Pointer<ffi.Char> Function(int, int)>();
+
+  ffi.Pointer<ffi.Char> devname_r(
+    int arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> buf,
+    int len,
+  ) {
+    return _devname_r(
+      arg0,
+      arg1,
+      buf,
+      len,
+    );
+  }
+
+  late final _devname_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              dev_t, mode_t, ffi.Pointer<ffi.Char>, ffi.Int)>>('devname_r');
+  late final _devname_r = _devname_rPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(int, int, ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> getbsize(
+    ffi.Pointer<ffi.Int> arg0,
+    ffi.Pointer<ffi.Long> arg1,
+  ) {
+    return _getbsize(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getbsizePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.Long>)>>('getbsize');
+  late final _getbsize = _getbsizePtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.Long>)>();
+
+  int getloadavg(
+    ffi.Pointer<ffi.Double> arg0,
+    int arg1,
+  ) {
+    return _getloadavg(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getloadavgPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Double>, ffi.Int)>>(
+      'getloadavg');
+  late final _getloadavg =
+      _getloadavgPtr.asFunction<int Function(ffi.Pointer<ffi.Double>, int)>();
+
+  ffi.Pointer<ffi.Char> getprogname() {
+    return _getprogname();
+  }
+
+  late final _getprognamePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function()>>(
+          'getprogname');
+  late final _getprogname =
+      _getprognamePtr.asFunction<ffi.Pointer<ffi.Char> Function()>();
+
+  void setprogname(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _setprogname(
+      arg0,
+    );
+  }
+
+  late final _setprognamePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Char>)>>(
+          'setprogname');
+  late final _setprogname =
+      _setprognamePtr.asFunction<void Function(ffi.Pointer<ffi.Char>)>();
+
+  int heapsort(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>
+        __compar,
+  ) {
+    return _heapsort(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _heapsortPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>)>>('heapsort');
+  late final _heapsort = _heapsortPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Void>,
+          int,
+          int,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>)>();
+
+  int heapsort_b(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<_ObjCBlock> __compar,
+  ) {
+    return _heapsort_b(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _heapsort_bPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Size, ffi.Size,
+              ffi.Pointer<_ObjCBlock>)>>('heapsort_b');
+  late final _heapsort_b = _heapsort_bPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  int mergesort(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>
+        __compar,
+  ) {
+    return _mergesort(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _mergesortPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>)>>('mergesort');
+  late final _mergesort = _mergesortPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Void>,
+          int,
+          int,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>)>();
+
+  int mergesort_b(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<_ObjCBlock> __compar,
+  ) {
+    return _mergesort_b(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _mergesort_bPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Size, ffi.Size,
+              ffi.Pointer<_ObjCBlock>)>>('mergesort_b');
+  late final _mergesort_b = _mergesort_bPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  void psort(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>
+        __compar,
+  ) {
+    return _psort(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _psortPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>)>>('psort');
+  late final _psort = _psortPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Void>,
+          int,
+          int,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>>)>();
+
+  void psort_b(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<_ObjCBlock> __compar,
+  ) {
+    return _psort_b(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _psort_bPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Size, ffi.Size,
+              ffi.Pointer<_ObjCBlock>)>>('psort_b');
+  late final _psort_b = _psort_bPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  void psort_r(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<ffi.Void> arg3,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<ffi.Void>)>>
+        __compar,
+  ) {
+    return _psort_r(
+      __base,
+      __nel,
+      __width,
+      arg3,
+      __compar,
+    );
+  }
+
+  late final _psort_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(
+                          ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>)>>('psort_r');
+  late final _psort_r = _psort_rPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Void>,
+          int,
+          int,
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<ffi.Void>)>>)>();
+
+  void qsort_b(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<_ObjCBlock> __compar,
+  ) {
+    return _qsort_b(
+      __base,
+      __nel,
+      __width,
+      __compar,
+    );
+  }
+
+  late final _qsort_bPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Size, ffi.Size,
+              ffi.Pointer<_ObjCBlock>)>>('qsort_b');
+  late final _qsort_b = _qsort_bPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  void qsort_r(
+    ffi.Pointer<ffi.Void> __base,
+    int __nel,
+    int __width,
+    ffi.Pointer<ffi.Void> arg3,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<ffi.Void>)>>
+        __compar,
+  ) {
+    return _qsort_r(
+      __base,
+      __nel,
+      __width,
+      arg3,
+      __compar,
+    );
+  }
+
+  late final _qsort_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Size,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(
+                          ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<ffi.Void>)>>)>>('qsort_r');
+  late final _qsort_r = _qsort_rPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Void>,
+          int,
+          int,
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<ffi.Void>)>>)>();
+
+  int radixsort(
+    ffi.Pointer<ffi.Pointer<ffi.UnsignedChar>> __base,
+    int __nel,
+    ffi.Pointer<ffi.UnsignedChar> __table,
+    int __endbyte,
+  ) {
+    return _radixsort(
+      __base,
+      __nel,
+      __table,
+      __endbyte,
+    );
+  }
+
+  late final _radixsortPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Pointer<ffi.UnsignedChar>>, ffi.Int,
+              ffi.Pointer<ffi.UnsignedChar>, ffi.UnsignedInt)>>('radixsort');
+  late final _radixsort = _radixsortPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.UnsignedChar>>, int,
+          ffi.Pointer<ffi.UnsignedChar>, int)>();
+
+  int rpmatch(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _rpmatch(
+      arg0,
+    );
+  }
+
+  late final _rpmatchPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'rpmatch');
+  late final _rpmatch =
+      _rpmatchPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int sradixsort(
+    ffi.Pointer<ffi.Pointer<ffi.UnsignedChar>> __base,
+    int __nel,
+    ffi.Pointer<ffi.UnsignedChar> __table,
+    int __endbyte,
+  ) {
+    return _sradixsort(
+      __base,
+      __nel,
+      __table,
+      __endbyte,
+    );
+  }
+
+  late final _sradixsortPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Pointer<ffi.UnsignedChar>>, ffi.Int,
+              ffi.Pointer<ffi.UnsignedChar>, ffi.UnsignedInt)>>('sradixsort');
+  late final _sradixsort = _sradixsortPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.UnsignedChar>>, int,
+          ffi.Pointer<ffi.UnsignedChar>, int)>();
+
+  void sranddev() {
+    return _sranddev();
+  }
+
+  late final _sranddevPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('sranddev');
+  late final _sranddev = _sranddevPtr.asFunction<void Function()>();
+
+  void srandomdev() {
+    return _srandomdev();
+  }
+
+  late final _srandomdevPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('srandomdev');
+  late final _srandomdev = _srandomdevPtr.asFunction<void Function()>();
+
+  ffi.Pointer<ffi.Void> reallocf(
+    ffi.Pointer<ffi.Void> __ptr,
+    int __size,
+  ) {
+    return _reallocf(
+      __ptr,
+      __size,
+    );
+  }
+
+  late final _reallocfPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('reallocf');
+  late final _reallocf = _reallocfPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, int)>();
+
+  int strtonum(
+    ffi.Pointer<ffi.Char> __numstr,
+    int __minval,
+    int __maxval,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __errstrp,
+  ) {
+    return _strtonum(
+      __numstr,
+      __minval,
+      __maxval,
+      __errstrp,
+    );
+  }
+
+  late final _strtonumPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.LongLong Function(ffi.Pointer<ffi.Char>, ffi.LongLong,
+              ffi.LongLong, ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('strtonum');
+  late final _strtonum = _strtonumPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, int,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int strtoq(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtoq(
+      __str,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtoqPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.LongLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtoq');
+  late final _strtoq = _strtoqPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  int strtouq(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtouq(
+      __str,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtouqPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLongLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtouq');
+  late final _strtouq = _strtouqPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _suboptarg =
+      _lookup<ffi.Pointer<ffi.Char>>('suboptarg');
+
+  ffi.Pointer<ffi.Char> get suboptarg => _suboptarg.value;
+
+  set suboptarg(ffi.Pointer<ffi.Char> value) => _suboptarg.value = value;
+
+  ffi.Pointer<ffi.Void> memchr(
+    ffi.Pointer<ffi.Void> __s,
+    int __c,
+    int __n,
+  ) {
+    return _memchr(
+      __s,
+      __c,
+      __n,
+    );
+  }
+
+  late final _memchrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>, ffi.Int, ffi.Size)>>('memchr');
+  late final _memchr = _memchrPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, int, int)>();
+
+  int memcmp(
+    ffi.Pointer<ffi.Void> __s1,
+    ffi.Pointer<ffi.Void> __s2,
+    int __n,
+  ) {
+    return _memcmp(
+      __s1,
+      __s2,
+      __n,
+    );
+  }
+
+  late final _memcmpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('memcmp');
+  late final _memcmp = _memcmpPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  ffi.Pointer<ffi.Void> memcpy(
+    ffi.Pointer<ffi.Void> __dst,
+    ffi.Pointer<ffi.Void> __src,
+    int __n,
+  ) {
+    return _memcpy(
+      __dst,
+      __src,
+      __n,
+    );
+  }
+
+  late final _memcpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('memcpy');
+  late final _memcpy = _memcpyPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  ffi.Pointer<ffi.Void> memmove(
+    ffi.Pointer<ffi.Void> __dst,
+    ffi.Pointer<ffi.Void> __src,
+    int __len,
+  ) {
+    return _memmove(
+      __dst,
+      __src,
+      __len,
+    );
+  }
+
+  late final _memmovePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('memmove');
+  late final _memmove = _memmovePtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  ffi.Pointer<ffi.Void> memset(
+    ffi.Pointer<ffi.Void> __b,
+    int __c,
+    int __len,
+  ) {
+    return _memset(
+      __b,
+      __c,
+      __len,
+    );
+  }
+
+  late final _memsetPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>, ffi.Int, ffi.Size)>>('memset');
+  late final _memset = _memsetPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, int, int)>();
+
+  ffi.Pointer<ffi.Char> strcat(
+    ffi.Pointer<ffi.Char> __s1,
+    ffi.Pointer<ffi.Char> __s2,
+  ) {
+    return _strcat(
+      __s1,
+      __s2,
+    );
+  }
+
+  late final _strcatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strcat');
+  late final _strcat = _strcatPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strchr(
+    ffi.Pointer<ffi.Char> __s,
+    int __c,
+  ) {
+    return _strchr(
+      __s,
+      __c,
+    );
+  }
+
+  late final _strchrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Int)>>('strchr');
+  late final _strchr = _strchrPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int strcmp(
+    ffi.Pointer<ffi.Char> __s1,
+    ffi.Pointer<ffi.Char> __s2,
+  ) {
+    return _strcmp(
+      __s1,
+      __s2,
+    );
+  }
+
+  late final _strcmpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strcmp');
+  late final _strcmp = _strcmpPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int strcoll(
+    ffi.Pointer<ffi.Char> __s1,
+    ffi.Pointer<ffi.Char> __s2,
+  ) {
+    return _strcoll(
+      __s1,
+      __s2,
+    );
+  }
+
+  late final _strcollPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strcoll');
+  late final _strcoll = _strcollPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strcpy(
+    ffi.Pointer<ffi.Char> __dst,
+    ffi.Pointer<ffi.Char> __src,
+  ) {
+    return _strcpy(
+      __dst,
+      __src,
+    );
+  }
+
+  late final _strcpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strcpy');
+  late final _strcpy = _strcpyPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int strcspn(
+    ffi.Pointer<ffi.Char> __s,
+    ffi.Pointer<ffi.Char> __charset,
+  ) {
+    return _strcspn(
+      __s,
+      __charset,
+    );
+  }
+
+  late final _strcspnPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strcspn');
+  late final _strcspn = _strcspnPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strerror(
+    int __errnum,
+  ) {
+    return _strerror(
+      __errnum,
+    );
+  }
+
+  late final _strerrorPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.Int)>>(
+          'strerror');
+  late final _strerror =
+      _strerrorPtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  int strlen(
+    ffi.Pointer<ffi.Char> __s,
+  ) {
+    return _strlen(
+      __s,
+    );
+  }
+
+  late final _strlenPtr = _lookup<
+          ffi.NativeFunction<ffi.UnsignedLong Function(ffi.Pointer<ffi.Char>)>>(
+      'strlen');
+  late final _strlen =
+      _strlenPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strncat(
+    ffi.Pointer<ffi.Char> __s1,
+    ffi.Pointer<ffi.Char> __s2,
+    int __n,
+  ) {
+    return _strncat(
+      __s1,
+      __s2,
+      __n,
+    );
+  }
+
+  late final _strncatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('strncat');
+  late final _strncat = _strncatPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int strncmp(
+    ffi.Pointer<ffi.Char> __s1,
+    ffi.Pointer<ffi.Char> __s2,
+    int __n,
+  ) {
+    return _strncmp(
+      __s1,
+      __s2,
+      __n,
+    );
+  }
+
+  late final _strncmpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Size)>>('strncmp');
+  late final _strncmp = _strncmpPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> strncpy(
+    ffi.Pointer<ffi.Char> __dst,
+    ffi.Pointer<ffi.Char> __src,
+    int __n,
+  ) {
+    return _strncpy(
+      __dst,
+      __src,
+      __n,
+    );
+  }
+
+  late final _strncpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('strncpy');
+  late final _strncpy = _strncpyPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> strpbrk(
+    ffi.Pointer<ffi.Char> __s,
+    ffi.Pointer<ffi.Char> __charset,
+  ) {
+    return _strpbrk(
+      __s,
+      __charset,
+    );
+  }
+
+  late final _strpbrkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strpbrk');
+  late final _strpbrk = _strpbrkPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strrchr(
+    ffi.Pointer<ffi.Char> __s,
+    int __c,
+  ) {
+    return _strrchr(
+      __s,
+      __c,
+    );
+  }
+
+  late final _strrchrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Int)>>('strrchr');
+  late final _strrchr = _strrchrPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int strspn(
+    ffi.Pointer<ffi.Char> __s,
+    ffi.Pointer<ffi.Char> __charset,
+  ) {
+    return _strspn(
+      __s,
+      __charset,
+    );
+  }
+
+  late final _strspnPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strspn');
+  late final _strspn = _strspnPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strstr(
+    ffi.Pointer<ffi.Char> __big,
+    ffi.Pointer<ffi.Char> __little,
+  ) {
+    return _strstr(
+      __big,
+      __little,
+    );
+  }
+
+  late final _strstrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strstr');
+  late final _strstr = _strstrPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strtok(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Char> __sep,
+  ) {
+    return _strtok(
+      __str,
+      __sep,
+    );
+  }
+
+  late final _strtokPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strtok');
+  late final _strtok = _strtokPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int strxfrm(
+    ffi.Pointer<ffi.Char> __s1,
+    ffi.Pointer<ffi.Char> __s2,
+    int __n,
+  ) {
+    return _strxfrm(
+      __s1,
+      __s2,
+      __n,
+    );
+  }
+
+  late final _strxfrmPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('strxfrm');
+  late final _strxfrm = _strxfrmPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> strtok_r(
+    ffi.Pointer<ffi.Char> __str,
+    ffi.Pointer<ffi.Char> __sep,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __lasts,
+  ) {
+    return _strtok_r(
+      __str,
+      __sep,
+      __lasts,
+    );
+  }
+
+  late final _strtok_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('strtok_r');
+  late final _strtok_r = _strtok_rPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int strerror_r(
+    int __errnum,
+    ffi.Pointer<ffi.Char> __strerrbuf,
+    int __buflen,
+  ) {
+    return _strerror_r(
+      __errnum,
+      __strerrbuf,
+      __buflen,
+    );
+  }
+
+  late final _strerror_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Size)>>('strerror_r');
+  late final _strerror_r = _strerror_rPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> strdup(
+    ffi.Pointer<ffi.Char> __s1,
+  ) {
+    return _strdup(
+      __s1,
+    );
+  }
+
+  late final _strdupPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('strdup');
+  late final _strdup = _strdupPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Void> memccpy(
+    ffi.Pointer<ffi.Void> __dst,
+    ffi.Pointer<ffi.Void> __src,
+    int __c,
+    int __n,
+  ) {
+    return _memccpy(
+      __dst,
+      __src,
+      __c,
+      __n,
+    );
+  }
+
+  late final _memccpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>, ffi.Int, ffi.Size)>>('memccpy');
+  late final _memccpy = _memccpyPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int, int)>();
+
+  ffi.Pointer<ffi.Char> stpcpy(
+    ffi.Pointer<ffi.Char> __dst,
+    ffi.Pointer<ffi.Char> __src,
+  ) {
+    return _stpcpy(
+      __dst,
+      __src,
+    );
+  }
+
+  late final _stpcpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('stpcpy');
+  late final _stpcpy = _stpcpyPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> stpncpy(
+    ffi.Pointer<ffi.Char> __dst,
+    ffi.Pointer<ffi.Char> __src,
+    int __n,
+  ) {
+    return _stpncpy(
+      __dst,
+      __src,
+      __n,
+    );
+  }
+
+  late final _stpncpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('stpncpy');
+  late final _stpncpy = _stpncpyPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> strndup(
+    ffi.Pointer<ffi.Char> __s1,
+    int __n,
+  ) {
+    return _strndup(
+      __s1,
+      __n,
+    );
+  }
+
+  late final _strndupPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('strndup');
+  late final _strndup = _strndupPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int strnlen(
+    ffi.Pointer<ffi.Char> __s1,
+    int __n,
+  ) {
+    return _strnlen(
+      __s1,
+      __n,
+    );
+  }
+
+  late final _strnlenPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Size Function(ffi.Pointer<ffi.Char>, ffi.Size)>>(
+      'strnlen');
+  late final _strnlen =
+      _strnlenPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> strsignal(
+    int __sig,
+  ) {
+    return _strsignal(
+      __sig,
+    );
+  }
+
+  late final _strsignalPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.Int)>>(
+          'strsignal');
+  late final _strsignal =
+      _strsignalPtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  int memset_s(
+    ffi.Pointer<ffi.Void> __s,
+    int __smax,
+    int __c,
+    int __n,
+  ) {
+    return _memset_s(
+      __s,
+      __smax,
+      __c,
+      __n,
+    );
+  }
+
+  late final _memset_sPtr = _lookup<
+      ffi.NativeFunction<
+          errno_t Function(
+              ffi.Pointer<ffi.Void>, rsize_t, ffi.Int, rsize_t)>>('memset_s');
+  late final _memset_s = _memset_sPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Void>, int, int, int)>();
+
+  ffi.Pointer<ffi.Void> memmem(
+    ffi.Pointer<ffi.Void> __big,
+    int __big_len,
+    ffi.Pointer<ffi.Void> __little,
+    int __little_len,
+  ) {
+    return _memmem(
+      __big,
+      __big_len,
+      __little,
+      __little_len,
+    );
+  }
+
+  late final _memmemPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, ffi.Size,
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('memmem');
+  late final _memmem = _memmemPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ffi.Void>, int, ffi.Pointer<ffi.Void>, int)>();
+
+  void memset_pattern4(
+    ffi.Pointer<ffi.Void> __b,
+    ffi.Pointer<ffi.Void> __pattern4,
+    int __len,
+  ) {
+    return _memset_pattern4(
+      __b,
+      __pattern4,
+      __len,
+    );
+  }
+
+  late final _memset_pattern4Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('memset_pattern4');
+  late final _memset_pattern4 = _memset_pattern4Ptr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  void memset_pattern8(
+    ffi.Pointer<ffi.Void> __b,
+    ffi.Pointer<ffi.Void> __pattern8,
+    int __len,
+  ) {
+    return _memset_pattern8(
+      __b,
+      __pattern8,
+      __len,
+    );
+  }
+
+  late final _memset_pattern8Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('memset_pattern8');
+  late final _memset_pattern8 = _memset_pattern8Ptr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  void memset_pattern16(
+    ffi.Pointer<ffi.Void> __b,
+    ffi.Pointer<ffi.Void> __pattern16,
+    int __len,
+  ) {
+    return _memset_pattern16(
+      __b,
+      __pattern16,
+      __len,
+    );
+  }
+
+  late final _memset_pattern16Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('memset_pattern16');
+  late final _memset_pattern16 = _memset_pattern16Ptr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  ffi.Pointer<ffi.Char> strcasestr(
+    ffi.Pointer<ffi.Char> __big,
+    ffi.Pointer<ffi.Char> __little,
+  ) {
+    return _strcasestr(
+      __big,
+      __little,
+    );
+  }
+
+  late final _strcasestrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strcasestr');
+  late final _strcasestr = _strcasestrPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strnstr(
+    ffi.Pointer<ffi.Char> __big,
+    ffi.Pointer<ffi.Char> __little,
+    int __len,
+  ) {
+    return _strnstr(
+      __big,
+      __little,
+      __len,
+    );
+  }
+
+  late final _strnstrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('strnstr');
+  late final _strnstr = _strnstrPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int strlcat(
+    ffi.Pointer<ffi.Char> __dst,
+    ffi.Pointer<ffi.Char> __source,
+    int __size,
+  ) {
+    return _strlcat(
+      __dst,
+      __source,
+      __size,
+    );
+  }
+
+  late final _strlcatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('strlcat');
+  late final _strlcat = _strlcatPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int strlcpy(
+    ffi.Pointer<ffi.Char> __dst,
+    ffi.Pointer<ffi.Char> __source,
+    int __size,
+  ) {
+    return _strlcpy(
+      __dst,
+      __source,
+      __size,
+    );
+  }
+
+  late final _strlcpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLong Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('strlcpy');
+  late final _strlcpy = _strlcpyPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  void strmode(
+    int __mode,
+    ffi.Pointer<ffi.Char> __bp,
+  ) {
+    return _strmode(
+      __mode,
+      __bp,
+    );
+  }
+
+  late final _strmodePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Int, ffi.Pointer<ffi.Char>)>>(
+      'strmode');
+  late final _strmode =
+      _strmodePtr.asFunction<void Function(int, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> strsep(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __stringp,
+    ffi.Pointer<ffi.Char> __delim,
+  ) {
+    return _strsep(
+      __stringp,
+      __delim,
+    );
+  }
+
+  late final _strsepPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Char>)>>('strsep');
+  late final _strsep = _strsepPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Char>)>();
+
+  void swab(
+    ffi.Pointer<ffi.Void> arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    int arg2,
+  ) {
+    return _swab(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _swabPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, ssize_t)>>('swab');
+  late final _swab = _swabPtr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  int timingsafe_bcmp(
+    ffi.Pointer<ffi.Void> __b1,
+    ffi.Pointer<ffi.Void> __b2,
+    int __len,
+  ) {
+    return _timingsafe_bcmp(
+      __b1,
+      __b2,
+      __len,
+    );
+  }
+
+  late final _timingsafe_bcmpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('timingsafe_bcmp');
+  late final _timingsafe_bcmp = _timingsafe_bcmpPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  int strsignal_r(
+    int __sig,
+    ffi.Pointer<ffi.Char> __strsignalbuf,
+    int __buflen,
+  ) {
+    return _strsignal_r(
+      __sig,
+      __strsignalbuf,
+      __buflen,
+    );
+  }
+
+  late final _strsignal_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Size)>>('strsignal_r');
+  late final _strsignal_r = _strsignal_rPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int bcmp(
+    ffi.Pointer<ffi.Void> arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    int arg2,
+  ) {
+    return _bcmp(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _bcmpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, ffi.Size)>>('bcmp');
+  late final _bcmp = _bcmpPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  void bcopy(
+    ffi.Pointer<ffi.Void> arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    int arg2,
+  ) {
+    return _bcopy(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _bcopyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('bcopy');
+  late final _bcopy = _bcopyPtr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  void bzero(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+  ) {
+    return _bzero(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _bzeroPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Size)>>(
+      'bzero');
+  late final _bzero =
+      _bzeroPtr.asFunction<void Function(ffi.Pointer<ffi.Void>, int)>();
+
+  ffi.Pointer<ffi.Char> index(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _index(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _indexPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Int)>>('index');
+  late final _index = _indexPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> rindex(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _rindex(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _rindexPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Int)>>('rindex');
+  late final _rindex = _rindexPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int ffs(
+    int arg0,
+  ) {
+    return _ffs(
+      arg0,
+    );
+  }
+
+  late final _ffsPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('ffs');
+  late final _ffs = _ffsPtr.asFunction<int Function(int)>();
+
+  int strcasecmp(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _strcasecmp(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _strcasecmpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('strcasecmp');
+  late final _strcasecmp = _strcasecmpPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int strncasecmp(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _strncasecmp(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _strncasecmpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Size)>>('strncasecmp');
+  late final _strncasecmp = _strncasecmpPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int ffsl(
+    int arg0,
+  ) {
+    return _ffsl(
+      arg0,
+    );
+  }
+
+  late final _ffslPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Long)>>('ffsl');
+  late final _ffsl = _ffslPtr.asFunction<int Function(int)>();
+
+  int ffsll(
+    int arg0,
+  ) {
+    return _ffsll(
+      arg0,
+    );
+  }
+
+  late final _ffsllPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.LongLong)>>('ffsll');
+  late final _ffsll = _ffsllPtr.asFunction<int Function(int)>();
+
+  int fls(
+    int arg0,
+  ) {
+    return _fls(
+      arg0,
+    );
+  }
+
+  late final _flsPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('fls');
+  late final _fls = _flsPtr.asFunction<int Function(int)>();
+
+  int flsl(
+    int arg0,
+  ) {
+    return _flsl(
+      arg0,
+    );
+  }
+
+  late final _flslPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Long)>>('flsl');
+  late final _flsl = _flslPtr.asFunction<int Function(int)>();
+
+  int flsll(
+    int arg0,
+  ) {
+    return _flsll(
+      arg0,
+    );
+  }
+
+  late final _flsllPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.LongLong)>>('flsll');
+  late final _flsll = _flsllPtr.asFunction<int Function(int)>();
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Char>>> _tzname =
+      _lookup<ffi.Pointer<ffi.Pointer<ffi.Char>>>('tzname');
+
+  ffi.Pointer<ffi.Pointer<ffi.Char>> get tzname => _tzname.value;
+
+  set tzname(ffi.Pointer<ffi.Pointer<ffi.Char>> value) => _tzname.value = value;
+
+  late final ffi.Pointer<ffi.Int> _getdate_err =
+      _lookup<ffi.Int>('getdate_err');
+
+  int get getdate_err => _getdate_err.value;
+
+  set getdate_err(int value) => _getdate_err.value = value;
+
+  late final ffi.Pointer<ffi.Long> _timezone = _lookup<ffi.Long>('timezone');
+
+  int get timezone => _timezone.value;
+
+  set timezone(int value) => _timezone.value = value;
+
+  late final ffi.Pointer<ffi.Int> _daylight = _lookup<ffi.Int>('daylight');
+
+  int get daylight => _daylight.value;
+
+  set daylight(int value) => _daylight.value = value;
+
+  ffi.Pointer<ffi.Char> asctime(
+    ffi.Pointer<tm> arg0,
+  ) {
+    return _asctime(
+      arg0,
+    );
+  }
+
+  late final _asctimePtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<tm>)>>(
+      'asctime');
+  late final _asctime =
+      _asctimePtr.asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<tm>)>();
+
+  int clock() {
+    return _clock();
+  }
+
+  late final _clockPtr =
+      _lookup<ffi.NativeFunction<clock_t Function()>>('clock');
+  late final _clock = _clockPtr.asFunction<int Function()>();
+
+  ffi.Pointer<ffi.Char> ctime(
+    ffi.Pointer<time_t> arg0,
+  ) {
+    return _ctime(
+      arg0,
+    );
+  }
+
+  late final _ctimePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<time_t>)>>(
+      'ctime');
+  late final _ctime = _ctimePtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<time_t>)>();
+
+  double difftime(
+    int arg0,
+    int arg1,
+  ) {
+    return _difftime(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _difftimePtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(time_t, time_t)>>(
+          'difftime');
+  late final _difftime = _difftimePtr.asFunction<double Function(int, int)>();
+
+  ffi.Pointer<tm> getdate(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _getdate(
+      arg0,
+    );
+  }
+
+  late final _getdatePtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<tm> Function(ffi.Pointer<ffi.Char>)>>(
+      'getdate');
+  late final _getdate =
+      _getdatePtr.asFunction<ffi.Pointer<tm> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<tm> gmtime(
+    ffi.Pointer<time_t> arg0,
+  ) {
+    return _gmtime(
+      arg0,
+    );
+  }
+
+  late final _gmtimePtr = _lookup<
+      ffi
+      .NativeFunction<ffi.Pointer<tm> Function(ffi.Pointer<time_t>)>>('gmtime');
+  late final _gmtime =
+      _gmtimePtr.asFunction<ffi.Pointer<tm> Function(ffi.Pointer<time_t>)>();
+
+  ffi.Pointer<tm> localtime(
+    ffi.Pointer<time_t> arg0,
+  ) {
+    return _localtime(
+      arg0,
+    );
+  }
+
+  late final _localtimePtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<tm> Function(ffi.Pointer<time_t>)>>(
+      'localtime');
+  late final _localtime =
+      _localtimePtr.asFunction<ffi.Pointer<tm> Function(ffi.Pointer<time_t>)>();
+
+  int mktime(
+    ffi.Pointer<tm> arg0,
+  ) {
+    return _mktime(
+      arg0,
+    );
+  }
+
+  late final _mktimePtr =
+      _lookup<ffi.NativeFunction<time_t Function(ffi.Pointer<tm>)>>('mktime');
+  late final _mktime = _mktimePtr.asFunction<int Function(ffi.Pointer<tm>)>();
+
+  int strftime(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+    ffi.Pointer<tm> arg3,
+  ) {
+    return _strftime(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _strftimePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Size Function(ffi.Pointer<ffi.Char>, ffi.Size,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<tm>)>>('strftime');
+  late final _strftime = _strftimePtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<tm>)>();
+
+  ffi.Pointer<ffi.Char> strptime(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<tm> arg2,
+  ) {
+    return _strptime(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _strptimePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<tm>)>>('strptime');
+  late final _strptime = _strptimePtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, ffi.Pointer<tm>)>();
+
+  int time(
+    ffi.Pointer<time_t> arg0,
+  ) {
+    return _time(
+      arg0,
+    );
+  }
+
+  late final _timePtr =
+      _lookup<ffi.NativeFunction<time_t Function(ffi.Pointer<time_t>)>>('time');
+  late final _time = _timePtr.asFunction<int Function(ffi.Pointer<time_t>)>();
+
+  void tzset() {
+    return _tzset();
+  }
+
+  late final _tzsetPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('tzset');
+  late final _tzset = _tzsetPtr.asFunction<void Function()>();
+
+  ffi.Pointer<ffi.Char> asctime_r(
+    ffi.Pointer<tm> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _asctime_r(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _asctime_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<tm>, ffi.Pointer<ffi.Char>)>>('asctime_r');
+  late final _asctime_r = _asctime_rPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(ffi.Pointer<tm>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> ctime_r(
+    ffi.Pointer<time_t> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _ctime_r(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ctime_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<time_t>, ffi.Pointer<ffi.Char>)>>('ctime_r');
+  late final _ctime_r = _ctime_rPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<time_t>, ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<tm> gmtime_r(
+    ffi.Pointer<time_t> arg0,
+    ffi.Pointer<tm> arg1,
+  ) {
+    return _gmtime_r(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _gmtime_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<tm> Function(
+              ffi.Pointer<time_t>, ffi.Pointer<tm>)>>('gmtime_r');
+  late final _gmtime_r = _gmtime_rPtr.asFunction<
+      ffi.Pointer<tm> Function(ffi.Pointer<time_t>, ffi.Pointer<tm>)>();
+
+  ffi.Pointer<tm> localtime_r(
+    ffi.Pointer<time_t> arg0,
+    ffi.Pointer<tm> arg1,
+  ) {
+    return _localtime_r(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _localtime_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<tm> Function(
+              ffi.Pointer<time_t>, ffi.Pointer<tm>)>>('localtime_r');
+  late final _localtime_r = _localtime_rPtr.asFunction<
+      ffi.Pointer<tm> Function(ffi.Pointer<time_t>, ffi.Pointer<tm>)>();
+
+  int posix2time(
+    int arg0,
+  ) {
+    return _posix2time(
+      arg0,
+    );
+  }
+
+  late final _posix2timePtr =
+      _lookup<ffi.NativeFunction<time_t Function(time_t)>>('posix2time');
+  late final _posix2time = _posix2timePtr.asFunction<int Function(int)>();
+
+  void tzsetwall() {
+    return _tzsetwall();
+  }
+
+  late final _tzsetwallPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('tzsetwall');
+  late final _tzsetwall = _tzsetwallPtr.asFunction<void Function()>();
+
+  int time2posix(
+    int arg0,
+  ) {
+    return _time2posix(
+      arg0,
+    );
+  }
+
+  late final _time2posixPtr =
+      _lookup<ffi.NativeFunction<time_t Function(time_t)>>('time2posix');
+  late final _time2posix = _time2posixPtr.asFunction<int Function(int)>();
+
+  int timelocal(
+    ffi.Pointer<tm> arg0,
+  ) {
+    return _timelocal(
+      arg0,
+    );
+  }
+
+  late final _timelocalPtr =
+      _lookup<ffi.NativeFunction<time_t Function(ffi.Pointer<tm>)>>(
+          'timelocal');
+  late final _timelocal =
+      _timelocalPtr.asFunction<int Function(ffi.Pointer<tm>)>();
+
+  int timegm(
+    ffi.Pointer<tm> arg0,
+  ) {
+    return _timegm(
+      arg0,
+    );
+  }
+
+  late final _timegmPtr =
+      _lookup<ffi.NativeFunction<time_t Function(ffi.Pointer<tm>)>>('timegm');
+  late final _timegm = _timegmPtr.asFunction<int Function(ffi.Pointer<tm>)>();
+
+  int nanosleep(
+    ffi.Pointer<timespec> __rqtp,
+    ffi.Pointer<timespec> __rmtp,
+  ) {
+    return _nanosleep(
+      __rqtp,
+      __rmtp,
+    );
+  }
+
+  late final _nanosleepPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<timespec>, ffi.Pointer<timespec>)>>('nanosleep');
+  late final _nanosleep = _nanosleepPtr
+      .asFunction<int Function(ffi.Pointer<timespec>, ffi.Pointer<timespec>)>();
+
+  int clock_getres(
+    int __clock_id,
+    ffi.Pointer<timespec> __res,
+  ) {
+    return _clock_getres(
+      __clock_id,
+      __res,
+    );
+  }
+
+  late final _clock_getresPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Int32, ffi.Pointer<timespec>)>>(
+      'clock_getres');
+  late final _clock_getres =
+      _clock_getresPtr.asFunction<int Function(int, ffi.Pointer<timespec>)>();
+
+  int clock_gettime(
+    int __clock_id,
+    ffi.Pointer<timespec> __tp,
+  ) {
+    return _clock_gettime(
+      __clock_id,
+      __tp,
+    );
+  }
+
+  late final _clock_gettimePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Int32, ffi.Pointer<timespec>)>>(
+      'clock_gettime');
+  late final _clock_gettime =
+      _clock_gettimePtr.asFunction<int Function(int, ffi.Pointer<timespec>)>();
+
+  int clock_gettime_nsec_np(
+    int __clock_id,
+  ) {
+    return _clock_gettime_nsec_np(
+      __clock_id,
+    );
+  }
+
+  late final _clock_gettime_nsec_npPtr =
+      _lookup<ffi.NativeFunction<__uint64_t Function(ffi.Int32)>>(
+          'clock_gettime_nsec_np');
+  late final _clock_gettime_nsec_np =
+      _clock_gettime_nsec_npPtr.asFunction<int Function(int)>();
+
+  int clock_settime(
+    int __clock_id,
+    ffi.Pointer<timespec> __tp,
+  ) {
+    return _clock_settime(
+      __clock_id,
+      __tp,
+    );
+  }
+
+  late final _clock_settimePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Int32, ffi.Pointer<timespec>)>>(
+      'clock_settime');
+  late final _clock_settime =
+      _clock_settimePtr.asFunction<int Function(int, ffi.Pointer<timespec>)>();
+
+  int timespec_get(
+    ffi.Pointer<timespec> ts,
+    int base,
+  ) {
+    return _timespec_get(
+      ts,
+      base,
+    );
+  }
+
+  late final _timespec_getPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<timespec>, ffi.Int)>>(
+      'timespec_get');
+  late final _timespec_get =
+      _timespec_getPtr.asFunction<int Function(ffi.Pointer<timespec>, int)>();
+
+  int imaxabs(
+    int j,
+  ) {
+    return _imaxabs(
+      j,
+    );
+  }
+
+  late final _imaxabsPtr =
+      _lookup<ffi.NativeFunction<intmax_t Function(intmax_t)>>('imaxabs');
+  late final _imaxabs = _imaxabsPtr.asFunction<int Function(int)>();
+
+  imaxdiv_t imaxdiv(
+    int __numer,
+    int __denom,
+  ) {
+    return _imaxdiv(
+      __numer,
+      __denom,
+    );
+  }
+
+  late final _imaxdivPtr =
+      _lookup<ffi.NativeFunction<imaxdiv_t Function(intmax_t, intmax_t)>>(
+          'imaxdiv');
+  late final _imaxdiv = _imaxdivPtr.asFunction<imaxdiv_t Function(int, int)>();
+
+  int strtoimax(
+    ffi.Pointer<ffi.Char> __nptr,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtoimax(
+      __nptr,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtoimaxPtr = _lookup<
+      ffi.NativeFunction<
+          intmax_t Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtoimax');
+  late final _strtoimax = _strtoimaxPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  int strtoumax(
+    ffi.Pointer<ffi.Char> __nptr,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __endptr,
+    int __base,
+  ) {
+    return _strtoumax(
+      __nptr,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _strtoumaxPtr = _lookup<
+      ffi.NativeFunction<
+          uintmax_t Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Int)>>('strtoumax');
+  late final _strtoumax = _strtoumaxPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>, int)>();
+
+  int wcstoimax(
+    ffi.Pointer<ffi.WChar> __nptr,
+    ffi.Pointer<ffi.Pointer<ffi.WChar>> __endptr,
+    int __base,
+  ) {
+    return _wcstoimax(
+      __nptr,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _wcstoimaxPtr = _lookup<
+      ffi.NativeFunction<
+          intmax_t Function(ffi.Pointer<ffi.WChar>,
+              ffi.Pointer<ffi.Pointer<ffi.WChar>>, ffi.Int)>>('wcstoimax');
+  late final _wcstoimax = _wcstoimaxPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.WChar>, ffi.Pointer<ffi.Pointer<ffi.WChar>>, int)>();
+
+  int wcstoumax(
+    ffi.Pointer<ffi.WChar> __nptr,
+    ffi.Pointer<ffi.Pointer<ffi.WChar>> __endptr,
+    int __base,
+  ) {
+    return _wcstoumax(
+      __nptr,
+      __endptr,
+      __base,
+    );
+  }
+
+  late final _wcstoumaxPtr = _lookup<
+      ffi.NativeFunction<
+          uintmax_t Function(ffi.Pointer<ffi.WChar>,
+              ffi.Pointer<ffi.Pointer<ffi.WChar>>, ffi.Int)>>('wcstoumax');
+  late final _wcstoumax = _wcstoumaxPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.WChar>, ffi.Pointer<ffi.Pointer<ffi.WChar>>, int)>();
+
+  ffi.Pointer<ffi.Void> _Block_copy1(
+    ffi.Pointer<ffi.Void> aBlock,
+  ) {
+    return __Block_copy1(
+      aBlock,
+    );
+  }
+
+  late final __Block_copy1Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>)>>('_Block_copy');
+  late final __Block_copy1 = __Block_copy1Ptr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>();
+
+  void _Block_release1(
+    ffi.Pointer<ffi.Void> aBlock,
+  ) {
+    return __Block_release1(
+      aBlock,
+    );
+  }
+
+  late final __Block_release1Ptr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
+          '_Block_release');
+  late final __Block_release1 =
+      __Block_release1Ptr.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
+
+  void _Block_object_assign(
+    ffi.Pointer<ffi.Void> arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    int arg2,
+  ) {
+    return __Block_object_assign(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final __Block_object_assignPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              ffi.Int)>>('_Block_object_assign');
+  late final __Block_object_assign = __Block_object_assignPtr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  void _Block_object_dispose(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+  ) {
+    return __Block_object_dispose(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final __Block_object_disposePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Int)>>(
+      '_Block_object_dispose');
+  late final __Block_object_dispose = __Block_object_disposePtr
+      .asFunction<void Function(ffi.Pointer<ffi.Void>, int)>();
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Void>>>
+      __NSConcreteGlobalBlock =
+      _lookup<ffi.Pointer<ffi.Pointer<ffi.Void>>>('_NSConcreteGlobalBlock');
+
+  ffi.Pointer<ffi.Pointer<ffi.Void>> get _NSConcreteGlobalBlock =>
+      __NSConcreteGlobalBlock.value;
+
+  set _NSConcreteGlobalBlock(ffi.Pointer<ffi.Pointer<ffi.Void>> value) =>
+      __NSConcreteGlobalBlock.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Pointer<ffi.Void>>>
+      __NSConcreteStackBlock =
+      _lookup<ffi.Pointer<ffi.Pointer<ffi.Void>>>('_NSConcreteStackBlock');
+
+  ffi.Pointer<ffi.Pointer<ffi.Void>> get _NSConcreteStackBlock =>
+      __NSConcreteStackBlock.value;
+
+  set _NSConcreteStackBlock(ffi.Pointer<ffi.Pointer<ffi.Void>> value) =>
+      __NSConcreteStackBlock.value = value;
+
+  /// Debugger functions
+  void Debugger() {
+    return _Debugger();
+  }
+
+  late final _DebuggerPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('Debugger');
+  late final _Debugger = _DebuggerPtr.asFunction<void Function()>();
+
+  void DebugStr(
+    ConstStr255Param debuggerMsg,
+  ) {
+    return _DebugStr(
+      debuggerMsg,
+    );
+  }
+
+  late final _DebugStrPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ConstStr255Param)>>(
+          'DebugStr');
+  late final _DebugStr =
+      _DebugStrPtr.asFunction<void Function(ConstStr255Param)>();
+
+  void SysBreak() {
+    return _SysBreak();
+  }
+
+  late final _SysBreakPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('SysBreak');
+  late final _SysBreak = _SysBreakPtr.asFunction<void Function()>();
+
+  void SysBreakStr(
+    ConstStr255Param debuggerMsg,
+  ) {
+    return _SysBreakStr(
+      debuggerMsg,
+    );
+  }
+
+  late final _SysBreakStrPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ConstStr255Param)>>(
+          'SysBreakStr');
+  late final _SysBreakStr =
+      _SysBreakStrPtr.asFunction<void Function(ConstStr255Param)>();
+
+  void SysBreakFunc(
+    ConstStr255Param debuggerMsg,
+  ) {
+    return _SysBreakFunc(
+      debuggerMsg,
+    );
+  }
+
+  late final _SysBreakFuncPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ConstStr255Param)>>(
+          'SysBreakFunc');
+  late final _SysBreakFunc =
+      _SysBreakFuncPtr.asFunction<void Function(ConstStr255Param)>();
+
+  late final ffi.Pointer<ffi.Double> _kCFCoreFoundationVersionNumber =
+      _lookup<ffi.Double>('kCFCoreFoundationVersionNumber');
+
+  double get kCFCoreFoundationVersionNumber =>
+      _kCFCoreFoundationVersionNumber.value;
+
+  set kCFCoreFoundationVersionNumber(double value) =>
+      _kCFCoreFoundationVersionNumber.value = value;
+
+  late final ffi.Pointer<CFIndex> _kCFNotFound =
+      _lookup<CFIndex>('kCFNotFound');
+
+  int get kCFNotFound => _kCFNotFound.value;
+
+  set kCFNotFound(int value) => _kCFNotFound.value = value;
+
+  CFRange __CFRangeMake(
+    int loc,
+    int len,
+  ) {
+    return ___CFRangeMake(
+      loc,
+      len,
+    );
+  }
+
+  late final ___CFRangeMakePtr =
+      _lookup<ffi.NativeFunction<CFRange Function(CFIndex, CFIndex)>>(
+          '__CFRangeMake');
+  late final ___CFRangeMake =
+      ___CFRangeMakePtr.asFunction<CFRange Function(int, int)>();
+
+  int CFNullGetTypeID() {
+    return _CFNullGetTypeID();
+  }
+
+  late final _CFNullGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFNullGetTypeID');
+  late final _CFNullGetTypeID =
+      _CFNullGetTypeIDPtr.asFunction<int Function()>();
+
+  late final ffi.Pointer<CFNullRef> _kCFNull = _lookup<CFNullRef>('kCFNull');
+
+  CFNullRef get kCFNull => _kCFNull.value;
+
+  set kCFNull(CFNullRef value) => _kCFNull.value = value;
+
+  late final ffi.Pointer<CFAllocatorRef> _kCFAllocatorDefault =
+      _lookup<CFAllocatorRef>('kCFAllocatorDefault');
+
+  CFAllocatorRef get kCFAllocatorDefault => _kCFAllocatorDefault.value;
+
+  set kCFAllocatorDefault(CFAllocatorRef value) =>
+      _kCFAllocatorDefault.value = value;
+
+  late final ffi.Pointer<CFAllocatorRef> _kCFAllocatorSystemDefault =
+      _lookup<CFAllocatorRef>('kCFAllocatorSystemDefault');
+
+  CFAllocatorRef get kCFAllocatorSystemDefault =>
+      _kCFAllocatorSystemDefault.value;
+
+  set kCFAllocatorSystemDefault(CFAllocatorRef value) =>
+      _kCFAllocatorSystemDefault.value = value;
+
+  late final ffi.Pointer<CFAllocatorRef> _kCFAllocatorMalloc =
+      _lookup<CFAllocatorRef>('kCFAllocatorMalloc');
+
+  CFAllocatorRef get kCFAllocatorMalloc => _kCFAllocatorMalloc.value;
+
+  set kCFAllocatorMalloc(CFAllocatorRef value) =>
+      _kCFAllocatorMalloc.value = value;
+
+  late final ffi.Pointer<CFAllocatorRef> _kCFAllocatorMallocZone =
+      _lookup<CFAllocatorRef>('kCFAllocatorMallocZone');
+
+  CFAllocatorRef get kCFAllocatorMallocZone => _kCFAllocatorMallocZone.value;
+
+  set kCFAllocatorMallocZone(CFAllocatorRef value) =>
+      _kCFAllocatorMallocZone.value = value;
+
+  late final ffi.Pointer<CFAllocatorRef> _kCFAllocatorNull =
+      _lookup<CFAllocatorRef>('kCFAllocatorNull');
+
+  CFAllocatorRef get kCFAllocatorNull => _kCFAllocatorNull.value;
+
+  set kCFAllocatorNull(CFAllocatorRef value) => _kCFAllocatorNull.value = value;
+
+  late final ffi.Pointer<CFAllocatorRef> _kCFAllocatorUseContext =
+      _lookup<CFAllocatorRef>('kCFAllocatorUseContext');
+
+  CFAllocatorRef get kCFAllocatorUseContext => _kCFAllocatorUseContext.value;
+
+  set kCFAllocatorUseContext(CFAllocatorRef value) =>
+      _kCFAllocatorUseContext.value = value;
+
+  int CFAllocatorGetTypeID() {
+    return _CFAllocatorGetTypeID();
+  }
+
+  late final _CFAllocatorGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFAllocatorGetTypeID');
+  late final _CFAllocatorGetTypeID =
+      _CFAllocatorGetTypeIDPtr.asFunction<int Function()>();
+
+  void CFAllocatorSetDefault(
+    CFAllocatorRef allocator,
+  ) {
+    return _CFAllocatorSetDefault(
+      allocator,
+    );
+  }
+
+  late final _CFAllocatorSetDefaultPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFAllocatorRef)>>(
+          'CFAllocatorSetDefault');
+  late final _CFAllocatorSetDefault =
+      _CFAllocatorSetDefaultPtr.asFunction<void Function(CFAllocatorRef)>();
+
+  CFAllocatorRef CFAllocatorGetDefault() {
+    return _CFAllocatorGetDefault();
+  }
+
+  late final _CFAllocatorGetDefaultPtr =
+      _lookup<ffi.NativeFunction<CFAllocatorRef Function()>>(
+          'CFAllocatorGetDefault');
+  late final _CFAllocatorGetDefault =
+      _CFAllocatorGetDefaultPtr.asFunction<CFAllocatorRef Function()>();
+
+  CFAllocatorRef CFAllocatorCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<CFAllocatorContext> context,
+  ) {
+    return _CFAllocatorCreate(
+      allocator,
+      context,
+    );
+  }
+
+  late final _CFAllocatorCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFAllocatorRef Function(CFAllocatorRef,
+              ffi.Pointer<CFAllocatorContext>)>>('CFAllocatorCreate');
+  late final _CFAllocatorCreate = _CFAllocatorCreatePtr.asFunction<
+      CFAllocatorRef Function(
+          CFAllocatorRef, ffi.Pointer<CFAllocatorContext>)>();
+
+  ffi.Pointer<ffi.Void> CFAllocatorAllocate(
+    CFAllocatorRef allocator,
+    int size,
+    int hint,
+  ) {
+    return _CFAllocatorAllocate(
+      allocator,
+      size,
+      hint,
+    );
+  }
+
+  late final _CFAllocatorAllocatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFAllocatorRef, CFIndex, CFOptionFlags)>>('CFAllocatorAllocate');
+  late final _CFAllocatorAllocate = _CFAllocatorAllocatePtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(CFAllocatorRef, int, int)>();
+
+  ffi.Pointer<ffi.Void> CFAllocatorReallocate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<ffi.Void> ptr,
+    int newsize,
+    int hint,
+  ) {
+    return _CFAllocatorReallocate(
+      allocator,
+      ptr,
+      newsize,
+      hint,
+    );
+  }
+
+  late final _CFAllocatorReallocatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(CFAllocatorRef, ffi.Pointer<ffi.Void>,
+              CFIndex, CFOptionFlags)>>('CFAllocatorReallocate');
+  late final _CFAllocatorReallocate = _CFAllocatorReallocatePtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          CFAllocatorRef, ffi.Pointer<ffi.Void>, int, int)>();
+
+  void CFAllocatorDeallocate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<ffi.Void> ptr,
+  ) {
+    return _CFAllocatorDeallocate(
+      allocator,
+      ptr,
+    );
+  }
+
+  late final _CFAllocatorDeallocatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFAllocatorRef, ffi.Pointer<ffi.Void>)>>('CFAllocatorDeallocate');
+  late final _CFAllocatorDeallocate = _CFAllocatorDeallocatePtr.asFunction<
+      void Function(CFAllocatorRef, ffi.Pointer<ffi.Void>)>();
+
+  int CFAllocatorGetPreferredSizeForSize(
+    CFAllocatorRef allocator,
+    int size,
+    int hint,
+  ) {
+    return _CFAllocatorGetPreferredSizeForSize(
+      allocator,
+      size,
+      hint,
+    );
+  }
+
+  late final _CFAllocatorGetPreferredSizeForSizePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFAllocatorRef, CFIndex,
+              CFOptionFlags)>>('CFAllocatorGetPreferredSizeForSize');
+  late final _CFAllocatorGetPreferredSizeForSize =
+      _CFAllocatorGetPreferredSizeForSizePtr.asFunction<
+          int Function(CFAllocatorRef, int, int)>();
+
+  void CFAllocatorGetContext(
+    CFAllocatorRef allocator,
+    ffi.Pointer<CFAllocatorContext> context,
+  ) {
+    return _CFAllocatorGetContext(
+      allocator,
+      context,
+    );
+  }
+
+  late final _CFAllocatorGetContextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFAllocatorRef,
+              ffi.Pointer<CFAllocatorContext>)>>('CFAllocatorGetContext');
+  late final _CFAllocatorGetContext = _CFAllocatorGetContextPtr.asFunction<
+      void Function(CFAllocatorRef, ffi.Pointer<CFAllocatorContext>)>();
+
+  int CFGetTypeID(
+    CFTypeRef cf,
+  ) {
+    return _CFGetTypeID(
+      cf,
+    );
+  }
+
+  late final _CFGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function(CFTypeRef)>>('CFGetTypeID');
+  late final _CFGetTypeID =
+      _CFGetTypeIDPtr.asFunction<int Function(CFTypeRef)>();
+
+  CFStringRef CFCopyTypeIDDescription(
+    int type_id,
+  ) {
+    return _CFCopyTypeIDDescription(
+      type_id,
+    );
+  }
+
+  late final _CFCopyTypeIDDescriptionPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFTypeID)>>(
+          'CFCopyTypeIDDescription');
+  late final _CFCopyTypeIDDescription =
+      _CFCopyTypeIDDescriptionPtr.asFunction<CFStringRef Function(int)>();
+
+  CFTypeRef CFRetain(
+    CFTypeRef cf,
+  ) {
+    return _CFRetain(
+      cf,
+    );
+  }
+
+  late final _CFRetainPtr =
+      _lookup<ffi.NativeFunction<CFTypeRef Function(CFTypeRef)>>('CFRetain');
+  late final _CFRetain =
+      _CFRetainPtr.asFunction<CFTypeRef Function(CFTypeRef)>();
+
+  void CFRelease(
+    CFTypeRef cf,
+  ) {
+    return _CFRelease(
+      cf,
+    );
+  }
+
+  late final _CFReleasePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTypeRef)>>('CFRelease');
+  late final _CFRelease = _CFReleasePtr.asFunction<void Function(CFTypeRef)>();
+
+  CFTypeRef CFAutorelease(
+    CFTypeRef arg,
+  ) {
+    return _CFAutorelease(
+      arg,
+    );
+  }
+
+  late final _CFAutoreleasePtr =
+      _lookup<ffi.NativeFunction<CFTypeRef Function(CFTypeRef)>>(
+          'CFAutorelease');
+  late final _CFAutorelease =
+      _CFAutoreleasePtr.asFunction<CFTypeRef Function(CFTypeRef)>();
+
+  int CFGetRetainCount(
+    CFTypeRef cf,
+  ) {
+    return _CFGetRetainCount(
+      cf,
+    );
+  }
+
+  late final _CFGetRetainCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFTypeRef)>>(
+          'CFGetRetainCount');
+  late final _CFGetRetainCount =
+      _CFGetRetainCountPtr.asFunction<int Function(CFTypeRef)>();
+
+  int CFEqual(
+    CFTypeRef cf1,
+    CFTypeRef cf2,
+  ) {
+    return _CFEqual(
+      cf1,
+      cf2,
+    );
+  }
+
+  late final _CFEqualPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFTypeRef, CFTypeRef)>>(
+          'CFEqual');
+  late final _CFEqual =
+      _CFEqualPtr.asFunction<int Function(CFTypeRef, CFTypeRef)>();
+
+  int CFHash(
+    CFTypeRef cf,
+  ) {
+    return _CFHash(
+      cf,
+    );
+  }
+
+  late final _CFHashPtr =
+      _lookup<ffi.NativeFunction<CFHashCode Function(CFTypeRef)>>('CFHash');
+  late final _CFHash = _CFHashPtr.asFunction<int Function(CFTypeRef)>();
+
+  CFStringRef CFCopyDescription(
+    CFTypeRef cf,
+  ) {
+    return _CFCopyDescription(
+      cf,
+    );
+  }
+
+  late final _CFCopyDescriptionPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFTypeRef)>>(
+          'CFCopyDescription');
+  late final _CFCopyDescription =
+      _CFCopyDescriptionPtr.asFunction<CFStringRef Function(CFTypeRef)>();
+
+  CFAllocatorRef CFGetAllocator(
+    CFTypeRef cf,
+  ) {
+    return _CFGetAllocator(
+      cf,
+    );
+  }
+
+  late final _CFGetAllocatorPtr =
+      _lookup<ffi.NativeFunction<CFAllocatorRef Function(CFTypeRef)>>(
+          'CFGetAllocator');
+  late final _CFGetAllocator =
+      _CFGetAllocatorPtr.asFunction<CFAllocatorRef Function(CFTypeRef)>();
+
+  CFTypeRef CFMakeCollectable(
+    CFTypeRef cf,
+  ) {
+    return _CFMakeCollectable(
+      cf,
+    );
+  }
+
+  late final _CFMakeCollectablePtr =
+      _lookup<ffi.NativeFunction<CFTypeRef Function(CFTypeRef)>>(
+          'CFMakeCollectable');
+  late final _CFMakeCollectable =
+      _CFMakeCollectablePtr.asFunction<CFTypeRef Function(CFTypeRef)>();
+
+  /// !
+  /// @constant kCFTypeArrayCallBacks
+  /// Predefined CFArrayCallBacks structure containing a set of callbacks
+  /// appropriate for use when the values in a CFArray are all CFTypes.
+  late final ffi.Pointer<CFArrayCallBacks> _kCFTypeArrayCallBacks =
+      _lookup<CFArrayCallBacks>('kCFTypeArrayCallBacks');
+
+  CFArrayCallBacks get kCFTypeArrayCallBacks => _kCFTypeArrayCallBacks.ref;
+
+  /// !
+  /// @function CFArrayGetTypeID
+  /// Returns the type identifier of all CFArray instances.
+  int CFArrayGetTypeID() {
+    return _CFArrayGetTypeID();
+  }
+
+  late final _CFArrayGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFArrayGetTypeID');
+  late final _CFArrayGetTypeID =
+      _CFArrayGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function CFArrayCreate
+  /// Creates a new immutable array with the given values.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param values A C array of the pointer-sized values to be in the
+  /// array. The values in the array are ordered in the same order
+  /// in which they appear in this C array. This parameter may be
+  /// NULL if the numValues parameter is 0. This C array is not
+  /// changed or freed by this function. If this parameter is not
+  /// a valid pointer to a C array of at least numValues pointers,
+  /// the behavior is undefined.
+  /// @param numValues The number of values to copy from the values C
+  /// array into the CFArray. This number will be the count of the
+  /// array.
+  /// If this parameter is negative, or greater than the number of
+  /// values actually in the value's C array, the behavior is
+  /// undefined.
+  /// @param callBacks A pointer to a CFArrayCallBacks structure
+  /// initialized with the callbacks for the array to use on each
+  /// value in the array. The retain callback will be used within
+  /// this function, for example, to retain all of the new values
+  /// from the values C array. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a
+  /// structure on the stack can be passed in, or can be reused
+  /// for multiple array creations. If the version field of this
+  /// callbacks structure is not one of the defined ones for
+  /// CFArray, the behavior is undefined. The retain field may be
+  /// NULL, in which case the CFArray will do nothing to add a
+  /// retain to the contained values for the array. The release
+  /// field may be NULL, in which case the CFArray will do nothing
+  /// to remove the array's retain (if any) on the values when the
+  /// array is destroyed. If the copyDescription field is NULL,
+  /// the array will create a simple description for the value. If
+  /// the equal field is NULL, the array will use pointer equality
+  /// to test for equality of values. This callbacks parameter
+  /// itself may be NULL, which is treated as if a valid structure
+  /// of version 0 with all fields NULL had been passed in.
+  /// Otherwise, if any of the fields are not valid pointers to
+  /// functions of the correct type, or this parameter is not a
+  /// valid pointer to a  CFArrayCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the values put into the
+  /// array is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is
+  /// undefined.
+  /// @result A reference to the new immutable CFArray.
+  CFArrayRef CFArrayCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+    int numValues,
+    ffi.Pointer<CFArrayCallBacks> callBacks,
+  ) {
+    return _CFArrayCreate(
+      allocator,
+      values,
+      numValues,
+      callBacks,
+    );
+  }
+
+  late final _CFArrayCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(
+              CFAllocatorRef,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              CFIndex,
+              ffi.Pointer<CFArrayCallBacks>)>>('CFArrayCreate');
+  late final _CFArrayCreate = _CFArrayCreatePtr.asFunction<
+      CFArrayRef Function(CFAllocatorRef, ffi.Pointer<ffi.Pointer<ffi.Void>>,
+          int, ffi.Pointer<CFArrayCallBacks>)>();
+
+  /// !
+  /// @function CFArrayCreateCopy
+  /// Creates a new immutable array with the values from the given array.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theArray The array which is to be copied. The values from the
+  /// array are copied as pointers into the new array (that is,
+  /// the values themselves are copied, not that which the values
+  /// point to, if anything). However, the values are also
+  /// retained by the new array. The count of the new array will
+  /// be the same as the given array. The new array uses the same
+  /// callbacks as the array to be copied. If this parameter is
+  /// not a valid CFArray, the behavior is undefined.
+  /// @result A reference to the new immutable CFArray.
+  CFArrayRef CFArrayCreateCopy(
+    CFAllocatorRef allocator,
+    CFArrayRef theArray,
+  ) {
+    return _CFArrayCreateCopy(
+      allocator,
+      theArray,
+    );
+  }
+
+  late final _CFArrayCreateCopyPtr = _lookup<
+          ffi.NativeFunction<CFArrayRef Function(CFAllocatorRef, CFArrayRef)>>(
+      'CFArrayCreateCopy');
+  late final _CFArrayCreateCopy = _CFArrayCreateCopyPtr.asFunction<
+      CFArrayRef Function(CFAllocatorRef, CFArrayRef)>();
+
+  /// !
+  /// @function CFArrayCreateMutable
+  /// Creates a new empty mutable array.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFArray. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. An array's actual capacity is only limited by
+  /// address space and available memory constraints). If this
+  /// parameter is negative, the behavior is undefined.
+  /// @param callBacks A pointer to a CFArrayCallBacks structure
+  /// initialized with the callbacks for the array to use on each
+  /// value in the array. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a
+  /// structure on the stack can be passed in, or can be reused
+  /// for multiple array creations. If the version field of this
+  /// callbacks structure is not one of the defined ones for
+  /// CFArray, the behavior is undefined. The retain field may be
+  /// NULL, in which case the CFArray will do nothing to add a
+  /// retain to the contained values for the array. The release
+  /// field may be NULL, in which case the CFArray will do nothing
+  /// to remove the array's retain (if any) on the values when the
+  /// array is destroyed. If the copyDescription field is NULL,
+  /// the array will create a simple description for the value. If
+  /// the equal field is NULL, the array will use pointer equality
+  /// to test for equality of values. This callbacks parameter
+  /// itself may be NULL, which is treated as if a valid structure
+  /// of version 0 with all fields NULL had been passed in.
+  /// Otherwise, if any of the fields are not valid pointers to
+  /// functions of the correct type, or this parameter is not a
+  /// valid pointer to a  CFArrayCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the values put into the
+  /// array is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is
+  /// undefined.
+  /// @result A reference to the new mutable CFArray.
+  CFMutableArrayRef CFArrayCreateMutable(
+    CFAllocatorRef allocator,
+    int capacity,
+    ffi.Pointer<CFArrayCallBacks> callBacks,
+  ) {
+    return _CFArrayCreateMutable(
+      allocator,
+      capacity,
+      callBacks,
+    );
+  }
+
+  late final _CFArrayCreateMutablePtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableArrayRef Function(CFAllocatorRef, CFIndex,
+              ffi.Pointer<CFArrayCallBacks>)>>('CFArrayCreateMutable');
+  late final _CFArrayCreateMutable = _CFArrayCreateMutablePtr.asFunction<
+      CFMutableArrayRef Function(
+          CFAllocatorRef, int, ffi.Pointer<CFArrayCallBacks>)>();
+
+  /// !
+  /// @function CFArrayCreateMutableCopy
+  /// Creates a new mutable array with the values from the given array.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFArray. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. An array's actual capacity is only limited by
+  /// address space and available memory constraints).
+  /// This parameter must be greater than or equal
+  /// to the count of the array which is to be copied, or the
+  /// behavior is undefined. If this parameter is negative, the
+  /// behavior is undefined.
+  /// @param theArray The array which is to be copied. The values from the
+  /// array are copied as pointers into the new array (that is,
+  /// the values themselves are copied, not that which the values
+  /// point to, if anything). However, the values are also
+  /// retained by the new array. The count of the new array will
+  /// be the same as the given array. The new array uses the same
+  /// callbacks as the array to be copied. If this parameter is
+  /// not a valid CFArray, the behavior is undefined.
+  /// @result A reference to the new mutable CFArray.
+  CFMutableArrayRef CFArrayCreateMutableCopy(
+    CFAllocatorRef allocator,
+    int capacity,
+    CFArrayRef theArray,
+  ) {
+    return _CFArrayCreateMutableCopy(
+      allocator,
+      capacity,
+      theArray,
+    );
+  }
+
+  late final _CFArrayCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableArrayRef Function(CFAllocatorRef, CFIndex,
+              CFArrayRef)>>('CFArrayCreateMutableCopy');
+  late final _CFArrayCreateMutableCopy =
+      _CFArrayCreateMutableCopyPtr.asFunction<
+          CFMutableArrayRef Function(CFAllocatorRef, int, CFArrayRef)>();
+
+  /// !
+  /// @function CFArrayGetCount
+  /// Returns the number of values currently in the array.
+  /// @param theArray The array to be queried. If this parameter is not a valid
+  /// CFArray, the behavior is undefined.
+  /// @result The number of values in the array.
+  int CFArrayGetCount(
+    CFArrayRef theArray,
+  ) {
+    return _CFArrayGetCount(
+      theArray,
+    );
+  }
+
+  late final _CFArrayGetCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFArrayRef)>>(
+          'CFArrayGetCount');
+  late final _CFArrayGetCount =
+      _CFArrayGetCountPtr.asFunction<int Function(CFArrayRef)>();
+
+  /// !
+  /// @function CFArrayGetCountOfValue
+  /// Counts the number of times the given value occurs in the array.
+  /// @param theArray The array to be searched. If this parameter is not a
+  /// valid CFArray, the behavior is undefined.
+  /// @param range The range within the array to search. If the range
+  /// location or end point (defined by the location plus length
+  /// minus 1) is outside the index space of the array (0 to
+  /// N-1 inclusive, where N is the count of the array), the
+  /// behavior is undefined. If the range length is negative, the
+  /// behavior is undefined. The range may be empty (length 0).
+  /// @param value The value for which to find matches in the array. The
+  /// equal() callback provided when the array was created is
+  /// used to compare. If the equal() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the array, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result The number of times the given value occurs in the array,
+  /// within the specified range.
+  int CFArrayGetCountOfValue(
+    CFArrayRef theArray,
+    CFRange range,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFArrayGetCountOfValue(
+      theArray,
+      range,
+      value,
+    );
+  }
+
+  late final _CFArrayGetCountOfValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFArrayRef, CFRange,
+              ffi.Pointer<ffi.Void>)>>('CFArrayGetCountOfValue');
+  late final _CFArrayGetCountOfValue = _CFArrayGetCountOfValuePtr.asFunction<
+      int Function(CFArrayRef, CFRange, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayContainsValue
+  /// Reports whether or not the value is in the array.
+  /// @param theArray The array to be searched. If this parameter is not a
+  /// valid CFArray, the behavior is undefined.
+  /// @param range The range within the array to search. If the range
+  /// location or end point (defined by the location plus length
+  /// minus 1) is outside the index space of the array (0 to
+  /// N-1 inclusive, where N is the count of the array), the
+  /// behavior is undefined. If the range length is negative, the
+  /// behavior is undefined. The range may be empty (length 0).
+  /// @param value The value for which to find matches in the array. The
+  /// equal() callback provided when the array was created is
+  /// used to compare. If the equal() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the array, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result true, if the value is in the specified range of the array,
+  /// otherwise false.
+  int CFArrayContainsValue(
+    CFArrayRef theArray,
+    CFRange range,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFArrayContainsValue(
+      theArray,
+      range,
+      value,
+    );
+  }
+
+  late final _CFArrayContainsValuePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFArrayRef, CFRange,
+              ffi.Pointer<ffi.Void>)>>('CFArrayContainsValue');
+  late final _CFArrayContainsValue = _CFArrayContainsValuePtr.asFunction<
+      int Function(CFArrayRef, CFRange, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayGetValueAtIndex
+  /// Retrieves the value at the given index.
+  /// @param theArray The array to be queried. If this parameter is not a
+  /// valid CFArray, the behavior is undefined.
+  /// @param idx The index of the value to retrieve. If the index is
+  /// outside the index space of the array (0 to N-1 inclusive,
+  /// where N is the count of the array), the behavior is
+  /// undefined.
+  /// @result The value with the given index in the array.
+  ffi.Pointer<ffi.Void> CFArrayGetValueAtIndex(
+    CFArrayRef theArray,
+    int idx,
+  ) {
+    return _CFArrayGetValueAtIndex(
+      theArray,
+      idx,
+    );
+  }
+
+  late final _CFArrayGetValueAtIndexPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ffi.Void> Function(CFArrayRef, CFIndex)>>(
+      'CFArrayGetValueAtIndex');
+  late final _CFArrayGetValueAtIndex = _CFArrayGetValueAtIndexPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(CFArrayRef, int)>();
+
+  /// !
+  /// @function CFArrayGetValues
+  /// Fills the buffer with values from the array.
+  /// @param theArray The array to be queried. If this parameter is not a
+  /// valid CFArray, the behavior is undefined.
+  /// @param range The range of values within the array to retrieve. If
+  /// the range location or end point (defined by the location
+  /// plus length minus 1) is outside the index space of the
+  /// array (0 to N-1 inclusive, where N is the count of the
+  /// array), the behavior is undefined. If the range length is
+  /// negative, the behavior is undefined. The range may be empty
+  /// (length 0), in which case no values are put into the buffer.
+  /// @param values A C array of pointer-sized values to be filled with
+  /// values from the array. The values in the C array are ordered
+  /// in the same order in which they appear in the array. If this
+  /// parameter is not a valid pointer to a C array of at least
+  /// range.length pointers, the behavior is undefined.
+  void CFArrayGetValues(
+    CFArrayRef theArray,
+    CFRange range,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+  ) {
+    return _CFArrayGetValues(
+      theArray,
+      range,
+      values,
+    );
+  }
+
+  late final _CFArrayGetValuesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFArrayRef, CFRange,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('CFArrayGetValues');
+  late final _CFArrayGetValues = _CFArrayGetValuesPtr.asFunction<
+      void Function(CFArrayRef, CFRange, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function CFArrayApplyFunction
+  /// Calls a function once for each value in the array.
+  /// @param theArray The array to be operated upon. If this parameter is not
+  /// a valid CFArray, the behavior is undefined.
+  /// @param range The range of values within the array to which to apply
+  /// the function. If the range location or end point (defined by
+  /// the location plus length minus 1) is outside the index
+  /// space of the array (0 to N-1 inclusive, where N is the count
+  /// of the array), the behavior is undefined. If the range
+  /// length is negative, the behavior is undefined. The range may
+  /// be empty (length 0).
+  /// @param applier The callback function to call once for each value in
+  /// the given range in the array. If this parameter is not a
+  /// pointer to a function of the correct prototype, the behavior
+  /// is undefined. If there are values in the range which the
+  /// applier function does not expect or cannot properly apply
+  /// to, the behavior is undefined.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the second parameter to the applier function, but is
+  /// otherwise unused by this function. If the context is not
+  /// what is expected by the applier function, the behavior is
+  /// undefined.
+  void CFArrayApplyFunction(
+    CFArrayRef theArray,
+    CFRange range,
+    CFArrayApplierFunction applier,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFArrayApplyFunction(
+      theArray,
+      range,
+      applier,
+      context,
+    );
+  }
+
+  late final _CFArrayApplyFunctionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFArrayRef, CFRange, CFArrayApplierFunction,
+              ffi.Pointer<ffi.Void>)>>('CFArrayApplyFunction');
+  late final _CFArrayApplyFunction = _CFArrayApplyFunctionPtr.asFunction<
+      void Function(CFArrayRef, CFRange, CFArrayApplierFunction,
+          ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayGetFirstIndexOfValue
+  /// Searches the array for the value.
+  /// @param theArray The array to be searched. If this parameter is not a
+  /// valid CFArray, the behavior is undefined.
+  /// @param range The range within the array to search. If the range
+  /// location or end point (defined by the location plus length
+  /// minus 1) is outside the index space of the array (0 to
+  /// N-1 inclusive, where N is the count of the array), the
+  /// behavior is undefined. If the range length is negative, the
+  /// behavior is undefined. The range may be empty (length 0).
+  /// The search progresses from the smallest index defined by
+  /// the range to the largest.
+  /// @param value The value for which to find a match in the array. The
+  /// equal() callback provided when the array was created is
+  /// used to compare. If the equal() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the array, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result The lowest index of the matching values in the range, or
+  /// kCFNotFound if no value in the range matched.
+  int CFArrayGetFirstIndexOfValue(
+    CFArrayRef theArray,
+    CFRange range,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFArrayGetFirstIndexOfValue(
+      theArray,
+      range,
+      value,
+    );
+  }
+
+  late final _CFArrayGetFirstIndexOfValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFArrayRef, CFRange,
+              ffi.Pointer<ffi.Void>)>>('CFArrayGetFirstIndexOfValue');
+  late final _CFArrayGetFirstIndexOfValue = _CFArrayGetFirstIndexOfValuePtr
+      .asFunction<int Function(CFArrayRef, CFRange, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayGetLastIndexOfValue
+  /// Searches the array for the value.
+  /// @param theArray The array to be searched. If this parameter is not a
+  /// valid CFArray, the behavior is undefined.
+  /// @param range The range within the array to search. If the range
+  /// location or end point (defined by the location plus length
+  /// minus 1) is outside the index space of the array (0 to
+  /// N-1 inclusive, where N is the count of the array), the
+  /// behavior is undefined. If the range length is negative, the
+  /// behavior is undefined. The range may be empty (length 0).
+  /// The search progresses from the largest index defined by the
+  /// range to the smallest.
+  /// @param value The value for which to find a match in the array. The
+  /// equal() callback provided when the array was created is
+  /// used to compare. If the equal() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the array, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result The highest index of the matching values in the range, or
+  /// kCFNotFound if no value in the range matched.
+  int CFArrayGetLastIndexOfValue(
+    CFArrayRef theArray,
+    CFRange range,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFArrayGetLastIndexOfValue(
+      theArray,
+      range,
+      value,
+    );
+  }
+
+  late final _CFArrayGetLastIndexOfValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFArrayRef, CFRange,
+              ffi.Pointer<ffi.Void>)>>('CFArrayGetLastIndexOfValue');
+  late final _CFArrayGetLastIndexOfValue = _CFArrayGetLastIndexOfValuePtr
+      .asFunction<int Function(CFArrayRef, CFRange, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayBSearchValues
+  /// Searches the array for the value using a binary search algorithm.
+  /// @param theArray The array to be searched. If this parameter is not a
+  /// valid CFArray, the behavior is undefined. If the array is
+  /// not sorted from least to greatest according to the
+  /// comparator function, the behavior is undefined.
+  /// @param range The range within the array to search. If the range
+  /// location or end point (defined by the location plus length
+  /// minus 1) is outside the index space of the array (0 to
+  /// N-1 inclusive, where N is the count of the array), the
+  /// behavior is undefined. If the range length is negative, the
+  /// behavior is undefined. The range may be empty (length 0).
+  /// @param value The value for which to find a match in the array. If
+  /// value, or any of the values in the array, are not understood
+  /// by the comparator callback, the behavior is undefined.
+  /// @param comparator The function with the comparator function type
+  /// signature which is used in the binary search operation to
+  /// compare values in the array with the given value. If this
+  /// parameter is not a pointer to a function of the correct
+  /// prototype, the behavior is undefined. If there are values
+  /// in the range which the comparator function does not expect
+  /// or cannot properly compare, the behavior is undefined.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the third parameter to the comparator function, but is
+  /// otherwise unused by this function. If the context is not
+  /// what is expected by the comparator function, the behavior is
+  /// undefined.
+  /// @result The return value is either 1) the index of a value that
+  /// matched, if the target value matches one or more in the
+  /// range, 2) greater than or equal to the end point of the
+  /// range, if the value is greater than all the values in the
+  /// range, or 3) the index of the value greater than the target
+  /// value, if the value lies between two of (or less than all
+  /// of) the values in the range.
+  int CFArrayBSearchValues(
+    CFArrayRef theArray,
+    CFRange range,
+    ffi.Pointer<ffi.Void> value,
+    CFComparatorFunction comparator,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFArrayBSearchValues(
+      theArray,
+      range,
+      value,
+      comparator,
+      context,
+    );
+  }
+
+  late final _CFArrayBSearchValuesPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(
+              CFArrayRef,
+              CFRange,
+              ffi.Pointer<ffi.Void>,
+              CFComparatorFunction,
+              ffi.Pointer<ffi.Void>)>>('CFArrayBSearchValues');
+  late final _CFArrayBSearchValues = _CFArrayBSearchValuesPtr.asFunction<
+      int Function(CFArrayRef, CFRange, ffi.Pointer<ffi.Void>,
+          CFComparatorFunction, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayAppendValue
+  /// Adds the value to the array giving it a new largest index.
+  /// @param theArray The array to which the value is to be added. If this
+  /// parameter is not a valid mutable CFArray, the behavior is
+  /// undefined.
+  /// @param value The value to add to the array. The value is retained by
+  /// the array using the retain callback provided when the array
+  /// was created. If the value is not of the sort expected by the
+  /// retain callback, the behavior is undefined. The value is
+  /// assigned to the index one larger than the previous largest
+  /// index, and the count of the array is increased by one.
+  void CFArrayAppendValue(
+    CFMutableArrayRef theArray,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFArrayAppendValue(
+      theArray,
+      value,
+    );
+  }
+
+  late final _CFArrayAppendValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableArrayRef, ffi.Pointer<ffi.Void>)>>('CFArrayAppendValue');
+  late final _CFArrayAppendValue = _CFArrayAppendValuePtr.asFunction<
+      void Function(CFMutableArrayRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayInsertValueAtIndex
+  /// Adds the value to the array, giving it the given index.
+  /// @param theArray The array to which the value is to be added. If this
+  /// parameter is not a valid mutable CFArray, the behavior is
+  /// undefined.
+  /// @param idx The index to which to add the new value. If the index is
+  /// outside the index space of the array (0 to N inclusive,
+  /// where N is the count of the array before the operation), the
+  /// behavior is undefined. If the index is the same as N, this
+  /// function has the same effect as CFArrayAppendValue().
+  /// @param value The value to add to the array. The value is retained by
+  /// the array using the retain callback provided when the array
+  /// was created. If the value is not of the sort expected by the
+  /// retain callback, the behavior is undefined. The value is
+  /// assigned to the given index, and all values with equal and
+  /// larger indices have their indexes increased by one.
+  void CFArrayInsertValueAtIndex(
+    CFMutableArrayRef theArray,
+    int idx,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFArrayInsertValueAtIndex(
+      theArray,
+      idx,
+      value,
+    );
+  }
+
+  late final _CFArrayInsertValueAtIndexPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableArrayRef, CFIndex,
+              ffi.Pointer<ffi.Void>)>>('CFArrayInsertValueAtIndex');
+  late final _CFArrayInsertValueAtIndex =
+      _CFArrayInsertValueAtIndexPtr.asFunction<
+          void Function(CFMutableArrayRef, int, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArraySetValueAtIndex
+  /// Changes the value with the given index in the array.
+  /// @param theArray The array in which the value is to be changed. If this
+  /// parameter is not a valid mutable CFArray, the behavior is
+  /// undefined.
+  /// @param idx The index to which to set the new value. If the index is
+  /// outside the index space of the array (0 to N inclusive,
+  /// where N is the count of the array before the operation), the
+  /// behavior is undefined. If the index is the same as N, this
+  /// function has the same effect as CFArrayAppendValue().
+  /// @param value The value to set in the array. The value is retained by
+  /// the array using the retain callback provided when the array
+  /// was created, and the previous value with that index is
+  /// released. If the value is not of the sort expected by the
+  /// retain callback, the behavior is undefined. The indices of
+  /// other values is not affected.
+  void CFArraySetValueAtIndex(
+    CFMutableArrayRef theArray,
+    int idx,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFArraySetValueAtIndex(
+      theArray,
+      idx,
+      value,
+    );
+  }
+
+  late final _CFArraySetValueAtIndexPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableArrayRef, CFIndex,
+              ffi.Pointer<ffi.Void>)>>('CFArraySetValueAtIndex');
+  late final _CFArraySetValueAtIndex = _CFArraySetValueAtIndexPtr.asFunction<
+      void Function(CFMutableArrayRef, int, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayRemoveValueAtIndex
+  /// Removes the value with the given index from the array.
+  /// @param theArray The array from which the value is to be removed. If
+  /// this parameter is not a valid mutable CFArray, the behavior
+  /// is undefined.
+  /// @param idx The index from which to remove the value. If the index is
+  /// outside the index space of the array (0 to N-1 inclusive,
+  /// where N is the count of the array before the operation), the
+  /// behavior is undefined.
+  void CFArrayRemoveValueAtIndex(
+    CFMutableArrayRef theArray,
+    int idx,
+  ) {
+    return _CFArrayRemoveValueAtIndex(
+      theArray,
+      idx,
+    );
+  }
+
+  late final _CFArrayRemoveValueAtIndexPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFMutableArrayRef, CFIndex)>>(
+      'CFArrayRemoveValueAtIndex');
+  late final _CFArrayRemoveValueAtIndex = _CFArrayRemoveValueAtIndexPtr
+      .asFunction<void Function(CFMutableArrayRef, int)>();
+
+  /// !
+  /// @function CFArrayRemoveAllValues
+  /// Removes all the values from the array, making it empty.
+  /// @param theArray The array from which all of the values are to be
+  /// removed. If this parameter is not a valid mutable CFArray,
+  /// the behavior is undefined.
+  void CFArrayRemoveAllValues(
+    CFMutableArrayRef theArray,
+  ) {
+    return _CFArrayRemoveAllValues(
+      theArray,
+    );
+  }
+
+  late final _CFArrayRemoveAllValuesPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableArrayRef)>>(
+          'CFArrayRemoveAllValues');
+  late final _CFArrayRemoveAllValues =
+      _CFArrayRemoveAllValuesPtr.asFunction<void Function(CFMutableArrayRef)>();
+
+  /// !
+  /// @function CFArrayReplaceValues
+  /// Replaces a range of values in the array.
+  /// @param theArray The array from which all of the values are to be
+  /// removed. If this parameter is not a valid mutable CFArray,
+  /// the behavior is undefined.
+  /// @param range The range of values within the array to replace. If the
+  /// range location or end point (defined by the location plus
+  /// length minus 1) is outside the index space of the array (0
+  /// to N inclusive, where N is the count of the array), the
+  /// behavior is undefined. If the range length is negative, the
+  /// behavior is undefined. The range may be empty (length 0),
+  /// in which case the new values are merely inserted at the
+  /// range location.
+  /// @param newValues A C array of the pointer-sized values to be placed
+  /// into the array. The new values in the array are ordered in
+  /// the same order in which they appear in this C array. This
+  /// parameter may be NULL if the newCount parameter is 0. This
+  /// C array is not changed or freed by this function. If this
+  /// parameter is not a valid pointer to a C array of at least
+  /// newCount pointers, the behavior is undefined.
+  /// @param newCount The number of values to copy from the values C
+  /// array into the CFArray. If this parameter is different than
+  /// the range length, the excess newCount values will be
+  /// inserted after the range, or the excess range values will be
+  /// deleted. This parameter may be 0, in which case no new
+  /// values are replaced into the array and the values in the
+  /// range are simply removed. If this parameter is negative, or
+  /// greater than the number of values actually in the newValues
+  /// C array, the behavior is undefined.
+  void CFArrayReplaceValues(
+    CFMutableArrayRef theArray,
+    CFRange range,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> newValues,
+    int newCount,
+  ) {
+    return _CFArrayReplaceValues(
+      theArray,
+      range,
+      newValues,
+      newCount,
+    );
+  }
+
+  late final _CFArrayReplaceValuesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableArrayRef,
+              CFRange,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              CFIndex)>>('CFArrayReplaceValues');
+  late final _CFArrayReplaceValues = _CFArrayReplaceValuesPtr.asFunction<
+      void Function(CFMutableArrayRef, CFRange,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>, int)>();
+
+  /// !
+  /// @function CFArrayExchangeValuesAtIndices
+  /// Exchanges the values at two indices of the array.
+  /// @param theArray The array of which the values are to be swapped. If
+  /// this parameter is not a valid mutable CFArray, the behavior
+  /// is undefined.
+  /// @param idx1 The first index whose values should be swapped. If the
+  /// index is outside the index space of the array (0 to N-1
+  /// inclusive, where N is the count of the array before the
+  /// operation), the behavior is undefined.
+  /// @param idx2 The second index whose values should be swapped. If the
+  /// index is outside the index space of the array (0 to N-1
+  /// inclusive, where N is the count of the array before the
+  /// operation), the behavior is undefined.
+  void CFArrayExchangeValuesAtIndices(
+    CFMutableArrayRef theArray,
+    int idx1,
+    int idx2,
+  ) {
+    return _CFArrayExchangeValuesAtIndices(
+      theArray,
+      idx1,
+      idx2,
+    );
+  }
+
+  late final _CFArrayExchangeValuesAtIndicesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableArrayRef, CFIndex,
+              CFIndex)>>('CFArrayExchangeValuesAtIndices');
+  late final _CFArrayExchangeValuesAtIndices =
+      _CFArrayExchangeValuesAtIndicesPtr.asFunction<
+          void Function(CFMutableArrayRef, int, int)>();
+
+  /// !
+  /// @function CFArraySortValues
+  /// Sorts the values in the array using the given comparison function.
+  /// @param theArray The array whose values are to be sorted. If this
+  /// parameter is not a valid mutable CFArray, the behavior is
+  /// undefined.
+  /// @param range The range of values within the array to sort. If the
+  /// range location or end point (defined by the location plus
+  /// length minus 1) is outside the index space of the array (0
+  /// to N-1 inclusive, where N is the count of the array), the
+  /// behavior is undefined. If the range length is negative, the
+  /// behavior is undefined. The range may be empty (length 0).
+  /// @param comparator The function with the comparator function type
+  /// signature which is used in the sort operation to compare
+  /// values in the array with the given value. If this parameter
+  /// is not a pointer to a function of the correct prototype, the
+  /// the behavior is undefined. If there are values in the array
+  /// which the comparator function does not expect or cannot
+  /// properly compare, the behavior is undefined. The values in
+  /// the range are sorted from least to greatest according to
+  /// this function.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the third parameter to the comparator function, but is
+  /// otherwise unused by this function. If the context is not
+  /// what is expected by the comparator function, the behavior is
+  /// undefined.
+  void CFArraySortValues(
+    CFMutableArrayRef theArray,
+    CFRange range,
+    CFComparatorFunction comparator,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFArraySortValues(
+      theArray,
+      range,
+      comparator,
+      context,
+    );
+  }
+
+  late final _CFArraySortValuesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableArrayRef, CFRange, CFComparatorFunction,
+              ffi.Pointer<ffi.Void>)>>('CFArraySortValues');
+  late final _CFArraySortValues = _CFArraySortValuesPtr.asFunction<
+      void Function(CFMutableArrayRef, CFRange, CFComparatorFunction,
+          ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFArrayAppendArray
+  /// Adds the values from an array to another array.
+  /// @param theArray The array to which values from the otherArray are to
+  /// be added. If this parameter is not a valid mutable CFArray,
+  /// the behavior is undefined.
+  /// @param otherArray The array providing the values to be added to the
+  /// array. If this parameter is not a valid CFArray, the
+  /// behavior is undefined.
+  /// @param otherRange The range within the otherArray from which to add
+  /// the values to the array. If the range location or end point
+  /// (defined by the location plus length minus 1) is outside
+  /// the index space of the otherArray (0 to N-1 inclusive, where
+  /// N is the count of the otherArray), the behavior is
+  /// undefined. The new values are retained by the array using
+  /// the retain callback provided when the array was created. If
+  /// the values are not of the sort expected by the retain
+  /// callback, the behavior is undefined. The values are assigned
+  /// to the indices one larger than the previous largest index
+  /// in the array, and beyond, and the count of the array is
+  /// increased by range.length. The values are assigned new
+  /// indices in the array from smallest to largest index in the
+  /// order in which they appear in the otherArray.
+  void CFArrayAppendArray(
+    CFMutableArrayRef theArray,
+    CFArrayRef otherArray,
+    CFRange otherRange,
+  ) {
+    return _CFArrayAppendArray(
+      theArray,
+      otherArray,
+      otherRange,
+    );
+  }
+
+  late final _CFArrayAppendArrayPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableArrayRef, CFArrayRef, CFRange)>>('CFArrayAppendArray');
+  late final _CFArrayAppendArray = _CFArrayAppendArrayPtr.asFunction<
+      void Function(CFMutableArrayRef, CFArrayRef, CFRange)>();
+
+  late final ffi.Pointer<CFBagCallBacks> _kCFTypeBagCallBacks =
+      _lookup<CFBagCallBacks>('kCFTypeBagCallBacks');
+
+  CFBagCallBacks get kCFTypeBagCallBacks => _kCFTypeBagCallBacks.ref;
+
+  late final ffi.Pointer<CFBagCallBacks> _kCFCopyStringBagCallBacks =
+      _lookup<CFBagCallBacks>('kCFCopyStringBagCallBacks');
+
+  CFBagCallBacks get kCFCopyStringBagCallBacks =>
+      _kCFCopyStringBagCallBacks.ref;
+
+  int CFBagGetTypeID() {
+    return _CFBagGetTypeID();
+  }
+
+  late final _CFBagGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFBagGetTypeID');
+  late final _CFBagGetTypeID = _CFBagGetTypeIDPtr.asFunction<int Function()>();
+
+  CFBagRef CFBagCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+    int numValues,
+    ffi.Pointer<CFBagCallBacks> callBacks,
+  ) {
+    return _CFBagCreate(
+      allocator,
+      values,
+      numValues,
+      callBacks,
+    );
+  }
+
+  late final _CFBagCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFBagRef Function(CFAllocatorRef, ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              CFIndex, ffi.Pointer<CFBagCallBacks>)>>('CFBagCreate');
+  late final _CFBagCreate = _CFBagCreatePtr.asFunction<
+      CFBagRef Function(CFAllocatorRef, ffi.Pointer<ffi.Pointer<ffi.Void>>, int,
+          ffi.Pointer<CFBagCallBacks>)>();
+
+  CFBagRef CFBagCreateCopy(
+    CFAllocatorRef allocator,
+    CFBagRef theBag,
+  ) {
+    return _CFBagCreateCopy(
+      allocator,
+      theBag,
+    );
+  }
+
+  late final _CFBagCreateCopyPtr =
+      _lookup<ffi.NativeFunction<CFBagRef Function(CFAllocatorRef, CFBagRef)>>(
+          'CFBagCreateCopy');
+  late final _CFBagCreateCopy = _CFBagCreateCopyPtr.asFunction<
+      CFBagRef Function(CFAllocatorRef, CFBagRef)>();
+
+  CFMutableBagRef CFBagCreateMutable(
+    CFAllocatorRef allocator,
+    int capacity,
+    ffi.Pointer<CFBagCallBacks> callBacks,
+  ) {
+    return _CFBagCreateMutable(
+      allocator,
+      capacity,
+      callBacks,
+    );
+  }
+
+  late final _CFBagCreateMutablePtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableBagRef Function(CFAllocatorRef, CFIndex,
+              ffi.Pointer<CFBagCallBacks>)>>('CFBagCreateMutable');
+  late final _CFBagCreateMutable = _CFBagCreateMutablePtr.asFunction<
+      CFMutableBagRef Function(
+          CFAllocatorRef, int, ffi.Pointer<CFBagCallBacks>)>();
+
+  CFMutableBagRef CFBagCreateMutableCopy(
+    CFAllocatorRef allocator,
+    int capacity,
+    CFBagRef theBag,
+  ) {
+    return _CFBagCreateMutableCopy(
+      allocator,
+      capacity,
+      theBag,
+    );
+  }
+
+  late final _CFBagCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableBagRef Function(
+              CFAllocatorRef, CFIndex, CFBagRef)>>('CFBagCreateMutableCopy');
+  late final _CFBagCreateMutableCopy = _CFBagCreateMutableCopyPtr.asFunction<
+      CFMutableBagRef Function(CFAllocatorRef, int, CFBagRef)>();
+
+  int CFBagGetCount(
+    CFBagRef theBag,
+  ) {
+    return _CFBagGetCount(
+      theBag,
+    );
+  }
+
+  late final _CFBagGetCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFBagRef)>>('CFBagGetCount');
+  late final _CFBagGetCount =
+      _CFBagGetCountPtr.asFunction<int Function(CFBagRef)>();
+
+  int CFBagGetCountOfValue(
+    CFBagRef theBag,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBagGetCountOfValue(
+      theBag,
+      value,
+    );
+  }
+
+  late final _CFBagGetCountOfValuePtr = _lookup<
+          ffi
+          .NativeFunction<CFIndex Function(CFBagRef, ffi.Pointer<ffi.Void>)>>(
+      'CFBagGetCountOfValue');
+  late final _CFBagGetCountOfValue = _CFBagGetCountOfValuePtr.asFunction<
+      int Function(CFBagRef, ffi.Pointer<ffi.Void>)>();
+
+  int CFBagContainsValue(
+    CFBagRef theBag,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBagContainsValue(
+      theBag,
+      value,
+    );
+  }
+
+  late final _CFBagContainsValuePtr = _lookup<
+          ffi
+          .NativeFunction<Boolean Function(CFBagRef, ffi.Pointer<ffi.Void>)>>(
+      'CFBagContainsValue');
+  late final _CFBagContainsValue = _CFBagContainsValuePtr.asFunction<
+      int Function(CFBagRef, ffi.Pointer<ffi.Void>)>();
+
+  ffi.Pointer<ffi.Void> CFBagGetValue(
+    CFBagRef theBag,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBagGetValue(
+      theBag,
+      value,
+    );
+  }
+
+  late final _CFBagGetValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFBagRef, ffi.Pointer<ffi.Void>)>>('CFBagGetValue');
+  late final _CFBagGetValue = _CFBagGetValuePtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(CFBagRef, ffi.Pointer<ffi.Void>)>();
+
+  int CFBagGetValueIfPresent(
+    CFBagRef theBag,
+    ffi.Pointer<ffi.Void> candidate,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> value,
+  ) {
+    return _CFBagGetValueIfPresent(
+      theBag,
+      candidate,
+      value,
+    );
+  }
+
+  late final _CFBagGetValueIfPresentPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFBagRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('CFBagGetValueIfPresent');
+  late final _CFBagGetValueIfPresent = _CFBagGetValueIfPresentPtr.asFunction<
+      int Function(CFBagRef, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  void CFBagGetValues(
+    CFBagRef theBag,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+  ) {
+    return _CFBagGetValues(
+      theBag,
+      values,
+    );
+  }
+
+  late final _CFBagGetValuesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFBagRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('CFBagGetValues');
+  late final _CFBagGetValues = _CFBagGetValuesPtr.asFunction<
+      void Function(CFBagRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  void CFBagApplyFunction(
+    CFBagRef theBag,
+    CFBagApplierFunction applier,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFBagApplyFunction(
+      theBag,
+      applier,
+      context,
+    );
+  }
+
+  late final _CFBagApplyFunctionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFBagRef, CFBagApplierFunction,
+              ffi.Pointer<ffi.Void>)>>('CFBagApplyFunction');
+  late final _CFBagApplyFunction = _CFBagApplyFunctionPtr.asFunction<
+      void Function(CFBagRef, CFBagApplierFunction, ffi.Pointer<ffi.Void>)>();
+
+  void CFBagAddValue(
+    CFMutableBagRef theBag,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBagAddValue(
+      theBag,
+      value,
+    );
+  }
+
+  late final _CFBagAddValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableBagRef, ffi.Pointer<ffi.Void>)>>('CFBagAddValue');
+  late final _CFBagAddValue = _CFBagAddValuePtr.asFunction<
+      void Function(CFMutableBagRef, ffi.Pointer<ffi.Void>)>();
+
+  void CFBagReplaceValue(
+    CFMutableBagRef theBag,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBagReplaceValue(
+      theBag,
+      value,
+    );
+  }
+
+  late final _CFBagReplaceValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableBagRef, ffi.Pointer<ffi.Void>)>>('CFBagReplaceValue');
+  late final _CFBagReplaceValue = _CFBagReplaceValuePtr.asFunction<
+      void Function(CFMutableBagRef, ffi.Pointer<ffi.Void>)>();
+
+  void CFBagSetValue(
+    CFMutableBagRef theBag,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBagSetValue(
+      theBag,
+      value,
+    );
+  }
+
+  late final _CFBagSetValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableBagRef, ffi.Pointer<ffi.Void>)>>('CFBagSetValue');
+  late final _CFBagSetValue = _CFBagSetValuePtr.asFunction<
+      void Function(CFMutableBagRef, ffi.Pointer<ffi.Void>)>();
+
+  void CFBagRemoveValue(
+    CFMutableBagRef theBag,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBagRemoveValue(
+      theBag,
+      value,
+    );
+  }
+
+  late final _CFBagRemoveValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableBagRef, ffi.Pointer<ffi.Void>)>>('CFBagRemoveValue');
+  late final _CFBagRemoveValue = _CFBagRemoveValuePtr.asFunction<
+      void Function(CFMutableBagRef, ffi.Pointer<ffi.Void>)>();
+
+  void CFBagRemoveAllValues(
+    CFMutableBagRef theBag,
+  ) {
+    return _CFBagRemoveAllValues(
+      theBag,
+    );
+  }
+
+  late final _CFBagRemoveAllValuesPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableBagRef)>>(
+          'CFBagRemoveAllValues');
+  late final _CFBagRemoveAllValues =
+      _CFBagRemoveAllValuesPtr.asFunction<void Function(CFMutableBagRef)>();
+
+  /// !
+  /// @constant kCFStringBinaryHeapCallBacks
+  /// Predefined CFBinaryHeapCallBacks structure containing a set
+  /// of callbacks appropriate for use when the values in a CFBinaryHeap
+  /// are all CFString types.
+  late final ffi.Pointer<CFBinaryHeapCallBacks> _kCFStringBinaryHeapCallBacks =
+      _lookup<CFBinaryHeapCallBacks>('kCFStringBinaryHeapCallBacks');
+
+  CFBinaryHeapCallBacks get kCFStringBinaryHeapCallBacks =>
+      _kCFStringBinaryHeapCallBacks.ref;
+
+  /// !
+  /// @function CFBinaryHeapGetTypeID
+  /// Returns the type identifier of all CFBinaryHeap instances.
+  int CFBinaryHeapGetTypeID() {
+    return _CFBinaryHeapGetTypeID();
+  }
+
+  late final _CFBinaryHeapGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFBinaryHeapGetTypeID');
+  late final _CFBinaryHeapGetTypeID =
+      _CFBinaryHeapGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function CFBinaryHeapCreate
+  /// Creates a new mutable binary heap with the given values.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the binary heap and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFBinaryHeap. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. A heap's actual capacity is only limited by
+  /// address space and available memory constraints). If this
+  /// parameter is negative, the behavior is undefined.
+  /// @param callBacks A pointer to a CFBinaryHeapCallBacks structure
+  /// initialized with the callbacks for the binary heap to use on
+  /// each value in the binary heap. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a structure
+  /// on the stack can be passed in, or can be reused for multiple
+  /// binary heap creations. If the version field of this callbacks
+  /// structure is not one of the defined ones for CFBinaryHeap, the
+  /// behavior is undefined. The retain field may be NULL, in which
+  /// case the CFBinaryHeap will do nothing to add a retain to values
+  /// as they are put into the binary heap. The release field may be
+  /// NULL, in which case the CFBinaryHeap will do nothing to remove
+  /// the binary heap's retain (if any) on the values when the
+  /// heap is destroyed or a key-value pair is removed. If the
+  /// copyDescription field is NULL, the binary heap will create a
+  /// simple description for a value. If the equal field is NULL, the
+  /// binary heap will use pointer equality to test for equality of
+  /// values. This callbacks parameter itself may be NULL, which is
+  /// treated as if a valid structure of version 0 with all fields
+  /// NULL had been passed in. Otherwise,
+  /// if any of the fields are not valid pointers to functions
+  /// of the correct type, or this parameter is not a valid
+  /// pointer to a CFBinaryHeapCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the values put into the
+  /// binary heap is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is undefined.
+  /// @param compareContext A pointer to a CFBinaryHeapCompareContext structure.
+  /// @result A reference to the new CFBinaryHeap.
+  CFBinaryHeapRef CFBinaryHeapCreate(
+    CFAllocatorRef allocator,
+    int capacity,
+    ffi.Pointer<CFBinaryHeapCallBacks> callBacks,
+    ffi.Pointer<CFBinaryHeapCompareContext> compareContext,
+  ) {
+    return _CFBinaryHeapCreate(
+      allocator,
+      capacity,
+      callBacks,
+      compareContext,
+    );
+  }
+
+  late final _CFBinaryHeapCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFBinaryHeapRef Function(
+              CFAllocatorRef,
+              CFIndex,
+              ffi.Pointer<CFBinaryHeapCallBacks>,
+              ffi.Pointer<CFBinaryHeapCompareContext>)>>('CFBinaryHeapCreate');
+  late final _CFBinaryHeapCreate = _CFBinaryHeapCreatePtr.asFunction<
+      CFBinaryHeapRef Function(
+          CFAllocatorRef,
+          int,
+          ffi.Pointer<CFBinaryHeapCallBacks>,
+          ffi.Pointer<CFBinaryHeapCompareContext>)>();
+
+  /// !
+  /// @function CFBinaryHeapCreateCopy
+  /// Creates a new mutable binary heap with the values from the given binary heap.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the binary heap and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFBinaryHeap. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. A heap's actual capacity is only limited by
+  /// address space and available memory constraints).
+  /// This parameter must be greater than or equal
+  /// to the count of the heap which is to be copied, or the
+  /// behavior is undefined. If this parameter is negative, the
+  /// behavior is undefined.
+  /// @param heap The binary heap which is to be copied. The values from the
+  /// binary heap are copied as pointers into the new binary heap (that is,
+  /// the values themselves are copied, not that which the values
+  /// point to, if anything). However, the values are also
+  /// retained by the new binary heap. The count of the new binary will
+  /// be the same as the given binary heap. The new binary heap uses the same
+  /// callbacks as the binary heap to be copied. If this parameter is
+  /// not a valid CFBinaryHeap, the behavior is undefined.
+  /// @result A reference to the new mutable binary heap.
+  CFBinaryHeapRef CFBinaryHeapCreateCopy(
+    CFAllocatorRef allocator,
+    int capacity,
+    CFBinaryHeapRef heap,
+  ) {
+    return _CFBinaryHeapCreateCopy(
+      allocator,
+      capacity,
+      heap,
+    );
+  }
+
+  late final _CFBinaryHeapCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFBinaryHeapRef Function(CFAllocatorRef, CFIndex,
+              CFBinaryHeapRef)>>('CFBinaryHeapCreateCopy');
+  late final _CFBinaryHeapCreateCopy = _CFBinaryHeapCreateCopyPtr.asFunction<
+      CFBinaryHeapRef Function(CFAllocatorRef, int, CFBinaryHeapRef)>();
+
+  /// !
+  /// @function CFBinaryHeapGetCount
+  /// Returns the number of values currently in the binary heap.
+  /// @param heap The binary heap to be queried. If this parameter is not a valid
+  /// CFBinaryHeap, the behavior is undefined.
+  /// @result The number of values in the binary heap.
+  int CFBinaryHeapGetCount(
+    CFBinaryHeapRef heap,
+  ) {
+    return _CFBinaryHeapGetCount(
+      heap,
+    );
+  }
+
+  late final _CFBinaryHeapGetCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFBinaryHeapRef)>>(
+          'CFBinaryHeapGetCount');
+  late final _CFBinaryHeapGetCount =
+      _CFBinaryHeapGetCountPtr.asFunction<int Function(CFBinaryHeapRef)>();
+
+  /// !
+  /// @function CFBinaryHeapGetCountOfValue
+  /// Counts the number of times the given value occurs in the binary heap.
+  /// @param heap The binary heap to be searched. If this parameter is not a
+  /// valid CFBinaryHeap, the behavior is undefined.
+  /// @param value The value for which to find matches in the binary heap. The
+  /// compare() callback provided when the binary heap was created is
+  /// used to compare. If the compare() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the binary heap, are not understood by the compare() callback,
+  /// the behavior is undefined.
+  /// @result The number of times the given value occurs in the binary heap.
+  int CFBinaryHeapGetCountOfValue(
+    CFBinaryHeapRef heap,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBinaryHeapGetCountOfValue(
+      heap,
+      value,
+    );
+  }
+
+  late final _CFBinaryHeapGetCountOfValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFBinaryHeapRef,
+              ffi.Pointer<ffi.Void>)>>('CFBinaryHeapGetCountOfValue');
+  late final _CFBinaryHeapGetCountOfValue = _CFBinaryHeapGetCountOfValuePtr
+      .asFunction<int Function(CFBinaryHeapRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFBinaryHeapContainsValue
+  /// Reports whether or not the value is in the binary heap.
+  /// @param heap The binary heap to be searched. If this parameter is not a
+  /// valid CFBinaryHeap, the behavior is undefined.
+  /// @param value The value for which to find matches in the binary heap. The
+  /// compare() callback provided when the binary heap was created is
+  /// used to compare. If the compare() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the binary heap, are not understood by the compare() callback,
+  /// the behavior is undefined.
+  /// @result true, if the value is in the specified binary heap, otherwise false.
+  int CFBinaryHeapContainsValue(
+    CFBinaryHeapRef heap,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBinaryHeapContainsValue(
+      heap,
+      value,
+    );
+  }
+
+  late final _CFBinaryHeapContainsValuePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFBinaryHeapRef,
+              ffi.Pointer<ffi.Void>)>>('CFBinaryHeapContainsValue');
+  late final _CFBinaryHeapContainsValue = _CFBinaryHeapContainsValuePtr
+      .asFunction<int Function(CFBinaryHeapRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFBinaryHeapGetMinimum
+  /// Returns the minimum value is in the binary heap.  If the heap contains several equal
+  /// minimum values, any one may be returned.
+  /// @param heap The binary heap to be searched. If this parameter is not a
+  /// valid CFBinaryHeap, the behavior is undefined.
+  /// @result A reference to the minimum value in the binary heap, or NULL if the
+  /// binary heap contains no values.
+  ffi.Pointer<ffi.Void> CFBinaryHeapGetMinimum(
+    CFBinaryHeapRef heap,
+  ) {
+    return _CFBinaryHeapGetMinimum(
+      heap,
+    );
+  }
+
+  late final _CFBinaryHeapGetMinimumPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(CFBinaryHeapRef)>>(
+      'CFBinaryHeapGetMinimum');
+  late final _CFBinaryHeapGetMinimum = _CFBinaryHeapGetMinimumPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(CFBinaryHeapRef)>();
+
+  /// !
+  /// @function CFBinaryHeapGetMinimumIfPresent
+  /// Returns the minimum value is in the binary heap, if present.  If the heap contains several equal
+  /// minimum values, any one may be returned.
+  /// @param heap The binary heap to be searched. If this parameter is not a
+  /// valid CFBinaryHeap, the behavior is undefined.
+  /// @param value A C pointer to pointer-sized storage to be filled with the minimum value in
+  /// the binary heap.  If this value is not a valid C pointer to a pointer-sized block
+  /// of storage, the result is undefined.  If the result of the function is false, the value
+  /// stored at this address is undefined.
+  /// @result true, if a minimum value was found in the specified binary heap, otherwise false.
+  int CFBinaryHeapGetMinimumIfPresent(
+    CFBinaryHeapRef heap,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> value,
+  ) {
+    return _CFBinaryHeapGetMinimumIfPresent(
+      heap,
+      value,
+    );
+  }
+
+  late final _CFBinaryHeapGetMinimumIfPresentPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(
+                  CFBinaryHeapRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>>(
+      'CFBinaryHeapGetMinimumIfPresent');
+  late final _CFBinaryHeapGetMinimumIfPresent =
+      _CFBinaryHeapGetMinimumIfPresentPtr.asFunction<
+          int Function(CFBinaryHeapRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function CFBinaryHeapGetValues
+  /// Fills the buffer with values from the binary heap.
+  /// @param heap The binary heap to be queried. If this parameter is not a
+  /// valid CFBinaryHeap, the behavior is undefined.
+  /// @param values A C array of pointer-sized values to be filled with
+  /// values from the binary heap. The values in the C array are ordered
+  /// from least to greatest. If this parameter is not a valid pointer to a
+  /// C array of at least CFBinaryHeapGetCount() pointers, the behavior is undefined.
+  void CFBinaryHeapGetValues(
+    CFBinaryHeapRef heap,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+  ) {
+    return _CFBinaryHeapGetValues(
+      heap,
+      values,
+    );
+  }
+
+  late final _CFBinaryHeapGetValuesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFBinaryHeapRef,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('CFBinaryHeapGetValues');
+  late final _CFBinaryHeapGetValues = _CFBinaryHeapGetValuesPtr.asFunction<
+      void Function(CFBinaryHeapRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function CFBinaryHeapApplyFunction
+  /// Calls a function once for each value in the binary heap.
+  /// @param heap The binary heap to be operated upon. If this parameter is not a
+  /// valid CFBinaryHeap, the behavior is undefined.
+  /// @param applier The callback function to call once for each value in
+  /// the given binary heap. If this parameter is not a
+  /// pointer to a function of the correct prototype, the behavior
+  /// is undefined. If there are values in the binary heap which the
+  /// applier function does not expect or cannot properly apply
+  /// to, the behavior is undefined.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the second parameter to the applier function, but is
+  /// otherwise unused by this function. If the context is not
+  /// what is expected by the applier function, the behavior is
+  /// undefined.
+  void CFBinaryHeapApplyFunction(
+    CFBinaryHeapRef heap,
+    CFBinaryHeapApplierFunction applier,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFBinaryHeapApplyFunction(
+      heap,
+      applier,
+      context,
+    );
+  }
+
+  late final _CFBinaryHeapApplyFunctionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFBinaryHeapRef, CFBinaryHeapApplierFunction,
+              ffi.Pointer<ffi.Void>)>>('CFBinaryHeapApplyFunction');
+  late final _CFBinaryHeapApplyFunction =
+      _CFBinaryHeapApplyFunctionPtr.asFunction<
+          void Function(CFBinaryHeapRef, CFBinaryHeapApplierFunction,
+              ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFBinaryHeapAddValue
+  /// Adds the value to the binary heap.
+  /// @param heap The binary heap to which the value is to be added. If this parameter is not a
+  /// valid mutable CFBinaryHeap, the behavior is undefined.
+  /// @param value The value to add to the binary heap. The value is retained by
+  /// the binary heap using the retain callback provided when the binary heap
+  /// was created. If the value is not of the sort expected by the
+  /// retain callback, the behavior is undefined.
+  void CFBinaryHeapAddValue(
+    CFBinaryHeapRef heap,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFBinaryHeapAddValue(
+      heap,
+      value,
+    );
+  }
+
+  late final _CFBinaryHeapAddValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFBinaryHeapRef, ffi.Pointer<ffi.Void>)>>('CFBinaryHeapAddValue');
+  late final _CFBinaryHeapAddValue = _CFBinaryHeapAddValuePtr.asFunction<
+      void Function(CFBinaryHeapRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFBinaryHeapRemoveMinimumValue
+  /// Removes the minimum value from the binary heap.
+  /// @param heap The binary heap from which the minimum value is to be removed. If this
+  /// parameter is not a valid mutable CFBinaryHeap, the behavior is undefined.
+  void CFBinaryHeapRemoveMinimumValue(
+    CFBinaryHeapRef heap,
+  ) {
+    return _CFBinaryHeapRemoveMinimumValue(
+      heap,
+    );
+  }
+
+  late final _CFBinaryHeapRemoveMinimumValuePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFBinaryHeapRef)>>(
+          'CFBinaryHeapRemoveMinimumValue');
+  late final _CFBinaryHeapRemoveMinimumValue =
+      _CFBinaryHeapRemoveMinimumValuePtr.asFunction<
+          void Function(CFBinaryHeapRef)>();
+
+  /// !
+  /// @function CFBinaryHeapRemoveAllValues
+  /// Removes all the values from the binary heap, making it empty.
+  /// @param heap The binary heap from which all of the values are to be
+  /// removed. If this parameter is not a valid mutable CFBinaryHeap,
+  /// the behavior is undefined.
+  void CFBinaryHeapRemoveAllValues(
+    CFBinaryHeapRef heap,
+  ) {
+    return _CFBinaryHeapRemoveAllValues(
+      heap,
+    );
+  }
+
+  late final _CFBinaryHeapRemoveAllValuesPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFBinaryHeapRef)>>(
+          'CFBinaryHeapRemoveAllValues');
+  late final _CFBinaryHeapRemoveAllValues = _CFBinaryHeapRemoveAllValuesPtr
+      .asFunction<void Function(CFBinaryHeapRef)>();
+
+  int CFBitVectorGetTypeID() {
+    return _CFBitVectorGetTypeID();
+  }
+
+  late final _CFBitVectorGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFBitVectorGetTypeID');
+  late final _CFBitVectorGetTypeID =
+      _CFBitVectorGetTypeIDPtr.asFunction<int Function()>();
+
+  CFBitVectorRef CFBitVectorCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<UInt8> bytes,
+    int numBits,
+  ) {
+    return _CFBitVectorCreate(
+      allocator,
+      bytes,
+      numBits,
+    );
+  }
+
+  late final _CFBitVectorCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFBitVectorRef Function(CFAllocatorRef, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFBitVectorCreate');
+  late final _CFBitVectorCreate = _CFBitVectorCreatePtr.asFunction<
+      CFBitVectorRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, int)>();
+
+  CFBitVectorRef CFBitVectorCreateCopy(
+    CFAllocatorRef allocator,
+    CFBitVectorRef bv,
+  ) {
+    return _CFBitVectorCreateCopy(
+      allocator,
+      bv,
+    );
+  }
+
+  late final _CFBitVectorCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFBitVectorRef Function(
+              CFAllocatorRef, CFBitVectorRef)>>('CFBitVectorCreateCopy');
+  late final _CFBitVectorCreateCopy = _CFBitVectorCreateCopyPtr.asFunction<
+      CFBitVectorRef Function(CFAllocatorRef, CFBitVectorRef)>();
+
+  CFMutableBitVectorRef CFBitVectorCreateMutable(
+    CFAllocatorRef allocator,
+    int capacity,
+  ) {
+    return _CFBitVectorCreateMutable(
+      allocator,
+      capacity,
+    );
+  }
+
+  late final _CFBitVectorCreateMutablePtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableBitVectorRef Function(
+              CFAllocatorRef, CFIndex)>>('CFBitVectorCreateMutable');
+  late final _CFBitVectorCreateMutable = _CFBitVectorCreateMutablePtr
+      .asFunction<CFMutableBitVectorRef Function(CFAllocatorRef, int)>();
+
+  CFMutableBitVectorRef CFBitVectorCreateMutableCopy(
+    CFAllocatorRef allocator,
+    int capacity,
+    CFBitVectorRef bv,
+  ) {
+    return _CFBitVectorCreateMutableCopy(
+      allocator,
+      capacity,
+      bv,
+    );
+  }
+
+  late final _CFBitVectorCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableBitVectorRef Function(CFAllocatorRef, CFIndex,
+              CFBitVectorRef)>>('CFBitVectorCreateMutableCopy');
+  late final _CFBitVectorCreateMutableCopy =
+      _CFBitVectorCreateMutableCopyPtr.asFunction<
+          CFMutableBitVectorRef Function(
+              CFAllocatorRef, int, CFBitVectorRef)>();
+
+  int CFBitVectorGetCount(
+    CFBitVectorRef bv,
+  ) {
+    return _CFBitVectorGetCount(
+      bv,
+    );
+  }
+
+  late final _CFBitVectorGetCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFBitVectorRef)>>(
+          'CFBitVectorGetCount');
+  late final _CFBitVectorGetCount =
+      _CFBitVectorGetCountPtr.asFunction<int Function(CFBitVectorRef)>();
+
+  int CFBitVectorGetCountOfBit(
+    CFBitVectorRef bv,
+    CFRange range,
+    int value,
+  ) {
+    return _CFBitVectorGetCountOfBit(
+      bv,
+      range,
+      value,
+    );
+  }
+
+  late final _CFBitVectorGetCountOfBitPtr = _lookup<
+          ffi.NativeFunction<CFIndex Function(CFBitVectorRef, CFRange, CFBit)>>(
+      'CFBitVectorGetCountOfBit');
+  late final _CFBitVectorGetCountOfBit = _CFBitVectorGetCountOfBitPtr
+      .asFunction<int Function(CFBitVectorRef, CFRange, int)>();
+
+  int CFBitVectorContainsBit(
+    CFBitVectorRef bv,
+    CFRange range,
+    int value,
+  ) {
+    return _CFBitVectorContainsBit(
+      bv,
+      range,
+      value,
+    );
+  }
+
+  late final _CFBitVectorContainsBitPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFBitVectorRef, CFRange, CFBit)>>(
+      'CFBitVectorContainsBit');
+  late final _CFBitVectorContainsBit = _CFBitVectorContainsBitPtr.asFunction<
+      int Function(CFBitVectorRef, CFRange, int)>();
+
+  int CFBitVectorGetBitAtIndex(
+    CFBitVectorRef bv,
+    int idx,
+  ) {
+    return _CFBitVectorGetBitAtIndex(
+      bv,
+      idx,
+    );
+  }
+
+  late final _CFBitVectorGetBitAtIndexPtr =
+      _lookup<ffi.NativeFunction<CFBit Function(CFBitVectorRef, CFIndex)>>(
+          'CFBitVectorGetBitAtIndex');
+  late final _CFBitVectorGetBitAtIndex = _CFBitVectorGetBitAtIndexPtr
+      .asFunction<int Function(CFBitVectorRef, int)>();
+
+  void CFBitVectorGetBits(
+    CFBitVectorRef bv,
+    CFRange range,
+    ffi.Pointer<UInt8> bytes,
+  ) {
+    return _CFBitVectorGetBits(
+      bv,
+      range,
+      bytes,
+    );
+  }
+
+  late final _CFBitVectorGetBitsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFBitVectorRef, CFRange,
+              ffi.Pointer<UInt8>)>>('CFBitVectorGetBits');
+  late final _CFBitVectorGetBits = _CFBitVectorGetBitsPtr.asFunction<
+      void Function(CFBitVectorRef, CFRange, ffi.Pointer<UInt8>)>();
+
+  int CFBitVectorGetFirstIndexOfBit(
+    CFBitVectorRef bv,
+    CFRange range,
+    int value,
+  ) {
+    return _CFBitVectorGetFirstIndexOfBit(
+      bv,
+      range,
+      value,
+    );
+  }
+
+  late final _CFBitVectorGetFirstIndexOfBitPtr = _lookup<
+          ffi.NativeFunction<CFIndex Function(CFBitVectorRef, CFRange, CFBit)>>(
+      'CFBitVectorGetFirstIndexOfBit');
+  late final _CFBitVectorGetFirstIndexOfBit = _CFBitVectorGetFirstIndexOfBitPtr
+      .asFunction<int Function(CFBitVectorRef, CFRange, int)>();
+
+  int CFBitVectorGetLastIndexOfBit(
+    CFBitVectorRef bv,
+    CFRange range,
+    int value,
+  ) {
+    return _CFBitVectorGetLastIndexOfBit(
+      bv,
+      range,
+      value,
+    );
+  }
+
+  late final _CFBitVectorGetLastIndexOfBitPtr = _lookup<
+          ffi.NativeFunction<CFIndex Function(CFBitVectorRef, CFRange, CFBit)>>(
+      'CFBitVectorGetLastIndexOfBit');
+  late final _CFBitVectorGetLastIndexOfBit = _CFBitVectorGetLastIndexOfBitPtr
+      .asFunction<int Function(CFBitVectorRef, CFRange, int)>();
+
+  void CFBitVectorSetCount(
+    CFMutableBitVectorRef bv,
+    int count,
+  ) {
+    return _CFBitVectorSetCount(
+      bv,
+      count,
+    );
+  }
+
+  late final _CFBitVectorSetCountPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableBitVectorRef, CFIndex)>>(
+      'CFBitVectorSetCount');
+  late final _CFBitVectorSetCount = _CFBitVectorSetCountPtr.asFunction<
+      void Function(CFMutableBitVectorRef, int)>();
+
+  void CFBitVectorFlipBitAtIndex(
+    CFMutableBitVectorRef bv,
+    int idx,
+  ) {
+    return _CFBitVectorFlipBitAtIndex(
+      bv,
+      idx,
+    );
+  }
+
+  late final _CFBitVectorFlipBitAtIndexPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableBitVectorRef, CFIndex)>>(
+      'CFBitVectorFlipBitAtIndex');
+  late final _CFBitVectorFlipBitAtIndex = _CFBitVectorFlipBitAtIndexPtr
+      .asFunction<void Function(CFMutableBitVectorRef, int)>();
+
+  void CFBitVectorFlipBits(
+    CFMutableBitVectorRef bv,
+    CFRange range,
+  ) {
+    return _CFBitVectorFlipBits(
+      bv,
+      range,
+    );
+  }
+
+  late final _CFBitVectorFlipBitsPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableBitVectorRef, CFRange)>>(
+      'CFBitVectorFlipBits');
+  late final _CFBitVectorFlipBits = _CFBitVectorFlipBitsPtr.asFunction<
+      void Function(CFMutableBitVectorRef, CFRange)>();
+
+  void CFBitVectorSetBitAtIndex(
+    CFMutableBitVectorRef bv,
+    int idx,
+    int value,
+  ) {
+    return _CFBitVectorSetBitAtIndex(
+      bv,
+      idx,
+      value,
+    );
+  }
+
+  late final _CFBitVectorSetBitAtIndexPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableBitVectorRef, CFIndex,
+              CFBit)>>('CFBitVectorSetBitAtIndex');
+  late final _CFBitVectorSetBitAtIndex = _CFBitVectorSetBitAtIndexPtr
+      .asFunction<void Function(CFMutableBitVectorRef, int, int)>();
+
+  void CFBitVectorSetBits(
+    CFMutableBitVectorRef bv,
+    CFRange range,
+    int value,
+  ) {
+    return _CFBitVectorSetBits(
+      bv,
+      range,
+      value,
+    );
+  }
+
+  late final _CFBitVectorSetBitsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableBitVectorRef, CFRange, CFBit)>>('CFBitVectorSetBits');
+  late final _CFBitVectorSetBits = _CFBitVectorSetBitsPtr.asFunction<
+      void Function(CFMutableBitVectorRef, CFRange, int)>();
+
+  void CFBitVectorSetAllBits(
+    CFMutableBitVectorRef bv,
+    int value,
+  ) {
+    return _CFBitVectorSetAllBits(
+      bv,
+      value,
+    );
+  }
+
+  late final _CFBitVectorSetAllBitsPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFMutableBitVectorRef, CFBit)>>(
+      'CFBitVectorSetAllBits');
+  late final _CFBitVectorSetAllBits = _CFBitVectorSetAllBitsPtr.asFunction<
+      void Function(CFMutableBitVectorRef, int)>();
+
+  /// !
+  /// @constant kCFTypeDictionaryKeyCallBacks
+  /// Predefined CFDictionaryKeyCallBacks structure containing a
+  /// set of callbacks appropriate for use when the keys of a
+  /// CFDictionary are all CFTypes.
+  late final ffi.Pointer<CFDictionaryKeyCallBacks>
+      _kCFTypeDictionaryKeyCallBacks =
+      _lookup<CFDictionaryKeyCallBacks>('kCFTypeDictionaryKeyCallBacks');
+
+  CFDictionaryKeyCallBacks get kCFTypeDictionaryKeyCallBacks =>
+      _kCFTypeDictionaryKeyCallBacks.ref;
+
+  /// !
+  /// @constant kCFCopyStringDictionaryKeyCallBacks
+  /// Predefined CFDictionaryKeyCallBacks structure containing a
+  /// set of callbacks appropriate for use when the keys of a
+  /// CFDictionary are all CFStrings, which may be mutable and
+  /// need to be copied in order to serve as constant keys for
+  /// the values in the dictionary.
+  late final ffi.Pointer<CFDictionaryKeyCallBacks>
+      _kCFCopyStringDictionaryKeyCallBacks =
+      _lookup<CFDictionaryKeyCallBacks>('kCFCopyStringDictionaryKeyCallBacks');
+
+  CFDictionaryKeyCallBacks get kCFCopyStringDictionaryKeyCallBacks =>
+      _kCFCopyStringDictionaryKeyCallBacks.ref;
+
+  /// !
+  /// @constant kCFTypeDictionaryValueCallBacks
+  /// Predefined CFDictionaryValueCallBacks structure containing a set
+  /// of callbacks appropriate for use when the values in a CFDictionary
+  /// are all CFTypes.
+  late final ffi.Pointer<CFDictionaryValueCallBacks>
+      _kCFTypeDictionaryValueCallBacks =
+      _lookup<CFDictionaryValueCallBacks>('kCFTypeDictionaryValueCallBacks');
+
+  CFDictionaryValueCallBacks get kCFTypeDictionaryValueCallBacks =>
+      _kCFTypeDictionaryValueCallBacks.ref;
+
+  /// !
+  /// @function CFDictionaryGetTypeID
+  /// Returns the type identifier of all CFDictionary instances.
+  int CFDictionaryGetTypeID() {
+    return _CFDictionaryGetTypeID();
+  }
+
+  late final _CFDictionaryGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFDictionaryGetTypeID');
+  late final _CFDictionaryGetTypeID =
+      _CFDictionaryGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function CFDictionaryCreate
+  /// Creates a new immutable dictionary with the given values.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the dictionary and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param keys A C array of the pointer-sized keys to be used for
+  /// the parallel C array of values to be put into the dictionary.
+  /// This parameter may be NULL if the numValues parameter is 0.
+  /// This C array is not changed or freed by this function. If
+  /// this parameter is not a valid pointer to a C array of at
+  /// least numValues pointers, the behavior is undefined.
+  /// @param values A C array of the pointer-sized values to be in the
+  /// dictionary. This parameter may be NULL if the numValues
+  /// parameter is 0. This C array is not changed or freed by
+  /// this function. If this parameter is not a valid pointer to
+  /// a C array of at least numValues pointers, the behavior is
+  /// undefined.
+  /// @param numValues The number of values to copy from the keys and
+  /// values C arrays into the CFDictionary. This number will be
+  /// the count of the dictionary. If this parameter is
+  /// negative, or greater than the number of values actually
+  /// in the keys or values C arrays, the behavior is undefined.
+  /// @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure
+  /// initialized with the callbacks for the dictionary to use on
+  /// each key in the dictionary. The retain callback will be used
+  /// within this function, for example, to retain all of the new
+  /// keys from the keys C array. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a structure
+  /// on the stack can be passed in, or can be reused for multiple
+  /// dictionary creations. If the version field of this
+  /// callbacks structure is not one of the defined ones for
+  /// CFDictionary, the behavior is undefined. The retain field may
+  /// be NULL, in which case the CFDictionary will do nothing to add
+  /// a retain to the keys of the contained values. The release field
+  /// may be NULL, in which case the CFDictionary will do nothing
+  /// to remove the dictionary's retain (if any) on the keys when the
+  /// dictionary is destroyed or a key-value pair is removed. If the
+  /// copyDescription field is NULL, the dictionary will create a
+  /// simple description for a key. If the equal field is NULL, the
+  /// dictionary will use pointer equality to test for equality of
+  /// keys. If the hash field is NULL, a key will be converted from
+  /// a pointer to an integer to compute the hash code. This callbacks
+  /// parameter itself may be NULL, which is treated as if a valid
+  /// structure of version 0 with all fields NULL had been passed in.
+  /// Otherwise, if any of the fields are not valid pointers to
+  /// functions of the correct type, or this parameter is not a
+  /// valid pointer to a CFDictionaryKeyCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the keys put into the
+  /// dictionary is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is undefined.
+  /// @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure
+  /// initialized with the callbacks for the dictionary to use on
+  /// each value in the dictionary. The retain callback will be used
+  /// within this function, for example, to retain all of the new
+  /// values from the values C array. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a structure
+  /// on the stack can be passed in, or can be reused for multiple
+  /// dictionary creations. If the version field of this callbacks
+  /// structure is not one of the defined ones for CFDictionary, the
+  /// behavior is undefined. The retain field may be NULL, in which
+  /// case the CFDictionary will do nothing to add a retain to values
+  /// as they are put into the dictionary. The release field may be
+  /// NULL, in which case the CFDictionary will do nothing to remove
+  /// the dictionary's retain (if any) on the values when the
+  /// dictionary is destroyed or a key-value pair is removed. If the
+  /// copyDescription field is NULL, the dictionary will create a
+  /// simple description for a value. If the equal field is NULL, the
+  /// dictionary will use pointer equality to test for equality of
+  /// values. This callbacks parameter itself may be NULL, which is
+  /// treated as if a valid structure of version 0 with all fields
+  /// NULL had been passed in. Otherwise,
+  /// if any of the fields are not valid pointers to functions
+  /// of the correct type, or this parameter is not a valid
+  /// pointer to a CFDictionaryValueCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the values put into the
+  /// dictionary is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is undefined.
+  /// @result A reference to the new immutable CFDictionary.
+  CFDictionaryRef CFDictionaryCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> keys,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+    int numValues,
+    ffi.Pointer<CFDictionaryKeyCallBacks> keyCallBacks,
+    ffi.Pointer<CFDictionaryValueCallBacks> valueCallBacks,
+  ) {
+    return _CFDictionaryCreate(
+      allocator,
+      keys,
+      values,
+      numValues,
+      keyCallBacks,
+      valueCallBacks,
+    );
+  }
+
+  late final _CFDictionaryCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFDictionaryRef Function(
+              CFAllocatorRef,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              CFIndex,
+              ffi.Pointer<CFDictionaryKeyCallBacks>,
+              ffi.Pointer<CFDictionaryValueCallBacks>)>>('CFDictionaryCreate');
+  late final _CFDictionaryCreate = _CFDictionaryCreatePtr.asFunction<
+      CFDictionaryRef Function(
+          CFAllocatorRef,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>,
+          int,
+          ffi.Pointer<CFDictionaryKeyCallBacks>,
+          ffi.Pointer<CFDictionaryValueCallBacks>)>();
+
+  /// !
+  /// @function CFDictionaryCreateCopy
+  /// Creates a new immutable dictionary with the key-value pairs from
+  /// the given dictionary.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the dictionary and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theDict The dictionary which is to be copied. The keys and values
+  /// from the dictionary are copied as pointers into the new
+  /// dictionary (that is, the values themselves are copied, not
+  /// that which the values point to, if anything). However, the
+  /// keys and values are also retained by the new dictionary using
+  /// the retain function of the original dictionary.
+  /// The count of the new dictionary will be the same as the
+  /// given dictionary. The new dictionary uses the same callbacks
+  /// as the dictionary to be copied. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @result A reference to the new immutable CFDictionary.
+  CFDictionaryRef CFDictionaryCreateCopy(
+    CFAllocatorRef allocator,
+    CFDictionaryRef theDict,
+  ) {
+    return _CFDictionaryCreateCopy(
+      allocator,
+      theDict,
+    );
+  }
+
+  late final _CFDictionaryCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFDictionaryRef Function(
+              CFAllocatorRef, CFDictionaryRef)>>('CFDictionaryCreateCopy');
+  late final _CFDictionaryCreateCopy = _CFDictionaryCreateCopyPtr.asFunction<
+      CFDictionaryRef Function(CFAllocatorRef, CFDictionaryRef)>();
+
+  /// !
+  /// @function CFDictionaryCreateMutable
+  /// Creates a new mutable dictionary.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the dictionary and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFDictionary. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. A dictionary's actual capacity is only limited by
+  /// address space and available memory constraints). If this
+  /// parameter is negative, the behavior is undefined.
+  /// @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure
+  /// initialized with the callbacks for the dictionary to use on
+  /// each key in the dictionary. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a structure
+  /// on the stack can be passed in, or can be reused for multiple
+  /// dictionary creations. If the version field of this
+  /// callbacks structure is not one of the defined ones for
+  /// CFDictionary, the behavior is undefined. The retain field may
+  /// be NULL, in which case the CFDictionary will do nothing to add
+  /// a retain to the keys of the contained values. The release field
+  /// may be NULL, in which case the CFDictionary will do nothing
+  /// to remove the dictionary's retain (if any) on the keys when the
+  /// dictionary is destroyed or a key-value pair is removed. If the
+  /// copyDescription field is NULL, the dictionary will create a
+  /// simple description for a key. If the equal field is NULL, the
+  /// dictionary will use pointer equality to test for equality of
+  /// keys. If the hash field is NULL, a key will be converted from
+  /// a pointer to an integer to compute the hash code. This callbacks
+  /// parameter itself may be NULL, which is treated as if a valid
+  /// structure of version 0 with all fields NULL had been passed in.
+  /// Otherwise, if any of the fields are not valid pointers to
+  /// functions of the correct type, or this parameter is not a
+  /// valid pointer to a CFDictionaryKeyCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the keys put into the
+  /// dictionary is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is undefined.
+  /// @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure
+  /// initialized with the callbacks for the dictionary to use on
+  /// each value in the dictionary. The retain callback will be used
+  /// within this function, for example, to retain all of the new
+  /// values from the values C array. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a structure
+  /// on the stack can be passed in, or can be reused for multiple
+  /// dictionary creations. If the version field of this callbacks
+  /// structure is not one of the defined ones for CFDictionary, the
+  /// behavior is undefined. The retain field may be NULL, in which
+  /// case the CFDictionary will do nothing to add a retain to values
+  /// as they are put into the dictionary. The release field may be
+  /// NULL, in which case the CFDictionary will do nothing to remove
+  /// the dictionary's retain (if any) on the values when the
+  /// dictionary is destroyed or a key-value pair is removed. If the
+  /// copyDescription field is NULL, the dictionary will create a
+  /// simple description for a value. If the equal field is NULL, the
+  /// dictionary will use pointer equality to test for equality of
+  /// values. This callbacks parameter itself may be NULL, which is
+  /// treated as if a valid structure of version 0 with all fields
+  /// NULL had been passed in. Otherwise,
+  /// if any of the fields are not valid pointers to functions
+  /// of the correct type, or this parameter is not a valid
+  /// pointer to a CFDictionaryValueCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the values put into the
+  /// dictionary is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is undefined.
+  /// @result A reference to the new mutable CFDictionary.
+  CFMutableDictionaryRef CFDictionaryCreateMutable(
+    CFAllocatorRef allocator,
+    int capacity,
+    ffi.Pointer<CFDictionaryKeyCallBacks> keyCallBacks,
+    ffi.Pointer<CFDictionaryValueCallBacks> valueCallBacks,
+  ) {
+    return _CFDictionaryCreateMutable(
+      allocator,
+      capacity,
+      keyCallBacks,
+      valueCallBacks,
+    );
+  }
+
+  late final _CFDictionaryCreateMutablePtr = _lookup<
+          ffi.NativeFunction<
+              CFMutableDictionaryRef Function(
+                  CFAllocatorRef,
+                  CFIndex,
+                  ffi.Pointer<CFDictionaryKeyCallBacks>,
+                  ffi.Pointer<CFDictionaryValueCallBacks>)>>(
+      'CFDictionaryCreateMutable');
+  late final _CFDictionaryCreateMutable =
+      _CFDictionaryCreateMutablePtr.asFunction<
+          CFMutableDictionaryRef Function(
+              CFAllocatorRef,
+              int,
+              ffi.Pointer<CFDictionaryKeyCallBacks>,
+              ffi.Pointer<CFDictionaryValueCallBacks>)>();
+
+  /// !
+  /// @function CFDictionaryCreateMutableCopy
+  /// Creates a new mutable dictionary with the key-value pairs from
+  /// the given dictionary.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the dictionary and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFDictionary. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. A dictionary's actual capacity is only limited by
+  /// address space and available memory constraints).
+  /// This parameter must be greater than or equal
+  /// to the count of the dictionary which is to be copied, or the
+  /// behavior is undefined. If this parameter is negative, the
+  /// behavior is undefined.
+  /// @param theDict The dictionary which is to be copied. The keys and values
+  /// from the dictionary are copied as pointers into the new
+  /// dictionary (that is, the values themselves are copied, not
+  /// that which the values point to, if anything). However, the
+  /// keys and values are also retained by the new dictionary using
+  /// the retain function of the original dictionary.
+  /// The count of the new dictionary will be the same as the
+  /// given dictionary. The new dictionary uses the same callbacks
+  /// as the dictionary to be copied. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @result A reference to the new mutable CFDictionary.
+  CFMutableDictionaryRef CFDictionaryCreateMutableCopy(
+    CFAllocatorRef allocator,
+    int capacity,
+    CFDictionaryRef theDict,
+  ) {
+    return _CFDictionaryCreateMutableCopy(
+      allocator,
+      capacity,
+      theDict,
+    );
+  }
+
+  late final _CFDictionaryCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableDictionaryRef Function(CFAllocatorRef, CFIndex,
+              CFDictionaryRef)>>('CFDictionaryCreateMutableCopy');
+  late final _CFDictionaryCreateMutableCopy =
+      _CFDictionaryCreateMutableCopyPtr.asFunction<
+          CFMutableDictionaryRef Function(
+              CFAllocatorRef, int, CFDictionaryRef)>();
+
+  /// !
+  /// @function CFDictionaryGetCount
+  /// Returns the number of values currently in the dictionary.
+  /// @param theDict The dictionary to be queried. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @result The number of values in the dictionary.
+  int CFDictionaryGetCount(
+    CFDictionaryRef theDict,
+  ) {
+    return _CFDictionaryGetCount(
+      theDict,
+    );
+  }
+
+  late final _CFDictionaryGetCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFDictionaryRef)>>(
+          'CFDictionaryGetCount');
+  late final _CFDictionaryGetCount =
+      _CFDictionaryGetCountPtr.asFunction<int Function(CFDictionaryRef)>();
+
+  /// !
+  /// @function CFDictionaryGetCountOfKey
+  /// Counts the number of times the given key occurs in the dictionary.
+  /// @param theDict The dictionary to be searched. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param key The key for which to find matches in the dictionary. The
+  /// hash() and equal() key callbacks provided when the dictionary
+  /// was created are used to compare. If the hash() key callback
+  /// was NULL, the key is treated as a pointer and converted to
+  /// an integer. If the equal() key callback was NULL, pointer
+  /// equality (in C, ==) is used. If key, or any of the keys in
+  /// the dictionary, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result Returns 1 if a matching key is used by the dictionary,
+  /// 0 otherwise.
+  int CFDictionaryGetCountOfKey(
+    CFDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _CFDictionaryGetCountOfKey(
+      theDict,
+      key,
+    );
+  }
+
+  late final _CFDictionaryGetCountOfKeyPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFDictionaryRef,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryGetCountOfKey');
+  late final _CFDictionaryGetCountOfKey = _CFDictionaryGetCountOfKeyPtr
+      .asFunction<int Function(CFDictionaryRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryGetCountOfValue
+  /// Counts the number of times the given value occurs in the dictionary.
+  /// @param theDict The dictionary to be searched. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param value The value for which to find matches in the dictionary. The
+  /// equal() callback provided when the dictionary was created is
+  /// used to compare. If the equal() value callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values in
+  /// the dictionary, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result The number of times the given value occurs in the dictionary.
+  int CFDictionaryGetCountOfValue(
+    CFDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFDictionaryGetCountOfValue(
+      theDict,
+      value,
+    );
+  }
+
+  late final _CFDictionaryGetCountOfValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFDictionaryRef,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryGetCountOfValue');
+  late final _CFDictionaryGetCountOfValue = _CFDictionaryGetCountOfValuePtr
+      .asFunction<int Function(CFDictionaryRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryContainsKey
+  /// Reports whether or not the key is in the dictionary.
+  /// @param theDict The dictionary to be searched. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param key The key for which to find matches in the dictionary. The
+  /// hash() and equal() key callbacks provided when the dictionary
+  /// was created are used to compare. If the hash() key callback
+  /// was NULL, the key is treated as a pointer and converted to
+  /// an integer. If the equal() key callback was NULL, pointer
+  /// equality (in C, ==) is used. If key, or any of the keys in
+  /// the dictionary, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result true, if the key is in the dictionary, otherwise false.
+  int CFDictionaryContainsKey(
+    CFDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _CFDictionaryContainsKey(
+      theDict,
+      key,
+    );
+  }
+
+  late final _CFDictionaryContainsKeyPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFDictionaryRef,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryContainsKey');
+  late final _CFDictionaryContainsKey = _CFDictionaryContainsKeyPtr.asFunction<
+      int Function(CFDictionaryRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryContainsValue
+  /// Reports whether or not the value is in the dictionary.
+  /// @param theDict The dictionary to be searched. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param value The value for which to find matches in the dictionary. The
+  /// equal() callback provided when the dictionary was created is
+  /// used to compare. If the equal() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the dictionary, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result true, if the value is in the dictionary, otherwise false.
+  int CFDictionaryContainsValue(
+    CFDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFDictionaryContainsValue(
+      theDict,
+      value,
+    );
+  }
+
+  late final _CFDictionaryContainsValuePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFDictionaryRef,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryContainsValue');
+  late final _CFDictionaryContainsValue = _CFDictionaryContainsValuePtr
+      .asFunction<int Function(CFDictionaryRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryGetValue
+  /// Retrieves the value associated with the given key.
+  /// @param theDict The dictionary to be queried. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param key The key for which to find a match in the dictionary. The
+  /// hash() and equal() key callbacks provided when the dictionary
+  /// was created are used to compare. If the hash() key callback
+  /// was NULL, the key is treated as a pointer and converted to
+  /// an integer. If the equal() key callback was NULL, pointer
+  /// equality (in C, ==) is used. If key, or any of the keys in
+  /// the dictionary, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result The value with the given key in the dictionary, or NULL if
+  /// no key-value pair with a matching key exists. Since NULL
+  /// can be a valid value in some dictionaries, the function
+  /// CFDictionaryGetValueIfPresent() must be used to distinguish
+  /// NULL-no-found from NULL-is-the-value.
+  ffi.Pointer<ffi.Void> CFDictionaryGetValue(
+    CFDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _CFDictionaryGetValue(
+      theDict,
+      key,
+    );
+  }
+
+  late final _CFDictionaryGetValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFDictionaryRef, ffi.Pointer<ffi.Void>)>>('CFDictionaryGetValue');
+  late final _CFDictionaryGetValue = _CFDictionaryGetValuePtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(CFDictionaryRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryGetValueIfPresent
+  /// Retrieves the value associated with the given key.
+  /// @param theDict The dictionary to be queried. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param key The key for which to find a match in the dictionary. The
+  /// hash() and equal() key callbacks provided when the dictionary
+  /// was created are used to compare. If the hash() key callback
+  /// was NULL, the key is treated as a pointer and converted to
+  /// an integer. If the equal() key callback was NULL, pointer
+  /// equality (in C, ==) is used. If key, or any of the keys in
+  /// the dictionary, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @param value A pointer to memory which should be filled with the
+  /// pointer-sized value if a matching key is found. If no key
+  /// match is found, the contents of the storage pointed to by
+  /// this parameter are undefined. This parameter may be NULL,
+  /// in which case the value from the dictionary is not returned
+  /// (but the return value of this function still indicates
+  /// whether or not the key-value pair was present).
+  /// @result true, if a matching key was found, false otherwise.
+  int CFDictionaryGetValueIfPresent(
+    CFDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> value,
+  ) {
+    return _CFDictionaryGetValueIfPresent(
+      theDict,
+      key,
+      value,
+    );
+  }
+
+  late final _CFDictionaryGetValueIfPresentPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFDictionaryRef, ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<ffi.Pointer<ffi.Void>>)>>(
+      'CFDictionaryGetValueIfPresent');
+  late final _CFDictionaryGetValueIfPresent =
+      _CFDictionaryGetValueIfPresentPtr.asFunction<
+          int Function(CFDictionaryRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function CFDictionaryGetKeysAndValues
+  /// Fills the two buffers with the keys and values from the dictionary.
+  /// @param theDict The dictionary to be queried. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param keys A C array of pointer-sized values to be filled with keys
+  /// from the dictionary. The keys and values C arrays are parallel
+  /// to each other (that is, the items at the same indices form a
+  /// key-value pair from the dictionary). This parameter may be NULL
+  /// if the keys are not desired. If this parameter is not a valid
+  /// pointer to a C array of at least CFDictionaryGetCount() pointers,
+  /// or NULL, the behavior is undefined.
+  /// @param values A C array of pointer-sized values to be filled with values
+  /// from the dictionary. The keys and values C arrays are parallel
+  /// to each other (that is, the items at the same indices form a
+  /// key-value pair from the dictionary). This parameter may be NULL
+  /// if the values are not desired. If this parameter is not a valid
+  /// pointer to a C array of at least CFDictionaryGetCount() pointers,
+  /// or NULL, the behavior is undefined.
+  void CFDictionaryGetKeysAndValues(
+    CFDictionaryRef theDict,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> keys,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+  ) {
+    return _CFDictionaryGetKeysAndValues(
+      theDict,
+      keys,
+      values,
+    );
+  }
+
+  late final _CFDictionaryGetKeysAndValuesPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFDictionaryRef,
+                  ffi.Pointer<ffi.Pointer<ffi.Void>>,
+                  ffi.Pointer<ffi.Pointer<ffi.Void>>)>>(
+      'CFDictionaryGetKeysAndValues');
+  late final _CFDictionaryGetKeysAndValues =
+      _CFDictionaryGetKeysAndValuesPtr.asFunction<
+          void Function(CFDictionaryRef, ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function CFDictionaryApplyFunction
+  /// Calls a function once for each value in the dictionary.
+  /// @param theDict The dictionary to be queried. If this parameter is
+  /// not a valid CFDictionary, the behavior is undefined.
+  /// @param applier The callback function to call once for each value in
+  /// the dictionary. If this parameter is not a
+  /// pointer to a function of the correct prototype, the behavior
+  /// is undefined. If there are keys or values which the
+  /// applier function does not expect or cannot properly apply
+  /// to, the behavior is undefined.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the third parameter to the applier function, but is
+  /// otherwise unused by this function. If the context is not
+  /// what is expected by the applier function, the behavior is
+  /// undefined.
+  void CFDictionaryApplyFunction(
+    CFDictionaryRef theDict,
+    CFDictionaryApplierFunction applier,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFDictionaryApplyFunction(
+      theDict,
+      applier,
+      context,
+    );
+  }
+
+  late final _CFDictionaryApplyFunctionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFDictionaryRef, CFDictionaryApplierFunction,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryApplyFunction');
+  late final _CFDictionaryApplyFunction =
+      _CFDictionaryApplyFunctionPtr.asFunction<
+          void Function(CFDictionaryRef, CFDictionaryApplierFunction,
+              ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryAddValue
+  /// Adds the key-value pair to the dictionary if no such key already exists.
+  /// @param theDict The dictionary to which the value is to be added. If this
+  /// parameter is not a valid mutable CFDictionary, the behavior is
+  /// undefined.
+  /// @param key The key of the value to add to the dictionary. The key is
+  /// retained by the dictionary using the retain callback provided
+  /// when the dictionary was created. If the key is not of the sort
+  /// expected by the retain callback, the behavior is undefined. If
+  /// a key which matches this key is already present in the dictionary,
+  /// this function does nothing ("add if absent").
+  /// @param value The value to add to the dictionary. The value is retained
+  /// by the dictionary using the retain callback provided when the
+  /// dictionary was created. If the value is not of the sort expected
+  /// by the retain callback, the behavior is undefined.
+  void CFDictionaryAddValue(
+    CFMutableDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFDictionaryAddValue(
+      theDict,
+      key,
+      value,
+    );
+  }
+
+  late final _CFDictionaryAddValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableDictionaryRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryAddValue');
+  late final _CFDictionaryAddValue = _CFDictionaryAddValuePtr.asFunction<
+      void Function(CFMutableDictionaryRef, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionarySetValue
+  /// Sets the value of the key in the dictionary.
+  /// @param theDict The dictionary to which the value is to be set. If this
+  /// parameter is not a valid mutable CFDictionary, the behavior is
+  /// undefined.
+  /// @param key The key of the value to set into the dictionary. If a key
+  /// which matches this key is already present in the dictionary, only
+  /// the value is changed ("add if absent, replace if present"). If
+  /// no key matches the given key, the key-value pair is added to the
+  /// dictionary. If added, the key is retained by the dictionary,
+  /// using the retain callback provided
+  /// when the dictionary was created. If the key is not of the sort
+  /// expected by the key retain callback, the behavior is undefined.
+  /// @param value The value to add to or replace into the dictionary. The value
+  /// is retained by the dictionary using the retain callback provided
+  /// when the dictionary was created, and the previous value if any is
+  /// released. If the value is not of the sort expected by the
+  /// retain or release callbacks, the behavior is undefined.
+  void CFDictionarySetValue(
+    CFMutableDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFDictionarySetValue(
+      theDict,
+      key,
+      value,
+    );
+  }
+
+  late final _CFDictionarySetValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableDictionaryRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>>('CFDictionarySetValue');
+  late final _CFDictionarySetValue = _CFDictionarySetValuePtr.asFunction<
+      void Function(CFMutableDictionaryRef, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryReplaceValue
+  /// Replaces the value of the key in the dictionary.
+  /// @param theDict The dictionary to which the value is to be replaced. If this
+  /// parameter is not a valid mutable CFDictionary, the behavior is
+  /// undefined.
+  /// @param key The key of the value to replace in the dictionary. If a key
+  /// which matches this key is present in the dictionary, the value
+  /// is changed to the given value, otherwise this function does
+  /// nothing ("replace if present").
+  /// @param value The value to replace into the dictionary. The value
+  /// is retained by the dictionary using the retain callback provided
+  /// when the dictionary was created, and the previous value is
+  /// released. If the value is not of the sort expected by the
+  /// retain or release callbacks, the behavior is undefined.
+  void CFDictionaryReplaceValue(
+    CFMutableDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFDictionaryReplaceValue(
+      theDict,
+      key,
+      value,
+    );
+  }
+
+  late final _CFDictionaryReplaceValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableDictionaryRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryReplaceValue');
+  late final _CFDictionaryReplaceValue =
+      _CFDictionaryReplaceValuePtr.asFunction<
+          void Function(CFMutableDictionaryRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryRemoveValue
+  /// Removes the value of the key from the dictionary.
+  /// @param theDict The dictionary from which the value is to be removed. If this
+  /// parameter is not a valid mutable CFDictionary, the behavior is
+  /// undefined.
+  /// @param key The key of the value to remove from the dictionary. If a key
+  /// which matches this key is present in the dictionary, the key-value
+  /// pair is removed from the dictionary, otherwise this function does
+  /// nothing ("remove if present").
+  void CFDictionaryRemoveValue(
+    CFMutableDictionaryRef theDict,
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _CFDictionaryRemoveValue(
+      theDict,
+      key,
+    );
+  }
+
+  late final _CFDictionaryRemoveValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableDictionaryRef,
+              ffi.Pointer<ffi.Void>)>>('CFDictionaryRemoveValue');
+  late final _CFDictionaryRemoveValue = _CFDictionaryRemoveValuePtr.asFunction<
+      void Function(CFMutableDictionaryRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFDictionaryRemoveAllValues
+  /// Removes all the values from the dictionary, making it empty.
+  /// @param theDict The dictionary from which all of the values are to be
+  /// removed. If this parameter is not a valid mutable
+  /// CFDictionary, the behavior is undefined.
+  void CFDictionaryRemoveAllValues(
+    CFMutableDictionaryRef theDict,
+  ) {
+    return _CFDictionaryRemoveAllValues(
+      theDict,
+    );
+  }
+
+  late final _CFDictionaryRemoveAllValuesPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableDictionaryRef)>>(
+          'CFDictionaryRemoveAllValues');
+  late final _CFDictionaryRemoveAllValues = _CFDictionaryRemoveAllValuesPtr
+      .asFunction<void Function(CFMutableDictionaryRef)>();
+
+  int CFNotificationCenterGetTypeID() {
+    return _CFNotificationCenterGetTypeID();
+  }
+
+  late final _CFNotificationCenterGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFNotificationCenterGetTypeID');
+  late final _CFNotificationCenterGetTypeID =
+      _CFNotificationCenterGetTypeIDPtr.asFunction<int Function()>();
+
+  CFNotificationCenterRef CFNotificationCenterGetLocalCenter() {
+    return _CFNotificationCenterGetLocalCenter();
+  }
+
+  late final _CFNotificationCenterGetLocalCenterPtr =
+      _lookup<ffi.NativeFunction<CFNotificationCenterRef Function()>>(
+          'CFNotificationCenterGetLocalCenter');
+  late final _CFNotificationCenterGetLocalCenter =
+      _CFNotificationCenterGetLocalCenterPtr.asFunction<
+          CFNotificationCenterRef Function()>();
+
+  CFNotificationCenterRef CFNotificationCenterGetDarwinNotifyCenter() {
+    return _CFNotificationCenterGetDarwinNotifyCenter();
+  }
+
+  late final _CFNotificationCenterGetDarwinNotifyCenterPtr =
+      _lookup<ffi.NativeFunction<CFNotificationCenterRef Function()>>(
+          'CFNotificationCenterGetDarwinNotifyCenter');
+  late final _CFNotificationCenterGetDarwinNotifyCenter =
+      _CFNotificationCenterGetDarwinNotifyCenterPtr.asFunction<
+          CFNotificationCenterRef Function()>();
+
+  void CFNotificationCenterAddObserver(
+    CFNotificationCenterRef center,
+    ffi.Pointer<ffi.Void> observer,
+    CFNotificationCallback callBack,
+    CFStringRef name,
+    ffi.Pointer<ffi.Void> object,
+    int suspensionBehavior,
+  ) {
+    return _CFNotificationCenterAddObserver(
+      center,
+      observer,
+      callBack,
+      name,
+      object,
+      suspensionBehavior,
+    );
+  }
+
+  late final _CFNotificationCenterAddObserverPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFNotificationCenterRef,
+              ffi.Pointer<ffi.Void>,
+              CFNotificationCallback,
+              CFStringRef,
+              ffi.Pointer<ffi.Void>,
+              ffi.Int32)>>('CFNotificationCenterAddObserver');
+  late final _CFNotificationCenterAddObserver =
+      _CFNotificationCenterAddObserverPtr.asFunction<
+          void Function(
+              CFNotificationCenterRef,
+              ffi.Pointer<ffi.Void>,
+              CFNotificationCallback,
+              CFStringRef,
+              ffi.Pointer<ffi.Void>,
+              int)>();
+
+  void CFNotificationCenterRemoveObserver(
+    CFNotificationCenterRef center,
+    ffi.Pointer<ffi.Void> observer,
+    CFNotificationName name,
+    ffi.Pointer<ffi.Void> object,
+  ) {
+    return _CFNotificationCenterRemoveObserver(
+      center,
+      observer,
+      name,
+      object,
+    );
+  }
+
+  late final _CFNotificationCenterRemoveObserverPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFNotificationCenterRef,
+              ffi.Pointer<ffi.Void>,
+              CFNotificationName,
+              ffi.Pointer<ffi.Void>)>>('CFNotificationCenterRemoveObserver');
+  late final _CFNotificationCenterRemoveObserver =
+      _CFNotificationCenterRemoveObserverPtr.asFunction<
+          void Function(CFNotificationCenterRef, ffi.Pointer<ffi.Void>,
+              CFNotificationName, ffi.Pointer<ffi.Void>)>();
+
+  void CFNotificationCenterRemoveEveryObserver(
+    CFNotificationCenterRef center,
+    ffi.Pointer<ffi.Void> observer,
+  ) {
+    return _CFNotificationCenterRemoveEveryObserver(
+      center,
+      observer,
+    );
+  }
+
+  late final _CFNotificationCenterRemoveEveryObserverPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFNotificationCenterRef, ffi.Pointer<ffi.Void>)>>(
+      'CFNotificationCenterRemoveEveryObserver');
+  late final _CFNotificationCenterRemoveEveryObserver =
+      _CFNotificationCenterRemoveEveryObserverPtr.asFunction<
+          void Function(CFNotificationCenterRef, ffi.Pointer<ffi.Void>)>();
+
+  void CFNotificationCenterPostNotification(
+    CFNotificationCenterRef center,
+    CFNotificationName name,
+    ffi.Pointer<ffi.Void> object,
+    CFDictionaryRef userInfo,
+    int deliverImmediately,
+  ) {
+    return _CFNotificationCenterPostNotification(
+      center,
+      name,
+      object,
+      userInfo,
+      deliverImmediately,
+    );
+  }
+
+  late final _CFNotificationCenterPostNotificationPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFNotificationCenterRef,
+              CFNotificationName,
+              ffi.Pointer<ffi.Void>,
+              CFDictionaryRef,
+              Boolean)>>('CFNotificationCenterPostNotification');
+  late final _CFNotificationCenterPostNotification =
+      _CFNotificationCenterPostNotificationPtr.asFunction<
+          void Function(CFNotificationCenterRef, CFNotificationName,
+              ffi.Pointer<ffi.Void>, CFDictionaryRef, int)>();
+
+  void CFNotificationCenterPostNotificationWithOptions(
+    CFNotificationCenterRef center,
+    CFNotificationName name,
+    ffi.Pointer<ffi.Void> object,
+    CFDictionaryRef userInfo,
+    int options,
+  ) {
+    return _CFNotificationCenterPostNotificationWithOptions(
+      center,
+      name,
+      object,
+      userInfo,
+      options,
+    );
+  }
+
+  late final _CFNotificationCenterPostNotificationWithOptionsPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(CFNotificationCenterRef, CFNotificationName,
+                  ffi.Pointer<ffi.Void>, CFDictionaryRef, CFOptionFlags)>>(
+      'CFNotificationCenterPostNotificationWithOptions');
+  late final _CFNotificationCenterPostNotificationWithOptions =
+      _CFNotificationCenterPostNotificationWithOptionsPtr.asFunction<
+          void Function(CFNotificationCenterRef, CFNotificationName,
+              ffi.Pointer<ffi.Void>, CFDictionaryRef, int)>();
+
+  int CFLocaleGetTypeID() {
+    return _CFLocaleGetTypeID();
+  }
+
+  late final _CFLocaleGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFLocaleGetTypeID');
+  late final _CFLocaleGetTypeID =
+      _CFLocaleGetTypeIDPtr.asFunction<int Function()>();
+
+  CFLocaleRef CFLocaleGetSystem() {
+    return _CFLocaleGetSystem();
+  }
+
+  late final _CFLocaleGetSystemPtr =
+      _lookup<ffi.NativeFunction<CFLocaleRef Function()>>('CFLocaleGetSystem');
+  late final _CFLocaleGetSystem =
+      _CFLocaleGetSystemPtr.asFunction<CFLocaleRef Function()>();
+
+  CFLocaleRef CFLocaleCopyCurrent() {
+    return _CFLocaleCopyCurrent();
+  }
+
+  late final _CFLocaleCopyCurrentPtr =
+      _lookup<ffi.NativeFunction<CFLocaleRef Function()>>(
+          'CFLocaleCopyCurrent');
+  late final _CFLocaleCopyCurrent =
+      _CFLocaleCopyCurrentPtr.asFunction<CFLocaleRef Function()>();
+
+  CFArrayRef CFLocaleCopyAvailableLocaleIdentifiers() {
+    return _CFLocaleCopyAvailableLocaleIdentifiers();
+  }
+
+  late final _CFLocaleCopyAvailableLocaleIdentifiersPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFLocaleCopyAvailableLocaleIdentifiers');
+  late final _CFLocaleCopyAvailableLocaleIdentifiers =
+      _CFLocaleCopyAvailableLocaleIdentifiersPtr.asFunction<
+          CFArrayRef Function()>();
+
+  CFArrayRef CFLocaleCopyISOLanguageCodes() {
+    return _CFLocaleCopyISOLanguageCodes();
+  }
+
+  late final _CFLocaleCopyISOLanguageCodesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFLocaleCopyISOLanguageCodes');
+  late final _CFLocaleCopyISOLanguageCodes =
+      _CFLocaleCopyISOLanguageCodesPtr.asFunction<CFArrayRef Function()>();
+
+  CFArrayRef CFLocaleCopyISOCountryCodes() {
+    return _CFLocaleCopyISOCountryCodes();
+  }
+
+  late final _CFLocaleCopyISOCountryCodesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFLocaleCopyISOCountryCodes');
+  late final _CFLocaleCopyISOCountryCodes =
+      _CFLocaleCopyISOCountryCodesPtr.asFunction<CFArrayRef Function()>();
+
+  CFArrayRef CFLocaleCopyISOCurrencyCodes() {
+    return _CFLocaleCopyISOCurrencyCodes();
+  }
+
+  late final _CFLocaleCopyISOCurrencyCodesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFLocaleCopyISOCurrencyCodes');
+  late final _CFLocaleCopyISOCurrencyCodes =
+      _CFLocaleCopyISOCurrencyCodesPtr.asFunction<CFArrayRef Function()>();
+
+  CFArrayRef CFLocaleCopyCommonISOCurrencyCodes() {
+    return _CFLocaleCopyCommonISOCurrencyCodes();
+  }
+
+  late final _CFLocaleCopyCommonISOCurrencyCodesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFLocaleCopyCommonISOCurrencyCodes');
+  late final _CFLocaleCopyCommonISOCurrencyCodes =
+      _CFLocaleCopyCommonISOCurrencyCodesPtr.asFunction<
+          CFArrayRef Function()>();
+
+  CFArrayRef CFLocaleCopyPreferredLanguages() {
+    return _CFLocaleCopyPreferredLanguages();
+  }
+
+  late final _CFLocaleCopyPreferredLanguagesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFLocaleCopyPreferredLanguages');
+  late final _CFLocaleCopyPreferredLanguages =
+      _CFLocaleCopyPreferredLanguagesPtr.asFunction<CFArrayRef Function()>();
+
+  CFLocaleIdentifier CFLocaleCreateCanonicalLanguageIdentifierFromString(
+    CFAllocatorRef allocator,
+    CFStringRef localeIdentifier,
+  ) {
+    return _CFLocaleCreateCanonicalLanguageIdentifierFromString(
+      allocator,
+      localeIdentifier,
+    );
+  }
+
+  late final _CFLocaleCreateCanonicalLanguageIdentifierFromStringPtr = _lookup<
+          ffi.NativeFunction<
+              CFLocaleIdentifier Function(CFAllocatorRef, CFStringRef)>>(
+      'CFLocaleCreateCanonicalLanguageIdentifierFromString');
+  late final _CFLocaleCreateCanonicalLanguageIdentifierFromString =
+      _CFLocaleCreateCanonicalLanguageIdentifierFromStringPtr.asFunction<
+          CFLocaleIdentifier Function(CFAllocatorRef, CFStringRef)>();
+
+  CFLocaleIdentifier CFLocaleCreateCanonicalLocaleIdentifierFromString(
+    CFAllocatorRef allocator,
+    CFStringRef localeIdentifier,
+  ) {
+    return _CFLocaleCreateCanonicalLocaleIdentifierFromString(
+      allocator,
+      localeIdentifier,
+    );
+  }
+
+  late final _CFLocaleCreateCanonicalLocaleIdentifierFromStringPtr = _lookup<
+          ffi.NativeFunction<
+              CFLocaleIdentifier Function(CFAllocatorRef, CFStringRef)>>(
+      'CFLocaleCreateCanonicalLocaleIdentifierFromString');
+  late final _CFLocaleCreateCanonicalLocaleIdentifierFromString =
+      _CFLocaleCreateCanonicalLocaleIdentifierFromStringPtr.asFunction<
+          CFLocaleIdentifier Function(CFAllocatorRef, CFStringRef)>();
+
+  CFLocaleIdentifier
+      CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes(
+    CFAllocatorRef allocator,
+    int lcode,
+    int rcode,
+  ) {
+    return _CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes(
+      allocator,
+      lcode,
+      rcode,
+    );
+  }
+
+  late final _CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodesPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  CFLocaleIdentifier Function(
+                      CFAllocatorRef, LangCode, RegionCode)>>(
+          'CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes');
+  late final _CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes =
+      _CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodesPtr
+          .asFunction<CFLocaleIdentifier Function(CFAllocatorRef, int, int)>();
+
+  CFLocaleIdentifier CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode(
+    CFAllocatorRef allocator,
+    int lcid,
+  ) {
+    return _CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode(
+      allocator,
+      lcid,
+    );
+  }
+
+  late final _CFLocaleCreateLocaleIdentifierFromWindowsLocaleCodePtr = _lookup<
+          ffi.NativeFunction<
+              CFLocaleIdentifier Function(CFAllocatorRef, ffi.Uint32)>>(
+      'CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode');
+  late final _CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode =
+      _CFLocaleCreateLocaleIdentifierFromWindowsLocaleCodePtr.asFunction<
+          CFLocaleIdentifier Function(CFAllocatorRef, int)>();
+
+  int CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier(
+    CFLocaleIdentifier localeIdentifier,
+  ) {
+    return _CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier(
+      localeIdentifier,
+    );
+  }
+
+  late final _CFLocaleGetWindowsLocaleCodeFromLocaleIdentifierPtr =
+      _lookup<ffi.NativeFunction<ffi.Uint32 Function(CFLocaleIdentifier)>>(
+          'CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier');
+  late final _CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier =
+      _CFLocaleGetWindowsLocaleCodeFromLocaleIdentifierPtr.asFunction<
+          int Function(CFLocaleIdentifier)>();
+
+  int CFLocaleGetLanguageCharacterDirection(
+    CFStringRef isoLangCode,
+  ) {
+    return _CFLocaleGetLanguageCharacterDirection(
+      isoLangCode,
+    );
+  }
+
+  late final _CFLocaleGetLanguageCharacterDirectionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFStringRef)>>(
+          'CFLocaleGetLanguageCharacterDirection');
+  late final _CFLocaleGetLanguageCharacterDirection =
+      _CFLocaleGetLanguageCharacterDirectionPtr.asFunction<
+          int Function(CFStringRef)>();
+
+  int CFLocaleGetLanguageLineDirection(
+    CFStringRef isoLangCode,
+  ) {
+    return _CFLocaleGetLanguageLineDirection(
+      isoLangCode,
+    );
+  }
+
+  late final _CFLocaleGetLanguageLineDirectionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFStringRef)>>(
+          'CFLocaleGetLanguageLineDirection');
+  late final _CFLocaleGetLanguageLineDirection =
+      _CFLocaleGetLanguageLineDirectionPtr.asFunction<
+          int Function(CFStringRef)>();
+
+  CFDictionaryRef CFLocaleCreateComponentsFromLocaleIdentifier(
+    CFAllocatorRef allocator,
+    CFLocaleIdentifier localeID,
+  ) {
+    return _CFLocaleCreateComponentsFromLocaleIdentifier(
+      allocator,
+      localeID,
+    );
+  }
+
+  late final _CFLocaleCreateComponentsFromLocaleIdentifierPtr = _lookup<
+          ffi.NativeFunction<
+              CFDictionaryRef Function(CFAllocatorRef, CFLocaleIdentifier)>>(
+      'CFLocaleCreateComponentsFromLocaleIdentifier');
+  late final _CFLocaleCreateComponentsFromLocaleIdentifier =
+      _CFLocaleCreateComponentsFromLocaleIdentifierPtr.asFunction<
+          CFDictionaryRef Function(CFAllocatorRef, CFLocaleIdentifier)>();
+
+  CFLocaleIdentifier CFLocaleCreateLocaleIdentifierFromComponents(
+    CFAllocatorRef allocator,
+    CFDictionaryRef dictionary,
+  ) {
+    return _CFLocaleCreateLocaleIdentifierFromComponents(
+      allocator,
+      dictionary,
+    );
+  }
+
+  late final _CFLocaleCreateLocaleIdentifierFromComponentsPtr = _lookup<
+          ffi.NativeFunction<
+              CFLocaleIdentifier Function(CFAllocatorRef, CFDictionaryRef)>>(
+      'CFLocaleCreateLocaleIdentifierFromComponents');
+  late final _CFLocaleCreateLocaleIdentifierFromComponents =
+      _CFLocaleCreateLocaleIdentifierFromComponentsPtr.asFunction<
+          CFLocaleIdentifier Function(CFAllocatorRef, CFDictionaryRef)>();
+
+  CFLocaleRef CFLocaleCreate(
+    CFAllocatorRef allocator,
+    CFLocaleIdentifier localeIdentifier,
+  ) {
+    return _CFLocaleCreate(
+      allocator,
+      localeIdentifier,
+    );
+  }
+
+  late final _CFLocaleCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFLocaleRef Function(
+              CFAllocatorRef, CFLocaleIdentifier)>>('CFLocaleCreate');
+  late final _CFLocaleCreate = _CFLocaleCreatePtr.asFunction<
+      CFLocaleRef Function(CFAllocatorRef, CFLocaleIdentifier)>();
+
+  CFLocaleRef CFLocaleCreateCopy(
+    CFAllocatorRef allocator,
+    CFLocaleRef locale,
+  ) {
+    return _CFLocaleCreateCopy(
+      allocator,
+      locale,
+    );
+  }
+
+  late final _CFLocaleCreateCopyPtr = _lookup<
+          ffi
+          .NativeFunction<CFLocaleRef Function(CFAllocatorRef, CFLocaleRef)>>(
+      'CFLocaleCreateCopy');
+  late final _CFLocaleCreateCopy = _CFLocaleCreateCopyPtr.asFunction<
+      CFLocaleRef Function(CFAllocatorRef, CFLocaleRef)>();
+
+  CFLocaleIdentifier CFLocaleGetIdentifier(
+    CFLocaleRef locale,
+  ) {
+    return _CFLocaleGetIdentifier(
+      locale,
+    );
+  }
+
+  late final _CFLocaleGetIdentifierPtr =
+      _lookup<ffi.NativeFunction<CFLocaleIdentifier Function(CFLocaleRef)>>(
+          'CFLocaleGetIdentifier');
+  late final _CFLocaleGetIdentifier = _CFLocaleGetIdentifierPtr.asFunction<
+      CFLocaleIdentifier Function(CFLocaleRef)>();
+
+  CFTypeRef CFLocaleGetValue(
+    CFLocaleRef locale,
+    CFLocaleKey key,
+  ) {
+    return _CFLocaleGetValue(
+      locale,
+      key,
+    );
+  }
+
+  late final _CFLocaleGetValuePtr =
+      _lookup<ffi.NativeFunction<CFTypeRef Function(CFLocaleRef, CFLocaleKey)>>(
+          'CFLocaleGetValue');
+  late final _CFLocaleGetValue = _CFLocaleGetValuePtr.asFunction<
+      CFTypeRef Function(CFLocaleRef, CFLocaleKey)>();
+
+  CFStringRef CFLocaleCopyDisplayNameForPropertyValue(
+    CFLocaleRef displayLocale,
+    CFLocaleKey key,
+    CFStringRef value,
+  ) {
+    return _CFLocaleCopyDisplayNameForPropertyValue(
+      displayLocale,
+      key,
+      value,
+    );
+  }
+
+  late final _CFLocaleCopyDisplayNameForPropertyValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFLocaleRef, CFLocaleKey,
+              CFStringRef)>>('CFLocaleCopyDisplayNameForPropertyValue');
+  late final _CFLocaleCopyDisplayNameForPropertyValue =
+      _CFLocaleCopyDisplayNameForPropertyValuePtr.asFunction<
+          CFStringRef Function(CFLocaleRef, CFLocaleKey, CFStringRef)>();
+
+  late final ffi.Pointer<CFNotificationName>
+      _kCFLocaleCurrentLocaleDidChangeNotification =
+      _lookup<CFNotificationName>(
+          'kCFLocaleCurrentLocaleDidChangeNotification');
+
+  CFNotificationName get kCFLocaleCurrentLocaleDidChangeNotification =>
+      _kCFLocaleCurrentLocaleDidChangeNotification.value;
+
+  set kCFLocaleCurrentLocaleDidChangeNotification(CFNotificationName value) =>
+      _kCFLocaleCurrentLocaleDidChangeNotification.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleIdentifier =
+      _lookup<CFLocaleKey>('kCFLocaleIdentifier');
+
+  CFLocaleKey get kCFLocaleIdentifier => _kCFLocaleIdentifier.value;
+
+  set kCFLocaleIdentifier(CFLocaleKey value) =>
+      _kCFLocaleIdentifier.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleLanguageCode =
+      _lookup<CFLocaleKey>('kCFLocaleLanguageCode');
+
+  CFLocaleKey get kCFLocaleLanguageCode => _kCFLocaleLanguageCode.value;
+
+  set kCFLocaleLanguageCode(CFLocaleKey value) =>
+      _kCFLocaleLanguageCode.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleCountryCode =
+      _lookup<CFLocaleKey>('kCFLocaleCountryCode');
+
+  CFLocaleKey get kCFLocaleCountryCode => _kCFLocaleCountryCode.value;
+
+  set kCFLocaleCountryCode(CFLocaleKey value) =>
+      _kCFLocaleCountryCode.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleScriptCode =
+      _lookup<CFLocaleKey>('kCFLocaleScriptCode');
+
+  CFLocaleKey get kCFLocaleScriptCode => _kCFLocaleScriptCode.value;
+
+  set kCFLocaleScriptCode(CFLocaleKey value) =>
+      _kCFLocaleScriptCode.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleVariantCode =
+      _lookup<CFLocaleKey>('kCFLocaleVariantCode');
+
+  CFLocaleKey get kCFLocaleVariantCode => _kCFLocaleVariantCode.value;
+
+  set kCFLocaleVariantCode(CFLocaleKey value) =>
+      _kCFLocaleVariantCode.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleExemplarCharacterSet =
+      _lookup<CFLocaleKey>('kCFLocaleExemplarCharacterSet');
+
+  CFLocaleKey get kCFLocaleExemplarCharacterSet =>
+      _kCFLocaleExemplarCharacterSet.value;
+
+  set kCFLocaleExemplarCharacterSet(CFLocaleKey value) =>
+      _kCFLocaleExemplarCharacterSet.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleCalendarIdentifier =
+      _lookup<CFLocaleKey>('kCFLocaleCalendarIdentifier');
+
+  CFLocaleKey get kCFLocaleCalendarIdentifier =>
+      _kCFLocaleCalendarIdentifier.value;
+
+  set kCFLocaleCalendarIdentifier(CFLocaleKey value) =>
+      _kCFLocaleCalendarIdentifier.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleCalendar =
+      _lookup<CFLocaleKey>('kCFLocaleCalendar');
+
+  CFLocaleKey get kCFLocaleCalendar => _kCFLocaleCalendar.value;
+
+  set kCFLocaleCalendar(CFLocaleKey value) => _kCFLocaleCalendar.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleCollationIdentifier =
+      _lookup<CFLocaleKey>('kCFLocaleCollationIdentifier');
+
+  CFLocaleKey get kCFLocaleCollationIdentifier =>
+      _kCFLocaleCollationIdentifier.value;
+
+  set kCFLocaleCollationIdentifier(CFLocaleKey value) =>
+      _kCFLocaleCollationIdentifier.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleUsesMetricSystem =
+      _lookup<CFLocaleKey>('kCFLocaleUsesMetricSystem');
+
+  CFLocaleKey get kCFLocaleUsesMetricSystem => _kCFLocaleUsesMetricSystem.value;
+
+  set kCFLocaleUsesMetricSystem(CFLocaleKey value) =>
+      _kCFLocaleUsesMetricSystem.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleMeasurementSystem =
+      _lookup<CFLocaleKey>('kCFLocaleMeasurementSystem');
+
+  CFLocaleKey get kCFLocaleMeasurementSystem =>
+      _kCFLocaleMeasurementSystem.value;
+
+  set kCFLocaleMeasurementSystem(CFLocaleKey value) =>
+      _kCFLocaleMeasurementSystem.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleDecimalSeparator =
+      _lookup<CFLocaleKey>('kCFLocaleDecimalSeparator');
+
+  CFLocaleKey get kCFLocaleDecimalSeparator => _kCFLocaleDecimalSeparator.value;
+
+  set kCFLocaleDecimalSeparator(CFLocaleKey value) =>
+      _kCFLocaleDecimalSeparator.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleGroupingSeparator =
+      _lookup<CFLocaleKey>('kCFLocaleGroupingSeparator');
+
+  CFLocaleKey get kCFLocaleGroupingSeparator =>
+      _kCFLocaleGroupingSeparator.value;
+
+  set kCFLocaleGroupingSeparator(CFLocaleKey value) =>
+      _kCFLocaleGroupingSeparator.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleCurrencySymbol =
+      _lookup<CFLocaleKey>('kCFLocaleCurrencySymbol');
+
+  CFLocaleKey get kCFLocaleCurrencySymbol => _kCFLocaleCurrencySymbol.value;
+
+  set kCFLocaleCurrencySymbol(CFLocaleKey value) =>
+      _kCFLocaleCurrencySymbol.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleCurrencyCode =
+      _lookup<CFLocaleKey>('kCFLocaleCurrencyCode');
+
+  CFLocaleKey get kCFLocaleCurrencyCode => _kCFLocaleCurrencyCode.value;
+
+  set kCFLocaleCurrencyCode(CFLocaleKey value) =>
+      _kCFLocaleCurrencyCode.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleCollatorIdentifier =
+      _lookup<CFLocaleKey>('kCFLocaleCollatorIdentifier');
+
+  CFLocaleKey get kCFLocaleCollatorIdentifier =>
+      _kCFLocaleCollatorIdentifier.value;
+
+  set kCFLocaleCollatorIdentifier(CFLocaleKey value) =>
+      _kCFLocaleCollatorIdentifier.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleQuotationBeginDelimiterKey =
+      _lookup<CFLocaleKey>('kCFLocaleQuotationBeginDelimiterKey');
+
+  CFLocaleKey get kCFLocaleQuotationBeginDelimiterKey =>
+      _kCFLocaleQuotationBeginDelimiterKey.value;
+
+  set kCFLocaleQuotationBeginDelimiterKey(CFLocaleKey value) =>
+      _kCFLocaleQuotationBeginDelimiterKey.value = value;
+
+  late final ffi.Pointer<CFLocaleKey> _kCFLocaleQuotationEndDelimiterKey =
+      _lookup<CFLocaleKey>('kCFLocaleQuotationEndDelimiterKey');
+
+  CFLocaleKey get kCFLocaleQuotationEndDelimiterKey =>
+      _kCFLocaleQuotationEndDelimiterKey.value;
+
+  set kCFLocaleQuotationEndDelimiterKey(CFLocaleKey value) =>
+      _kCFLocaleQuotationEndDelimiterKey.value = value;
+
+  late final ffi.Pointer<CFLocaleKey>
+      _kCFLocaleAlternateQuotationBeginDelimiterKey =
+      _lookup<CFLocaleKey>('kCFLocaleAlternateQuotationBeginDelimiterKey');
+
+  CFLocaleKey get kCFLocaleAlternateQuotationBeginDelimiterKey =>
+      _kCFLocaleAlternateQuotationBeginDelimiterKey.value;
+
+  set kCFLocaleAlternateQuotationBeginDelimiterKey(CFLocaleKey value) =>
+      _kCFLocaleAlternateQuotationBeginDelimiterKey.value = value;
+
+  late final ffi.Pointer<CFLocaleKey>
+      _kCFLocaleAlternateQuotationEndDelimiterKey =
+      _lookup<CFLocaleKey>('kCFLocaleAlternateQuotationEndDelimiterKey');
+
+  CFLocaleKey get kCFLocaleAlternateQuotationEndDelimiterKey =>
+      _kCFLocaleAlternateQuotationEndDelimiterKey.value;
+
+  set kCFLocaleAlternateQuotationEndDelimiterKey(CFLocaleKey value) =>
+      _kCFLocaleAlternateQuotationEndDelimiterKey.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFGregorianCalendar =
+      _lookup<CFCalendarIdentifier>('kCFGregorianCalendar');
+
+  CFCalendarIdentifier get kCFGregorianCalendar => _kCFGregorianCalendar.value;
+
+  set kCFGregorianCalendar(CFCalendarIdentifier value) =>
+      _kCFGregorianCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFBuddhistCalendar =
+      _lookup<CFCalendarIdentifier>('kCFBuddhistCalendar');
+
+  CFCalendarIdentifier get kCFBuddhistCalendar => _kCFBuddhistCalendar.value;
+
+  set kCFBuddhistCalendar(CFCalendarIdentifier value) =>
+      _kCFBuddhistCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFChineseCalendar =
+      _lookup<CFCalendarIdentifier>('kCFChineseCalendar');
+
+  CFCalendarIdentifier get kCFChineseCalendar => _kCFChineseCalendar.value;
+
+  set kCFChineseCalendar(CFCalendarIdentifier value) =>
+      _kCFChineseCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFHebrewCalendar =
+      _lookup<CFCalendarIdentifier>('kCFHebrewCalendar');
+
+  CFCalendarIdentifier get kCFHebrewCalendar => _kCFHebrewCalendar.value;
+
+  set kCFHebrewCalendar(CFCalendarIdentifier value) =>
+      _kCFHebrewCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFIslamicCalendar =
+      _lookup<CFCalendarIdentifier>('kCFIslamicCalendar');
+
+  CFCalendarIdentifier get kCFIslamicCalendar => _kCFIslamicCalendar.value;
+
+  set kCFIslamicCalendar(CFCalendarIdentifier value) =>
+      _kCFIslamicCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFIslamicCivilCalendar =
+      _lookup<CFCalendarIdentifier>('kCFIslamicCivilCalendar');
+
+  CFCalendarIdentifier get kCFIslamicCivilCalendar =>
+      _kCFIslamicCivilCalendar.value;
+
+  set kCFIslamicCivilCalendar(CFCalendarIdentifier value) =>
+      _kCFIslamicCivilCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFJapaneseCalendar =
+      _lookup<CFCalendarIdentifier>('kCFJapaneseCalendar');
+
+  CFCalendarIdentifier get kCFJapaneseCalendar => _kCFJapaneseCalendar.value;
+
+  set kCFJapaneseCalendar(CFCalendarIdentifier value) =>
+      _kCFJapaneseCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFRepublicOfChinaCalendar =
+      _lookup<CFCalendarIdentifier>('kCFRepublicOfChinaCalendar');
+
+  CFCalendarIdentifier get kCFRepublicOfChinaCalendar =>
+      _kCFRepublicOfChinaCalendar.value;
+
+  set kCFRepublicOfChinaCalendar(CFCalendarIdentifier value) =>
+      _kCFRepublicOfChinaCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFPersianCalendar =
+      _lookup<CFCalendarIdentifier>('kCFPersianCalendar');
+
+  CFCalendarIdentifier get kCFPersianCalendar => _kCFPersianCalendar.value;
+
+  set kCFPersianCalendar(CFCalendarIdentifier value) =>
+      _kCFPersianCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFIndianCalendar =
+      _lookup<CFCalendarIdentifier>('kCFIndianCalendar');
+
+  CFCalendarIdentifier get kCFIndianCalendar => _kCFIndianCalendar.value;
+
+  set kCFIndianCalendar(CFCalendarIdentifier value) =>
+      _kCFIndianCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFISO8601Calendar =
+      _lookup<CFCalendarIdentifier>('kCFISO8601Calendar');
+
+  CFCalendarIdentifier get kCFISO8601Calendar => _kCFISO8601Calendar.value;
+
+  set kCFISO8601Calendar(CFCalendarIdentifier value) =>
+      _kCFISO8601Calendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFIslamicTabularCalendar =
+      _lookup<CFCalendarIdentifier>('kCFIslamicTabularCalendar');
+
+  CFCalendarIdentifier get kCFIslamicTabularCalendar =>
+      _kCFIslamicTabularCalendar.value;
+
+  set kCFIslamicTabularCalendar(CFCalendarIdentifier value) =>
+      _kCFIslamicTabularCalendar.value = value;
+
+  late final ffi.Pointer<CFCalendarIdentifier> _kCFIslamicUmmAlQuraCalendar =
+      _lookup<CFCalendarIdentifier>('kCFIslamicUmmAlQuraCalendar');
+
+  CFCalendarIdentifier get kCFIslamicUmmAlQuraCalendar =>
+      _kCFIslamicUmmAlQuraCalendar.value;
+
+  set kCFIslamicUmmAlQuraCalendar(CFCalendarIdentifier value) =>
+      _kCFIslamicUmmAlQuraCalendar.value = value;
+
+  double CFAbsoluteTimeGetCurrent() {
+    return _CFAbsoluteTimeGetCurrent();
+  }
+
+  late final _CFAbsoluteTimeGetCurrentPtr =
+      _lookup<ffi.NativeFunction<CFAbsoluteTime Function()>>(
+          'CFAbsoluteTimeGetCurrent');
+  late final _CFAbsoluteTimeGetCurrent =
+      _CFAbsoluteTimeGetCurrentPtr.asFunction<double Function()>();
+
+  late final ffi.Pointer<CFTimeInterval> _kCFAbsoluteTimeIntervalSince1970 =
+      _lookup<CFTimeInterval>('kCFAbsoluteTimeIntervalSince1970');
+
+  double get kCFAbsoluteTimeIntervalSince1970 =>
+      _kCFAbsoluteTimeIntervalSince1970.value;
+
+  set kCFAbsoluteTimeIntervalSince1970(double value) =>
+      _kCFAbsoluteTimeIntervalSince1970.value = value;
+
+  late final ffi.Pointer<CFTimeInterval> _kCFAbsoluteTimeIntervalSince1904 =
+      _lookup<CFTimeInterval>('kCFAbsoluteTimeIntervalSince1904');
+
+  double get kCFAbsoluteTimeIntervalSince1904 =>
+      _kCFAbsoluteTimeIntervalSince1904.value;
+
+  set kCFAbsoluteTimeIntervalSince1904(double value) =>
+      _kCFAbsoluteTimeIntervalSince1904.value = value;
+
+  int CFDateGetTypeID() {
+    return _CFDateGetTypeID();
+  }
+
+  late final _CFDateGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFDateGetTypeID');
+  late final _CFDateGetTypeID =
+      _CFDateGetTypeIDPtr.asFunction<int Function()>();
+
+  CFDateRef CFDateCreate(
+    CFAllocatorRef allocator,
+    double at,
+  ) {
+    return _CFDateCreate(
+      allocator,
+      at,
+    );
+  }
+
+  late final _CFDateCreatePtr = _lookup<
+          ffi
+          .NativeFunction<CFDateRef Function(CFAllocatorRef, CFAbsoluteTime)>>(
+      'CFDateCreate');
+  late final _CFDateCreate =
+      _CFDateCreatePtr.asFunction<CFDateRef Function(CFAllocatorRef, double)>();
+
+  double CFDateGetAbsoluteTime(
+    CFDateRef theDate,
+  ) {
+    return _CFDateGetAbsoluteTime(
+      theDate,
+    );
+  }
+
+  late final _CFDateGetAbsoluteTimePtr =
+      _lookup<ffi.NativeFunction<CFAbsoluteTime Function(CFDateRef)>>(
+          'CFDateGetAbsoluteTime');
+  late final _CFDateGetAbsoluteTime =
+      _CFDateGetAbsoluteTimePtr.asFunction<double Function(CFDateRef)>();
+
+  double CFDateGetTimeIntervalSinceDate(
+    CFDateRef theDate,
+    CFDateRef otherDate,
+  ) {
+    return _CFDateGetTimeIntervalSinceDate(
+      theDate,
+      otherDate,
+    );
+  }
+
+  late final _CFDateGetTimeIntervalSinceDatePtr = _lookup<
+          ffi.NativeFunction<CFTimeInterval Function(CFDateRef, CFDateRef)>>(
+      'CFDateGetTimeIntervalSinceDate');
+  late final _CFDateGetTimeIntervalSinceDate =
+      _CFDateGetTimeIntervalSinceDatePtr.asFunction<
+          double Function(CFDateRef, CFDateRef)>();
+
+  int CFDateCompare(
+    CFDateRef theDate,
+    CFDateRef otherDate,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFDateCompare(
+      theDate,
+      otherDate,
+      context,
+    );
+  }
+
+  late final _CFDateComparePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              CFDateRef, CFDateRef, ffi.Pointer<ffi.Void>)>>('CFDateCompare');
+  late final _CFDateCompare = _CFDateComparePtr.asFunction<
+      int Function(CFDateRef, CFDateRef, ffi.Pointer<ffi.Void>)>();
+
+  int CFGregorianDateIsValid(
+    CFGregorianDate gdate,
+    int unitFlags,
+  ) {
+    return _CFGregorianDateIsValid(
+      gdate,
+      unitFlags,
+    );
+  }
+
+  late final _CFGregorianDateIsValidPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFGregorianDate, CFOptionFlags)>>(
+      'CFGregorianDateIsValid');
+  late final _CFGregorianDateIsValid = _CFGregorianDateIsValidPtr.asFunction<
+      int Function(CFGregorianDate, int)>();
+
+  double CFGregorianDateGetAbsoluteTime(
+    CFGregorianDate gdate,
+    CFTimeZoneRef tz,
+  ) {
+    return _CFGregorianDateGetAbsoluteTime(
+      gdate,
+      tz,
+    );
+  }
+
+  late final _CFGregorianDateGetAbsoluteTimePtr = _lookup<
+      ffi.NativeFunction<
+          CFAbsoluteTime Function(CFGregorianDate,
+              CFTimeZoneRef)>>('CFGregorianDateGetAbsoluteTime');
+  late final _CFGregorianDateGetAbsoluteTime =
+      _CFGregorianDateGetAbsoluteTimePtr.asFunction<
+          double Function(CFGregorianDate, CFTimeZoneRef)>();
+
+  CFGregorianDate CFAbsoluteTimeGetGregorianDate(
+    double at,
+    CFTimeZoneRef tz,
+  ) {
+    return _CFAbsoluteTimeGetGregorianDate(
+      at,
+      tz,
+    );
+  }
+
+  late final _CFAbsoluteTimeGetGregorianDatePtr = _lookup<
+      ffi.NativeFunction<
+          CFGregorianDate Function(CFAbsoluteTime,
+              CFTimeZoneRef)>>('CFAbsoluteTimeGetGregorianDate');
+  late final _CFAbsoluteTimeGetGregorianDate =
+      _CFAbsoluteTimeGetGregorianDatePtr.asFunction<
+          CFGregorianDate Function(double, CFTimeZoneRef)>();
+
+  double CFAbsoluteTimeAddGregorianUnits(
+    double at,
+    CFTimeZoneRef tz,
+    CFGregorianUnits units,
+  ) {
+    return _CFAbsoluteTimeAddGregorianUnits(
+      at,
+      tz,
+      units,
+    );
+  }
+
+  late final _CFAbsoluteTimeAddGregorianUnitsPtr = _lookup<
+      ffi.NativeFunction<
+          CFAbsoluteTime Function(CFAbsoluteTime, CFTimeZoneRef,
+              CFGregorianUnits)>>('CFAbsoluteTimeAddGregorianUnits');
+  late final _CFAbsoluteTimeAddGregorianUnits =
+      _CFAbsoluteTimeAddGregorianUnitsPtr.asFunction<
+          double Function(double, CFTimeZoneRef, CFGregorianUnits)>();
+
+  CFGregorianUnits CFAbsoluteTimeGetDifferenceAsGregorianUnits(
+    double at1,
+    double at2,
+    CFTimeZoneRef tz,
+    int unitFlags,
+  ) {
+    return _CFAbsoluteTimeGetDifferenceAsGregorianUnits(
+      at1,
+      at2,
+      tz,
+      unitFlags,
+    );
+  }
+
+  late final _CFAbsoluteTimeGetDifferenceAsGregorianUnitsPtr = _lookup<
+      ffi.NativeFunction<
+          CFGregorianUnits Function(
+              CFAbsoluteTime,
+              CFAbsoluteTime,
+              CFTimeZoneRef,
+              CFOptionFlags)>>('CFAbsoluteTimeGetDifferenceAsGregorianUnits');
+  late final _CFAbsoluteTimeGetDifferenceAsGregorianUnits =
+      _CFAbsoluteTimeGetDifferenceAsGregorianUnitsPtr.asFunction<
+          CFGregorianUnits Function(double, double, CFTimeZoneRef, int)>();
+
+  int CFAbsoluteTimeGetDayOfWeek(
+    double at,
+    CFTimeZoneRef tz,
+  ) {
+    return _CFAbsoluteTimeGetDayOfWeek(
+      at,
+      tz,
+    );
+  }
+
+  late final _CFAbsoluteTimeGetDayOfWeekPtr = _lookup<
+          ffi.NativeFunction<SInt32 Function(CFAbsoluteTime, CFTimeZoneRef)>>(
+      'CFAbsoluteTimeGetDayOfWeek');
+  late final _CFAbsoluteTimeGetDayOfWeek = _CFAbsoluteTimeGetDayOfWeekPtr
+      .asFunction<int Function(double, CFTimeZoneRef)>();
+
+  int CFAbsoluteTimeGetDayOfYear(
+    double at,
+    CFTimeZoneRef tz,
+  ) {
+    return _CFAbsoluteTimeGetDayOfYear(
+      at,
+      tz,
+    );
+  }
+
+  late final _CFAbsoluteTimeGetDayOfYearPtr = _lookup<
+          ffi.NativeFunction<SInt32 Function(CFAbsoluteTime, CFTimeZoneRef)>>(
+      'CFAbsoluteTimeGetDayOfYear');
+  late final _CFAbsoluteTimeGetDayOfYear = _CFAbsoluteTimeGetDayOfYearPtr
+      .asFunction<int Function(double, CFTimeZoneRef)>();
+
+  int CFAbsoluteTimeGetWeekOfYear(
+    double at,
+    CFTimeZoneRef tz,
+  ) {
+    return _CFAbsoluteTimeGetWeekOfYear(
+      at,
+      tz,
+    );
+  }
+
+  late final _CFAbsoluteTimeGetWeekOfYearPtr = _lookup<
+          ffi.NativeFunction<SInt32 Function(CFAbsoluteTime, CFTimeZoneRef)>>(
+      'CFAbsoluteTimeGetWeekOfYear');
+  late final _CFAbsoluteTimeGetWeekOfYear = _CFAbsoluteTimeGetWeekOfYearPtr
+      .asFunction<int Function(double, CFTimeZoneRef)>();
+
+  int CFDataGetTypeID() {
+    return _CFDataGetTypeID();
+  }
+
+  late final _CFDataGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFDataGetTypeID');
+  late final _CFDataGetTypeID =
+      _CFDataGetTypeIDPtr.asFunction<int Function()>();
+
+  CFDataRef CFDataCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<UInt8> bytes,
+    int length,
+  ) {
+    return _CFDataCreate(
+      allocator,
+      bytes,
+      length,
+    );
+  }
+
+  late final _CFDataCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(
+              CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex)>>('CFDataCreate');
+  late final _CFDataCreate = _CFDataCreatePtr.asFunction<
+      CFDataRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, int)>();
+
+  CFDataRef CFDataCreateWithBytesNoCopy(
+    CFAllocatorRef allocator,
+    ffi.Pointer<UInt8> bytes,
+    int length,
+    CFAllocatorRef bytesDeallocator,
+  ) {
+    return _CFDataCreateWithBytesNoCopy(
+      allocator,
+      bytes,
+      length,
+      bytesDeallocator,
+    );
+  }
+
+  late final _CFDataCreateWithBytesNoCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex,
+              CFAllocatorRef)>>('CFDataCreateWithBytesNoCopy');
+  late final _CFDataCreateWithBytesNoCopy =
+      _CFDataCreateWithBytesNoCopyPtr.asFunction<
+          CFDataRef Function(
+              CFAllocatorRef, ffi.Pointer<UInt8>, int, CFAllocatorRef)>();
+
+  CFDataRef CFDataCreateCopy(
+    CFAllocatorRef allocator,
+    CFDataRef theData,
+  ) {
+    return _CFDataCreateCopy(
+      allocator,
+      theData,
+    );
+  }
+
+  late final _CFDataCreateCopyPtr = _lookup<
+          ffi.NativeFunction<CFDataRef Function(CFAllocatorRef, CFDataRef)>>(
+      'CFDataCreateCopy');
+  late final _CFDataCreateCopy = _CFDataCreateCopyPtr.asFunction<
+      CFDataRef Function(CFAllocatorRef, CFDataRef)>();
+
+  CFMutableDataRef CFDataCreateMutable(
+    CFAllocatorRef allocator,
+    int capacity,
+  ) {
+    return _CFDataCreateMutable(
+      allocator,
+      capacity,
+    );
+  }
+
+  late final _CFDataCreateMutablePtr = _lookup<
+          ffi
+          .NativeFunction<CFMutableDataRef Function(CFAllocatorRef, CFIndex)>>(
+      'CFDataCreateMutable');
+  late final _CFDataCreateMutable = _CFDataCreateMutablePtr.asFunction<
+      CFMutableDataRef Function(CFAllocatorRef, int)>();
+
+  CFMutableDataRef CFDataCreateMutableCopy(
+    CFAllocatorRef allocator,
+    int capacity,
+    CFDataRef theData,
+  ) {
+    return _CFDataCreateMutableCopy(
+      allocator,
+      capacity,
+      theData,
+    );
+  }
+
+  late final _CFDataCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableDataRef Function(
+              CFAllocatorRef, CFIndex, CFDataRef)>>('CFDataCreateMutableCopy');
+  late final _CFDataCreateMutableCopy = _CFDataCreateMutableCopyPtr.asFunction<
+      CFMutableDataRef Function(CFAllocatorRef, int, CFDataRef)>();
+
+  int CFDataGetLength(
+    CFDataRef theData,
+  ) {
+    return _CFDataGetLength(
+      theData,
+    );
+  }
+
+  late final _CFDataGetLengthPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFDataRef)>>(
+          'CFDataGetLength');
+  late final _CFDataGetLength =
+      _CFDataGetLengthPtr.asFunction<int Function(CFDataRef)>();
+
+  ffi.Pointer<UInt8> CFDataGetBytePtr(
+    CFDataRef theData,
+  ) {
+    return _CFDataGetBytePtr(
+      theData,
+    );
+  }
+
+  late final _CFDataGetBytePtrPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<UInt8> Function(CFDataRef)>>(
+          'CFDataGetBytePtr');
+  late final _CFDataGetBytePtr =
+      _CFDataGetBytePtrPtr.asFunction<ffi.Pointer<UInt8> Function(CFDataRef)>();
+
+  ffi.Pointer<UInt8> CFDataGetMutableBytePtr(
+    CFMutableDataRef theData,
+  ) {
+    return _CFDataGetMutableBytePtr(
+      theData,
+    );
+  }
+
+  late final _CFDataGetMutableBytePtrPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<UInt8> Function(CFMutableDataRef)>>(
+      'CFDataGetMutableBytePtr');
+  late final _CFDataGetMutableBytePtr = _CFDataGetMutableBytePtrPtr.asFunction<
+      ffi.Pointer<UInt8> Function(CFMutableDataRef)>();
+
+  void CFDataGetBytes(
+    CFDataRef theData,
+    CFRange range,
+    ffi.Pointer<UInt8> buffer,
+  ) {
+    return _CFDataGetBytes(
+      theData,
+      range,
+      buffer,
+    );
+  }
+
+  late final _CFDataGetBytesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFDataRef, CFRange, ffi.Pointer<UInt8>)>>('CFDataGetBytes');
+  late final _CFDataGetBytes = _CFDataGetBytesPtr.asFunction<
+      void Function(CFDataRef, CFRange, ffi.Pointer<UInt8>)>();
+
+  void CFDataSetLength(
+    CFMutableDataRef theData,
+    int length,
+  ) {
+    return _CFDataSetLength(
+      theData,
+      length,
+    );
+  }
+
+  late final _CFDataSetLengthPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableDataRef, CFIndex)>>(
+          'CFDataSetLength');
+  late final _CFDataSetLength =
+      _CFDataSetLengthPtr.asFunction<void Function(CFMutableDataRef, int)>();
+
+  void CFDataIncreaseLength(
+    CFMutableDataRef theData,
+    int extraLength,
+  ) {
+    return _CFDataIncreaseLength(
+      theData,
+      extraLength,
+    );
+  }
+
+  late final _CFDataIncreaseLengthPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableDataRef, CFIndex)>>(
+          'CFDataIncreaseLength');
+  late final _CFDataIncreaseLength = _CFDataIncreaseLengthPtr.asFunction<
+      void Function(CFMutableDataRef, int)>();
+
+  void CFDataAppendBytes(
+    CFMutableDataRef theData,
+    ffi.Pointer<UInt8> bytes,
+    int length,
+  ) {
+    return _CFDataAppendBytes(
+      theData,
+      bytes,
+      length,
+    );
+  }
+
+  late final _CFDataAppendBytesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableDataRef, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFDataAppendBytes');
+  late final _CFDataAppendBytes = _CFDataAppendBytesPtr.asFunction<
+      void Function(CFMutableDataRef, ffi.Pointer<UInt8>, int)>();
+
+  void CFDataReplaceBytes(
+    CFMutableDataRef theData,
+    CFRange range,
+    ffi.Pointer<UInt8> newBytes,
+    int newLength,
+  ) {
+    return _CFDataReplaceBytes(
+      theData,
+      range,
+      newBytes,
+      newLength,
+    );
+  }
+
+  late final _CFDataReplaceBytesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableDataRef, CFRange, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFDataReplaceBytes');
+  late final _CFDataReplaceBytes = _CFDataReplaceBytesPtr.asFunction<
+      void Function(CFMutableDataRef, CFRange, ffi.Pointer<UInt8>, int)>();
+
+  void CFDataDeleteBytes(
+    CFMutableDataRef theData,
+    CFRange range,
+  ) {
+    return _CFDataDeleteBytes(
+      theData,
+      range,
+    );
+  }
+
+  late final _CFDataDeleteBytesPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableDataRef, CFRange)>>(
+          'CFDataDeleteBytes');
+  late final _CFDataDeleteBytes = _CFDataDeleteBytesPtr.asFunction<
+      void Function(CFMutableDataRef, CFRange)>();
+
+  CFRange CFDataFind(
+    CFDataRef theData,
+    CFDataRef dataToFind,
+    CFRange searchRange,
+    int compareOptions,
+  ) {
+    return _CFDataFind(
+      theData,
+      dataToFind,
+      searchRange,
+      compareOptions,
+    );
+  }
+
+  late final _CFDataFindPtr = _lookup<
+      ffi.NativeFunction<
+          CFRange Function(
+              CFDataRef, CFDataRef, CFRange, ffi.Int32)>>('CFDataFind');
+  late final _CFDataFind = _CFDataFindPtr.asFunction<
+      CFRange Function(CFDataRef, CFDataRef, CFRange, int)>();
+
+  /// !
+  /// @function CFCharacterSetGetTypeID
+  /// Returns the type identifier of all CFCharacterSet instances.
+  int CFCharacterSetGetTypeID() {
+    return _CFCharacterSetGetTypeID();
+  }
+
+  late final _CFCharacterSetGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFCharacterSetGetTypeID');
+  late final _CFCharacterSetGetTypeID =
+      _CFCharacterSetGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function CFCharacterSetGetPredefined
+  /// Returns a predefined CFCharacterSet instance.
+  /// @param theSetIdentifier The CFCharacterSetPredefinedSet selector
+  /// which specifies the predefined character set.  If the
+  /// value is not in CFCharacterSetPredefinedSet, the behavior
+  /// is undefined.
+  /// @result A reference to the predefined immutable CFCharacterSet.
+  /// This instance is owned by CF.
+  CFCharacterSetRef CFCharacterSetGetPredefined(
+    int theSetIdentifier,
+  ) {
+    return _CFCharacterSetGetPredefined(
+      theSetIdentifier,
+    );
+  }
+
+  late final _CFCharacterSetGetPredefinedPtr =
+      _lookup<ffi.NativeFunction<CFCharacterSetRef Function(ffi.Int32)>>(
+          'CFCharacterSetGetPredefined');
+  late final _CFCharacterSetGetPredefined = _CFCharacterSetGetPredefinedPtr
+      .asFunction<CFCharacterSetRef Function(int)>();
+
+  /// !
+  /// @function CFCharacterSetCreateWithCharactersInRange
+  /// Creates a new immutable character set with the values from the given range.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theRange The CFRange which should be used to specify the
+  /// Unicode range the character set is filled with.  It
+  /// accepts the range in 32-bit in the UTF-32 format.  The
+  /// valid character point range is from 0x00000 to 0x10FFFF.
+  /// If the range is outside of the valid Unicode character
+  /// point, the behavior is undefined.
+  /// @result A reference to the new immutable CFCharacterSet.
+  CFCharacterSetRef CFCharacterSetCreateWithCharactersInRange(
+    CFAllocatorRef alloc,
+    CFRange theRange,
+  ) {
+    return _CFCharacterSetCreateWithCharactersInRange(
+      alloc,
+      theRange,
+    );
+  }
+
+  late final _CFCharacterSetCreateWithCharactersInRangePtr = _lookup<
+          ffi
+          .NativeFunction<CFCharacterSetRef Function(CFAllocatorRef, CFRange)>>(
+      'CFCharacterSetCreateWithCharactersInRange');
+  late final _CFCharacterSetCreateWithCharactersInRange =
+      _CFCharacterSetCreateWithCharactersInRangePtr.asFunction<
+          CFCharacterSetRef Function(CFAllocatorRef, CFRange)>();
+
+  /// !
+  /// @function CFCharacterSetCreateWithCharactersInString
+  /// Creates a new immutable character set with the values in the given string.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theString The CFString which should be used to specify
+  /// the Unicode characters the character set is filled with.
+  /// If this parameter is not a valid CFString, the behavior
+  /// is undefined.
+  /// @result A reference to the new immutable CFCharacterSet.
+  CFCharacterSetRef CFCharacterSetCreateWithCharactersInString(
+    CFAllocatorRef alloc,
+    CFStringRef theString,
+  ) {
+    return _CFCharacterSetCreateWithCharactersInString(
+      alloc,
+      theString,
+    );
+  }
+
+  late final _CFCharacterSetCreateWithCharactersInStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFCharacterSetRef Function(CFAllocatorRef,
+              CFStringRef)>>('CFCharacterSetCreateWithCharactersInString');
+  late final _CFCharacterSetCreateWithCharactersInString =
+      _CFCharacterSetCreateWithCharactersInStringPtr.asFunction<
+          CFCharacterSetRef Function(CFAllocatorRef, CFStringRef)>();
+
+  /// !
+  /// @function CFCharacterSetCreateWithBitmapRepresentation
+  /// Creates a new immutable character set with the bitmap representtion in the given data.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theData The CFData which should be used to specify the
+  /// bitmap representation of the Unicode character points
+  /// the character set is filled with.  The bitmap
+  /// representation could contain all the Unicode character
+  /// range starting from BMP to Plane 16.  The first 8192 bytes
+  /// of the data represent the BMP range.  The BMP range 8192
+  /// bytes can be followed by zero to sixteen 8192 byte
+  /// bitmaps, each one with the plane index byte prepended.
+  /// For example, the bitmap representing the BMP and Plane 2
+  /// has the size of 16385 bytes (8192 bytes for BMP, 1 byte
+  /// index + 8192 bytes bitmap for Plane 2).  The plane index
+  /// byte, in this case, contains the integer value two.  If
+  /// this parameter is not a valid CFData or it contains a
+  /// Plane index byte outside of the valid Plane range
+  /// (1 to 16), the behavior is undefined.
+  /// @result A reference to the new immutable CFCharacterSet.
+  CFCharacterSetRef CFCharacterSetCreateWithBitmapRepresentation(
+    CFAllocatorRef alloc,
+    CFDataRef theData,
+  ) {
+    return _CFCharacterSetCreateWithBitmapRepresentation(
+      alloc,
+      theData,
+    );
+  }
+
+  late final _CFCharacterSetCreateWithBitmapRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          CFCharacterSetRef Function(CFAllocatorRef,
+              CFDataRef)>>('CFCharacterSetCreateWithBitmapRepresentation');
+  late final _CFCharacterSetCreateWithBitmapRepresentation =
+      _CFCharacterSetCreateWithBitmapRepresentationPtr.asFunction<
+          CFCharacterSetRef Function(CFAllocatorRef, CFDataRef)>();
+
+  /// !
+  /// @function CFCharacterSetCreateInvertedSet
+  /// Creates a new immutable character set that is the invert of the specified character set.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theSet The CFCharacterSet which is to be inverted.  If this
+  /// parameter is not a valid CFCharacterSet, the behavior is
+  /// undefined.
+  /// @result A reference to the new immutable CFCharacterSet.
+  CFCharacterSetRef CFCharacterSetCreateInvertedSet(
+    CFAllocatorRef alloc,
+    CFCharacterSetRef theSet,
+  ) {
+    return _CFCharacterSetCreateInvertedSet(
+      alloc,
+      theSet,
+    );
+  }
+
+  late final _CFCharacterSetCreateInvertedSetPtr = _lookup<
+      ffi.NativeFunction<
+          CFCharacterSetRef Function(CFAllocatorRef,
+              CFCharacterSetRef)>>('CFCharacterSetCreateInvertedSet');
+  late final _CFCharacterSetCreateInvertedSet =
+      _CFCharacterSetCreateInvertedSetPtr.asFunction<
+          CFCharacterSetRef Function(CFAllocatorRef, CFCharacterSetRef)>();
+
+  /// !
+  /// @function CFCharacterSetIsSupersetOfSet
+  /// Reports whether or not the character set is a superset of the character set specified as the second parameter.
+  /// @param theSet  The character set to be checked for the membership of theOtherSet.
+  /// If this parameter is not a valid CFCharacterSet, the behavior is undefined.
+  /// @param theOtherset  The character set to be checked whether or not it is a subset of theSet.
+  /// If this parameter is not a valid CFCharacterSet, the behavior is undefined.
+  int CFCharacterSetIsSupersetOfSet(
+    CFCharacterSetRef theSet,
+    CFCharacterSetRef theOtherset,
+  ) {
+    return _CFCharacterSetIsSupersetOfSet(
+      theSet,
+      theOtherset,
+    );
+  }
+
+  late final _CFCharacterSetIsSupersetOfSetPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFCharacterSetRef,
+              CFCharacterSetRef)>>('CFCharacterSetIsSupersetOfSet');
+  late final _CFCharacterSetIsSupersetOfSet = _CFCharacterSetIsSupersetOfSetPtr
+      .asFunction<int Function(CFCharacterSetRef, CFCharacterSetRef)>();
+
+  /// !
+  /// @function CFCharacterSetHasMemberInPlane
+  /// Reports whether or not the character set contains at least one member character in the specified plane.
+  /// @param theSet  The character set to be checked for the membership.  If this
+  /// parameter is not a valid CFCharacterSet, the behavior is undefined.
+  /// @param thePlane  The plane number to be checked for the membership.
+  /// The valid value range is from 0 to 16.  If the value is outside of the valid
+  /// plane number range, the behavior is undefined.
+  int CFCharacterSetHasMemberInPlane(
+    CFCharacterSetRef theSet,
+    int thePlane,
+  ) {
+    return _CFCharacterSetHasMemberInPlane(
+      theSet,
+      thePlane,
+    );
+  }
+
+  late final _CFCharacterSetHasMemberInPlanePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFCharacterSetRef, CFIndex)>>(
+          'CFCharacterSetHasMemberInPlane');
+  late final _CFCharacterSetHasMemberInPlane =
+      _CFCharacterSetHasMemberInPlanePtr.asFunction<
+          int Function(CFCharacterSetRef, int)>();
+
+  /// !
+  /// @function CFCharacterSetCreateMutable
+  /// Creates a new empty mutable character set.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @result A reference to the new mutable CFCharacterSet.
+  CFMutableCharacterSetRef CFCharacterSetCreateMutable(
+    CFAllocatorRef alloc,
+  ) {
+    return _CFCharacterSetCreateMutable(
+      alloc,
+    );
+  }
+
+  late final _CFCharacterSetCreateMutablePtr = _lookup<
+          ffi
+          .NativeFunction<CFMutableCharacterSetRef Function(CFAllocatorRef)>>(
+      'CFCharacterSetCreateMutable');
+  late final _CFCharacterSetCreateMutable = _CFCharacterSetCreateMutablePtr
+      .asFunction<CFMutableCharacterSetRef Function(CFAllocatorRef)>();
+
+  /// !
+  /// @function CFCharacterSetCreateCopy
+  /// Creates a new character set with the values from the given character set.  This function tries to compact the backing store where applicable.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theSet The CFCharacterSet which is to be copied.  If this
+  /// parameter is not a valid CFCharacterSet, the behavior is
+  /// undefined.
+  /// @result A reference to the new CFCharacterSet.
+  CFCharacterSetRef CFCharacterSetCreateCopy(
+    CFAllocatorRef alloc,
+    CFCharacterSetRef theSet,
+  ) {
+    return _CFCharacterSetCreateCopy(
+      alloc,
+      theSet,
+    );
+  }
+
+  late final _CFCharacterSetCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFCharacterSetRef Function(
+              CFAllocatorRef, CFCharacterSetRef)>>('CFCharacterSetCreateCopy');
+  late final _CFCharacterSetCreateCopy =
+      _CFCharacterSetCreateCopyPtr.asFunction<
+          CFCharacterSetRef Function(CFAllocatorRef, CFCharacterSetRef)>();
+
+  /// !
+  /// @function CFCharacterSetCreateMutableCopy
+  /// Creates a new mutable character set with the values from the given character set.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theSet The CFCharacterSet which is to be copied.  If this
+  /// parameter is not a valid CFCharacterSet, the behavior is
+  /// undefined.
+  /// @result A reference to the new mutable CFCharacterSet.
+  CFMutableCharacterSetRef CFCharacterSetCreateMutableCopy(
+    CFAllocatorRef alloc,
+    CFCharacterSetRef theSet,
+  ) {
+    return _CFCharacterSetCreateMutableCopy(
+      alloc,
+      theSet,
+    );
+  }
+
+  late final _CFCharacterSetCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableCharacterSetRef Function(CFAllocatorRef,
+              CFCharacterSetRef)>>('CFCharacterSetCreateMutableCopy');
+  late final _CFCharacterSetCreateMutableCopy =
+      _CFCharacterSetCreateMutableCopyPtr.asFunction<
+          CFMutableCharacterSetRef Function(
+              CFAllocatorRef, CFCharacterSetRef)>();
+
+  /// !
+  /// @function CFCharacterSetIsCharacterMember
+  /// Reports whether or not the Unicode character is in the character set.
+  /// @param theSet The character set to be searched. If this parameter
+  /// is not a valid CFCharacterSet, the behavior is undefined.
+  /// @param theChar The Unicode character for which to test against the
+  /// character set.  Note that this function takes 16-bit Unicode
+  /// character value; hence, it does not support access to the
+  /// non-BMP planes.
+  /// @result true, if the value is in the character set, otherwise false.
+  int CFCharacterSetIsCharacterMember(
+    CFCharacterSetRef theSet,
+    int theChar,
+  ) {
+    return _CFCharacterSetIsCharacterMember(
+      theSet,
+      theChar,
+    );
+  }
+
+  late final _CFCharacterSetIsCharacterMemberPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFCharacterSetRef, UniChar)>>(
+          'CFCharacterSetIsCharacterMember');
+  late final _CFCharacterSetIsCharacterMember =
+      _CFCharacterSetIsCharacterMemberPtr.asFunction<
+          int Function(CFCharacterSetRef, int)>();
+
+  /// !
+  /// @function CFCharacterSetIsLongCharacterMember
+  /// Reports whether or not the UTF-32 character is in the character set.
+  /// @param theSet The character set to be searched. If this parameter
+  /// is not a valid CFCharacterSet, the behavior is undefined.
+  /// @param theChar The UTF-32 character for which to test against the
+  /// character set.
+  /// @result true, if the value is in the character set, otherwise false.
+  int CFCharacterSetIsLongCharacterMember(
+    CFCharacterSetRef theSet,
+    int theChar,
+  ) {
+    return _CFCharacterSetIsLongCharacterMember(
+      theSet,
+      theChar,
+    );
+  }
+
+  late final _CFCharacterSetIsLongCharacterMemberPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFCharacterSetRef, UTF32Char)>>(
+      'CFCharacterSetIsLongCharacterMember');
+  late final _CFCharacterSetIsLongCharacterMember =
+      _CFCharacterSetIsLongCharacterMemberPtr.asFunction<
+          int Function(CFCharacterSetRef, int)>();
+
+  /// !
+  /// @function CFCharacterSetCreateBitmapRepresentation
+  /// Creates a new immutable data with the bitmap representation from the given character set.
+  /// @param alloc The CFAllocator which should be used to allocate
+  /// memory for the array and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theSet The CFCharacterSet which is to be used create the
+  /// bitmap representation from.  Refer to the comments for
+  /// CFCharacterSetCreateWithBitmapRepresentation for the
+  /// detailed discussion of the bitmap representation format.
+  /// If this parameter is not a valid CFCharacterSet, the
+  /// behavior is undefined.
+  /// @result A reference to the new immutable CFData.
+  CFDataRef CFCharacterSetCreateBitmapRepresentation(
+    CFAllocatorRef alloc,
+    CFCharacterSetRef theSet,
+  ) {
+    return _CFCharacterSetCreateBitmapRepresentation(
+      alloc,
+      theSet,
+    );
+  }
+
+  late final _CFCharacterSetCreateBitmapRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(CFAllocatorRef,
+              CFCharacterSetRef)>>('CFCharacterSetCreateBitmapRepresentation');
+  late final _CFCharacterSetCreateBitmapRepresentation =
+      _CFCharacterSetCreateBitmapRepresentationPtr.asFunction<
+          CFDataRef Function(CFAllocatorRef, CFCharacterSetRef)>();
+
+  /// !
+  /// @function CFCharacterSetAddCharactersInRange
+  /// Adds the given range to the charaacter set.
+  /// @param theSet The character set to which the range is to be added.
+  /// If this parameter is not a valid mutable CFCharacterSet,
+  /// the behavior is undefined.
+  /// @param theRange The range to add to the character set.  It accepts
+  /// the range in 32-bit in the UTF-32 format.  The valid
+  /// character point range is from 0x00000 to 0x10FFFF.  If the
+  /// range is outside of the valid Unicode character point,
+  /// the behavior is undefined.
+  void CFCharacterSetAddCharactersInRange(
+    CFMutableCharacterSetRef theSet,
+    CFRange theRange,
+  ) {
+    return _CFCharacterSetAddCharactersInRange(
+      theSet,
+      theRange,
+    );
+  }
+
+  late final _CFCharacterSetAddCharactersInRangePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableCharacterSetRef,
+              CFRange)>>('CFCharacterSetAddCharactersInRange');
+  late final _CFCharacterSetAddCharactersInRange =
+      _CFCharacterSetAddCharactersInRangePtr.asFunction<
+          void Function(CFMutableCharacterSetRef, CFRange)>();
+
+  /// !
+  /// @function CFCharacterSetRemoveCharactersInRange
+  /// Removes the given range from the charaacter set.
+  /// @param theSet The character set from which the range is to be
+  /// removed.  If this parameter is not a valid mutable
+  /// CFCharacterSet, the behavior is undefined.
+  /// @param theRange The range to remove from the character set.
+  /// It accepts the range in 32-bit in the UTF-32 format.
+  /// The valid character point range is from 0x00000 to 0x10FFFF.
+  /// If the range is outside of the valid Unicode character point,
+  /// the behavior is undefined.
+  void CFCharacterSetRemoveCharactersInRange(
+    CFMutableCharacterSetRef theSet,
+    CFRange theRange,
+  ) {
+    return _CFCharacterSetRemoveCharactersInRange(
+      theSet,
+      theRange,
+    );
+  }
+
+  late final _CFCharacterSetRemoveCharactersInRangePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableCharacterSetRef,
+              CFRange)>>('CFCharacterSetRemoveCharactersInRange');
+  late final _CFCharacterSetRemoveCharactersInRange =
+      _CFCharacterSetRemoveCharactersInRangePtr.asFunction<
+          void Function(CFMutableCharacterSetRef, CFRange)>();
+
+  /// !
+  /// @function CFCharacterSetAddCharactersInString
+  /// Adds the characters in the given string to the charaacter set.
+  /// @param theSet The character set to which the characters in the
+  /// string are to be added.  If this parameter is not a
+  /// valid mutable CFCharacterSet, the behavior is undefined.
+  /// @param theString The string to add to the character set.
+  /// If this parameter is not a valid CFString, the behavior
+  /// is undefined.
+  void CFCharacterSetAddCharactersInString(
+    CFMutableCharacterSetRef theSet,
+    CFStringRef theString,
+  ) {
+    return _CFCharacterSetAddCharactersInString(
+      theSet,
+      theString,
+    );
+  }
+
+  late final _CFCharacterSetAddCharactersInStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableCharacterSetRef,
+              CFStringRef)>>('CFCharacterSetAddCharactersInString');
+  late final _CFCharacterSetAddCharactersInString =
+      _CFCharacterSetAddCharactersInStringPtr.asFunction<
+          void Function(CFMutableCharacterSetRef, CFStringRef)>();
+
+  /// !
+  /// @function CFCharacterSetRemoveCharactersInString
+  /// Removes the characters in the given string from the charaacter set.
+  /// @param theSet The character set from which the characters in the
+  /// string are to be remove.  If this parameter is not a
+  /// valid mutable CFCharacterSet, the behavior is undefined.
+  /// @param theString The string to remove from the character set.
+  /// If this parameter is not a valid CFString, the behavior
+  /// is undefined.
+  void CFCharacterSetRemoveCharactersInString(
+    CFMutableCharacterSetRef theSet,
+    CFStringRef theString,
+  ) {
+    return _CFCharacterSetRemoveCharactersInString(
+      theSet,
+      theString,
+    );
+  }
+
+  late final _CFCharacterSetRemoveCharactersInStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableCharacterSetRef,
+              CFStringRef)>>('CFCharacterSetRemoveCharactersInString');
+  late final _CFCharacterSetRemoveCharactersInString =
+      _CFCharacterSetRemoveCharactersInStringPtr.asFunction<
+          void Function(CFMutableCharacterSetRef, CFStringRef)>();
+
+  /// !
+  /// @function CFCharacterSetUnion
+  /// Forms the union with the given character set.
+  /// @param theSet The destination character set into which the
+  /// union of the two character sets is stored.  If this
+  /// parameter is not a valid mutable CFCharacterSet, the
+  /// behavior is undefined.
+  /// @param theOtherSet The character set with which the union is
+  /// formed.  If this parameter is not a valid CFCharacterSet,
+  /// the behavior is undefined.
+  void CFCharacterSetUnion(
+    CFMutableCharacterSetRef theSet,
+    CFCharacterSetRef theOtherSet,
+  ) {
+    return _CFCharacterSetUnion(
+      theSet,
+      theOtherSet,
+    );
+  }
+
+  late final _CFCharacterSetUnionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableCharacterSetRef,
+              CFCharacterSetRef)>>('CFCharacterSetUnion');
+  late final _CFCharacterSetUnion = _CFCharacterSetUnionPtr.asFunction<
+      void Function(CFMutableCharacterSetRef, CFCharacterSetRef)>();
+
+  /// !
+  /// @function CFCharacterSetIntersect
+  /// Forms the intersection with the given character set.
+  /// @param theSet The destination character set into which the
+  /// intersection of the two character sets is stored.
+  /// If this parameter is not a valid mutable CFCharacterSet,
+  /// the behavior is undefined.
+  /// @param theOtherSet The character set with which the intersection
+  /// is formed.  If this parameter is not a valid CFCharacterSet,
+  /// the behavior is undefined.
+  void CFCharacterSetIntersect(
+    CFMutableCharacterSetRef theSet,
+    CFCharacterSetRef theOtherSet,
+  ) {
+    return _CFCharacterSetIntersect(
+      theSet,
+      theOtherSet,
+    );
+  }
+
+  late final _CFCharacterSetIntersectPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableCharacterSetRef,
+              CFCharacterSetRef)>>('CFCharacterSetIntersect');
+  late final _CFCharacterSetIntersect = _CFCharacterSetIntersectPtr.asFunction<
+      void Function(CFMutableCharacterSetRef, CFCharacterSetRef)>();
+
+  /// !
+  /// @function CFCharacterSetInvert
+  /// Inverts the content of the given character set.
+  /// @param theSet The character set to be inverted.
+  /// If this parameter is not a valid mutable CFCharacterSet,
+  /// the behavior is undefined.
+  void CFCharacterSetInvert(
+    CFMutableCharacterSetRef theSet,
+  ) {
+    return _CFCharacterSetInvert(
+      theSet,
+    );
+  }
+
+  late final _CFCharacterSetInvertPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableCharacterSetRef)>>(
+          'CFCharacterSetInvert');
+  late final _CFCharacterSetInvert = _CFCharacterSetInvertPtr.asFunction<
+      void Function(CFMutableCharacterSetRef)>();
+
+  /// !
+  /// @function CFErrorGetTypeID
+  /// Returns the type identifier of all CFError instances.
+  int CFErrorGetTypeID() {
+    return _CFErrorGetTypeID();
+  }
+
+  late final _CFErrorGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFErrorGetTypeID');
+  late final _CFErrorGetTypeID =
+      _CFErrorGetTypeIDPtr.asFunction<int Function()>();
+
+  late final ffi.Pointer<CFErrorDomain> _kCFErrorDomainPOSIX =
+      _lookup<CFErrorDomain>('kCFErrorDomainPOSIX');
+
+  CFErrorDomain get kCFErrorDomainPOSIX => _kCFErrorDomainPOSIX.value;
+
+  set kCFErrorDomainPOSIX(CFErrorDomain value) =>
+      _kCFErrorDomainPOSIX.value = value;
+
+  late final ffi.Pointer<CFErrorDomain> _kCFErrorDomainOSStatus =
+      _lookup<CFErrorDomain>('kCFErrorDomainOSStatus');
+
+  CFErrorDomain get kCFErrorDomainOSStatus => _kCFErrorDomainOSStatus.value;
+
+  set kCFErrorDomainOSStatus(CFErrorDomain value) =>
+      _kCFErrorDomainOSStatus.value = value;
+
+  late final ffi.Pointer<CFErrorDomain> _kCFErrorDomainMach =
+      _lookup<CFErrorDomain>('kCFErrorDomainMach');
+
+  CFErrorDomain get kCFErrorDomainMach => _kCFErrorDomainMach.value;
+
+  set kCFErrorDomainMach(CFErrorDomain value) =>
+      _kCFErrorDomainMach.value = value;
+
+  late final ffi.Pointer<CFErrorDomain> _kCFErrorDomainCocoa =
+      _lookup<CFErrorDomain>('kCFErrorDomainCocoa');
+
+  CFErrorDomain get kCFErrorDomainCocoa => _kCFErrorDomainCocoa.value;
+
+  set kCFErrorDomainCocoa(CFErrorDomain value) =>
+      _kCFErrorDomainCocoa.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorLocalizedDescriptionKey =
+      _lookup<CFStringRef>('kCFErrorLocalizedDescriptionKey');
+
+  CFStringRef get kCFErrorLocalizedDescriptionKey =>
+      _kCFErrorLocalizedDescriptionKey.value;
+
+  set kCFErrorLocalizedDescriptionKey(CFStringRef value) =>
+      _kCFErrorLocalizedDescriptionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorLocalizedFailureKey =
+      _lookup<CFStringRef>('kCFErrorLocalizedFailureKey');
+
+  CFStringRef get kCFErrorLocalizedFailureKey =>
+      _kCFErrorLocalizedFailureKey.value;
+
+  set kCFErrorLocalizedFailureKey(CFStringRef value) =>
+      _kCFErrorLocalizedFailureKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorLocalizedFailureReasonKey =
+      _lookup<CFStringRef>('kCFErrorLocalizedFailureReasonKey');
+
+  CFStringRef get kCFErrorLocalizedFailureReasonKey =>
+      _kCFErrorLocalizedFailureReasonKey.value;
+
+  set kCFErrorLocalizedFailureReasonKey(CFStringRef value) =>
+      _kCFErrorLocalizedFailureReasonKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorLocalizedRecoverySuggestionKey =
+      _lookup<CFStringRef>('kCFErrorLocalizedRecoverySuggestionKey');
+
+  CFStringRef get kCFErrorLocalizedRecoverySuggestionKey =>
+      _kCFErrorLocalizedRecoverySuggestionKey.value;
+
+  set kCFErrorLocalizedRecoverySuggestionKey(CFStringRef value) =>
+      _kCFErrorLocalizedRecoverySuggestionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorDescriptionKey =
+      _lookup<CFStringRef>('kCFErrorDescriptionKey');
+
+  CFStringRef get kCFErrorDescriptionKey => _kCFErrorDescriptionKey.value;
+
+  set kCFErrorDescriptionKey(CFStringRef value) =>
+      _kCFErrorDescriptionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorUnderlyingErrorKey =
+      _lookup<CFStringRef>('kCFErrorUnderlyingErrorKey');
+
+  CFStringRef get kCFErrorUnderlyingErrorKey =>
+      _kCFErrorUnderlyingErrorKey.value;
+
+  set kCFErrorUnderlyingErrorKey(CFStringRef value) =>
+      _kCFErrorUnderlyingErrorKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorURLKey =
+      _lookup<CFStringRef>('kCFErrorURLKey');
+
+  CFStringRef get kCFErrorURLKey => _kCFErrorURLKey.value;
+
+  set kCFErrorURLKey(CFStringRef value) => _kCFErrorURLKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorFilePathKey =
+      _lookup<CFStringRef>('kCFErrorFilePathKey');
+
+  CFStringRef get kCFErrorFilePathKey => _kCFErrorFilePathKey.value;
+
+  set kCFErrorFilePathKey(CFStringRef value) =>
+      _kCFErrorFilePathKey.value = value;
+
+  /// !
+  /// @function CFErrorCreate
+  /// @abstract Creates a new CFError.
+  /// @param allocator The CFAllocator which should be used to allocate memory for the error. This parameter may be NULL in which case the
+  /// current default CFAllocator is used. If this reference is not a valid CFAllocator, the behavior is undefined.
+  /// @param domain A CFString identifying the error domain. If this reference is NULL or is otherwise not a valid CFString, the behavior is undefined.
+  /// @param code A CFIndex identifying the error code. The code is interpreted within the context of the error domain.
+  /// @param userInfo A CFDictionary created with kCFCopyStringDictionaryKeyCallBacks and kCFTypeDictionaryValueCallBacks. It will be copied with CFDictionaryCreateCopy().
+  /// If no userInfo dictionary is desired, NULL may be passed in as a convenience, in which case an empty userInfo dictionary will be assigned.
+  /// @result A reference to the new CFError.
+  CFErrorRef CFErrorCreate(
+    CFAllocatorRef allocator,
+    CFErrorDomain domain,
+    int code,
+    CFDictionaryRef userInfo,
+  ) {
+    return _CFErrorCreate(
+      allocator,
+      domain,
+      code,
+      userInfo,
+    );
+  }
+
+  late final _CFErrorCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFErrorRef Function(CFAllocatorRef, CFErrorDomain, CFIndex,
+              CFDictionaryRef)>>('CFErrorCreate');
+  late final _CFErrorCreate = _CFErrorCreatePtr.asFunction<
+      CFErrorRef Function(
+          CFAllocatorRef, CFErrorDomain, int, CFDictionaryRef)>();
+
+  /// !
+  /// @function CFErrorCreateWithUserInfoKeysAndValues
+  /// @abstract Creates a new CFError without having to create an intermediate userInfo dictionary.
+  /// @param allocator The CFAllocator which should be used to allocate memory for the error. This parameter may be NULL in which case the
+  /// current default CFAllocator is used. If this reference is not a valid CFAllocator, the behavior is undefined.
+  /// @param domain A CFString identifying the error domain. If this reference is NULL or is otherwise not a valid CFString, the behavior is undefined.
+  /// @param code A CFIndex identifying the error code. The code is interpreted within the context of the error domain.
+  /// @param userInfoKeys An array of numUserInfoValues CFStrings used as keys in creating the userInfo dictionary. NULL is valid only if numUserInfoValues is 0.
+  /// @param userInfoValues An array of numUserInfoValues CF types used as values in creating the userInfo dictionary.  NULL is valid only if numUserInfoValues is 0.
+  /// @param numUserInfoValues CFIndex representing the number of keys and values in the userInfoKeys and userInfoValues arrays.
+  /// @result A reference to the new CFError. numUserInfoValues CF types are gathered from each of userInfoKeys and userInfoValues to create the userInfo dictionary.
+  CFErrorRef CFErrorCreateWithUserInfoKeysAndValues(
+    CFAllocatorRef allocator,
+    CFErrorDomain domain,
+    int code,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> userInfoKeys,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> userInfoValues,
+    int numUserInfoValues,
+  ) {
+    return _CFErrorCreateWithUserInfoKeysAndValues(
+      allocator,
+      domain,
+      code,
+      userInfoKeys,
+      userInfoValues,
+      numUserInfoValues,
+    );
+  }
+
+  late final _CFErrorCreateWithUserInfoKeysAndValuesPtr = _lookup<
+      ffi.NativeFunction<
+          CFErrorRef Function(
+              CFAllocatorRef,
+              CFErrorDomain,
+              CFIndex,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              CFIndex)>>('CFErrorCreateWithUserInfoKeysAndValues');
+  late final _CFErrorCreateWithUserInfoKeysAndValues =
+      _CFErrorCreateWithUserInfoKeysAndValuesPtr.asFunction<
+          CFErrorRef Function(
+              CFAllocatorRef,
+              CFErrorDomain,
+              int,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              int)>();
+
+  /// !
+  /// @function CFErrorGetDomain
+  /// @abstract Returns the error domain the CFError was created with.
+  /// @param err The CFError whose error domain is to be returned. If this reference is not a valid CFError, the behavior is undefined.
+  /// @result The error domain of the CFError. Since this is a "Get" function, the caller shouldn't CFRelease the return value.
+  CFErrorDomain CFErrorGetDomain(
+    CFErrorRef err,
+  ) {
+    return _CFErrorGetDomain(
+      err,
+    );
+  }
+
+  late final _CFErrorGetDomainPtr =
+      _lookup<ffi.NativeFunction<CFErrorDomain Function(CFErrorRef)>>(
+          'CFErrorGetDomain');
+  late final _CFErrorGetDomain =
+      _CFErrorGetDomainPtr.asFunction<CFErrorDomain Function(CFErrorRef)>();
+
+  /// !
+  /// @function CFErrorGetCode
+  /// @abstract Returns the error code the CFError was created with.
+  /// @param err The CFError whose error code is to be returned. If this reference is not a valid CFError, the behavior is undefined.
+  /// @result The error code of the CFError (not an error return for the current call).
+  int CFErrorGetCode(
+    CFErrorRef err,
+  ) {
+    return _CFErrorGetCode(
+      err,
+    );
+  }
+
+  late final _CFErrorGetCodePtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFErrorRef)>>(
+          'CFErrorGetCode');
+  late final _CFErrorGetCode =
+      _CFErrorGetCodePtr.asFunction<int Function(CFErrorRef)>();
+
+  /// !
+  /// @function CFErrorCopyUserInfo
+  /// @abstract Returns CFError userInfo dictionary.
+  /// @discussion Returns a dictionary containing the same keys and values as in the userInfo dictionary the CFError was created with. Returns an empty dictionary if NULL was supplied to CFErrorCreate().
+  /// @param err The CFError whose error user info is to be returned. If this reference is not a valid CFError, the behavior is undefined.
+  /// @result The user info of the CFError.
+  CFDictionaryRef CFErrorCopyUserInfo(
+    CFErrorRef err,
+  ) {
+    return _CFErrorCopyUserInfo(
+      err,
+    );
+  }
+
+  late final _CFErrorCopyUserInfoPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(CFErrorRef)>>(
+          'CFErrorCopyUserInfo');
+  late final _CFErrorCopyUserInfo = _CFErrorCopyUserInfoPtr.asFunction<
+      CFDictionaryRef Function(CFErrorRef)>();
+
+  /// !
+  /// @function CFErrorCopyDescription
+  /// @abstract Returns a human-presentable description for the error. CFError creators should strive to make sure the return value is human-presentable and localized by providing a value for kCFErrorLocalizedDescriptionKey at the time of CFError creation.
+  /// @discussion This is a complete sentence or two which says what failed and why it failed. Please refer to header comments for -[NSError localizedDescription] for details on the steps used to compute this; but roughly:
+  /// - Use value of kCFErrorLocalizedDescriptionKey as-is if provided.
+  /// - Use value of kCFErrorLocalizedFailureKey if provided, optionally followed by kCFErrorLocalizedFailureReasonKey if available.
+  /// - Use value of kCFErrorLocalizedFailureReasonKey, combining with a generic failure message such as: "Operation code not be completed. " + kCFErrorLocalizedFailureReasonKey.
+  /// - If all of the above fail, generate a semi-user presentable string from kCFErrorDescriptionKey, the domain, and code. Something like: "Operation could not be completed. Error domain/code occurred. " or "Operation could not be completed. " + kCFErrorDescriptionKey + " (Error domain/code)"
+  /// Toll-free bridged NSError instances might provide additional behaviors for manufacturing a description string.  Do not count on the exact contents or format of the returned string, it might change.
+  /// @param err The CFError whose description is to be returned. If this reference is not a valid CFError, the behavior is undefined.
+  /// @result A CFString with human-presentable description of the CFError. Never NULL.
+  CFStringRef CFErrorCopyDescription(
+    CFErrorRef err,
+  ) {
+    return _CFErrorCopyDescription(
+      err,
+    );
+  }
+
+  late final _CFErrorCopyDescriptionPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFErrorRef)>>(
+          'CFErrorCopyDescription');
+  late final _CFErrorCopyDescription =
+      _CFErrorCopyDescriptionPtr.asFunction<CFStringRef Function(CFErrorRef)>();
+
+  /// !
+  /// @function CFErrorCopyFailureReason
+  /// @abstract Returns a human-presentable failure reason for the error.  May return NULL.  CFError creators should strive to make sure the return value is human-presentable and localized by providing a value for kCFErrorLocalizedFailureReasonKey at the time of CFError creation.
+  /// @discussion This is a complete sentence which describes why the operation failed. In many cases this will be just the "because" part of the description (but as a complete sentence, which makes localization easier). By default this looks for kCFErrorLocalizedFailureReasonKey in the user info. Toll-free bridged NSError instances might provide additional behaviors for manufacturing this value. If no user-presentable string is available, returns NULL.
+  /// Example Description: "Could not save file 'Letter' in folder 'Documents' because the volume 'MyDisk' doesn't have enough space."
+  /// Corresponding FailureReason: "The volume 'MyDisk' doesn't have enough space."
+  /// @param err The CFError whose failure reason is to be returned. If this reference is not a valid CFError, the behavior is undefined.
+  /// @result A CFString with the localized, end-user presentable failure reason of the CFError, or NULL.
+  CFStringRef CFErrorCopyFailureReason(
+    CFErrorRef err,
+  ) {
+    return _CFErrorCopyFailureReason(
+      err,
+    );
+  }
+
+  late final _CFErrorCopyFailureReasonPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFErrorRef)>>(
+          'CFErrorCopyFailureReason');
+  late final _CFErrorCopyFailureReason = _CFErrorCopyFailureReasonPtr
+      .asFunction<CFStringRef Function(CFErrorRef)>();
+
+  /// !
+  /// @function CFErrorCopyRecoverySuggestion
+  /// @abstract Returns a human presentable recovery suggestion for the error.  May return NULL.  CFError creators should strive to make sure the return value is human-presentable and localized by providing a value for kCFErrorLocalizedRecoverySuggestionKey at the time of CFError creation.
+  /// @discussion This is the string that can be displayed as the "informative" (aka "secondary") message on an alert panel. By default this looks for kCFErrorLocalizedRecoverySuggestionKey in the user info. Toll-free bridged NSError instances might provide additional behaviors for manufacturing this value. If no user-presentable string is available, returns NULL.
+  /// Example Description: "Could not save file 'Letter' in folder 'Documents' because the volume 'MyDisk' doesn't have enough space."
+  /// Corresponding RecoverySuggestion: "Remove some files from the volume and try again."
+  /// @param err The CFError whose recovery suggestion is to be returned. If this reference is not a valid CFError, the behavior is undefined.
+  /// @result A CFString with the localized, end-user presentable recovery suggestion of the CFError, or NULL.
+  CFStringRef CFErrorCopyRecoverySuggestion(
+    CFErrorRef err,
+  ) {
+    return _CFErrorCopyRecoverySuggestion(
+      err,
+    );
+  }
+
+  late final _CFErrorCopyRecoverySuggestionPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFErrorRef)>>(
+          'CFErrorCopyRecoverySuggestion');
+  late final _CFErrorCopyRecoverySuggestion = _CFErrorCopyRecoverySuggestionPtr
+      .asFunction<CFStringRef Function(CFErrorRef)>();
+
+  int CFStringGetTypeID() {
+    return _CFStringGetTypeID();
+  }
+
+  late final _CFStringGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFStringGetTypeID');
+  late final _CFStringGetTypeID =
+      _CFStringGetTypeIDPtr.asFunction<int Function()>();
+
+  /// Immutable string creation functions
+  CFStringRef CFStringCreateWithPascalString(
+    CFAllocatorRef alloc,
+    ConstStr255Param pStr,
+    int encoding,
+  ) {
+    return _CFStringCreateWithPascalString(
+      alloc,
+      pStr,
+      encoding,
+    );
+  }
+
+  late final _CFStringCreateWithPascalStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, ConstStr255Param,
+              CFStringEncoding)>>('CFStringCreateWithPascalString');
+  late final _CFStringCreateWithPascalString =
+      _CFStringCreateWithPascalStringPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, ConstStr255Param, int)>();
+
+  CFStringRef CFStringCreateWithCString(
+    CFAllocatorRef alloc,
+    ffi.Pointer<ffi.Char> cStr,
+    int encoding,
+  ) {
+    return _CFStringCreateWithCString(
+      alloc,
+      cStr,
+      encoding,
+    );
+  }
+
+  late final _CFStringCreateWithCStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<ffi.Char>,
+              CFStringEncoding)>>('CFStringCreateWithCString');
+  late final _CFStringCreateWithCString =
+      _CFStringCreateWithCStringPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<ffi.Char>, int)>();
+
+  CFStringRef CFStringCreateWithBytes(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UInt8> bytes,
+    int numBytes,
+    int encoding,
+    int isExternalRepresentation,
+  ) {
+    return _CFStringCreateWithBytes(
+      alloc,
+      bytes,
+      numBytes,
+      encoding,
+      isExternalRepresentation,
+    );
+  }
+
+  late final _CFStringCreateWithBytesPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex,
+              CFStringEncoding, Boolean)>>('CFStringCreateWithBytes');
+  late final _CFStringCreateWithBytes = _CFStringCreateWithBytesPtr.asFunction<
+      CFStringRef Function(
+          CFAllocatorRef, ffi.Pointer<UInt8>, int, int, int)>();
+
+  CFStringRef CFStringCreateWithCharacters(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UniChar> chars,
+    int numChars,
+  ) {
+    return _CFStringCreateWithCharacters(
+      alloc,
+      chars,
+      numChars,
+    );
+  }
+
+  late final _CFStringCreateWithCharactersPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<UniChar>,
+              CFIndex)>>('CFStringCreateWithCharacters');
+  late final _CFStringCreateWithCharacters =
+      _CFStringCreateWithCharactersPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<UniChar>, int)>();
+
+  CFStringRef CFStringCreateWithPascalStringNoCopy(
+    CFAllocatorRef alloc,
+    ConstStr255Param pStr,
+    int encoding,
+    CFAllocatorRef contentsDeallocator,
+  ) {
+    return _CFStringCreateWithPascalStringNoCopy(
+      alloc,
+      pStr,
+      encoding,
+      contentsDeallocator,
+    );
+  }
+
+  late final _CFStringCreateWithPascalStringNoCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(
+              CFAllocatorRef,
+              ConstStr255Param,
+              CFStringEncoding,
+              CFAllocatorRef)>>('CFStringCreateWithPascalStringNoCopy');
+  late final _CFStringCreateWithPascalStringNoCopy =
+      _CFStringCreateWithPascalStringNoCopyPtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, ConstStr255Param, int, CFAllocatorRef)>();
+
+  CFStringRef CFStringCreateWithCStringNoCopy(
+    CFAllocatorRef alloc,
+    ffi.Pointer<ffi.Char> cStr,
+    int encoding,
+    CFAllocatorRef contentsDeallocator,
+  ) {
+    return _CFStringCreateWithCStringNoCopy(
+      alloc,
+      cStr,
+      encoding,
+      contentsDeallocator,
+    );
+  }
+
+  late final _CFStringCreateWithCStringNoCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(
+              CFAllocatorRef,
+              ffi.Pointer<ffi.Char>,
+              CFStringEncoding,
+              CFAllocatorRef)>>('CFStringCreateWithCStringNoCopy');
+  late final _CFStringCreateWithCStringNoCopy =
+      _CFStringCreateWithCStringNoCopyPtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, ffi.Pointer<ffi.Char>, int, CFAllocatorRef)>();
+
+  CFStringRef CFStringCreateWithBytesNoCopy(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UInt8> bytes,
+    int numBytes,
+    int encoding,
+    int isExternalRepresentation,
+    CFAllocatorRef contentsDeallocator,
+  ) {
+    return _CFStringCreateWithBytesNoCopy(
+      alloc,
+      bytes,
+      numBytes,
+      encoding,
+      isExternalRepresentation,
+      contentsDeallocator,
+    );
+  }
+
+  late final _CFStringCreateWithBytesNoCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(
+              CFAllocatorRef,
+              ffi.Pointer<UInt8>,
+              CFIndex,
+              CFStringEncoding,
+              Boolean,
+              CFAllocatorRef)>>('CFStringCreateWithBytesNoCopy');
+  late final _CFStringCreateWithBytesNoCopy =
+      _CFStringCreateWithBytesNoCopyPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, int, int,
+              int, CFAllocatorRef)>();
+
+  CFStringRef CFStringCreateWithCharactersNoCopy(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UniChar> chars,
+    int numChars,
+    CFAllocatorRef contentsDeallocator,
+  ) {
+    return _CFStringCreateWithCharactersNoCopy(
+      alloc,
+      chars,
+      numChars,
+      contentsDeallocator,
+    );
+  }
+
+  late final _CFStringCreateWithCharactersNoCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<UniChar>, CFIndex,
+              CFAllocatorRef)>>('CFStringCreateWithCharactersNoCopy');
+  late final _CFStringCreateWithCharactersNoCopy =
+      _CFStringCreateWithCharactersNoCopyPtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, ffi.Pointer<UniChar>, int, CFAllocatorRef)>();
+
+  CFStringRef CFStringCreateWithSubstring(
+    CFAllocatorRef alloc,
+    CFStringRef str,
+    CFRange range,
+  ) {
+    return _CFStringCreateWithSubstring(
+      alloc,
+      str,
+      range,
+    );
+  }
+
+  late final _CFStringCreateWithSubstringPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFStringRef,
+              CFRange)>>('CFStringCreateWithSubstring');
+  late final _CFStringCreateWithSubstring = _CFStringCreateWithSubstringPtr
+      .asFunction<CFStringRef Function(CFAllocatorRef, CFStringRef, CFRange)>();
+
+  CFStringRef CFStringCreateCopy(
+    CFAllocatorRef alloc,
+    CFStringRef theString,
+  ) {
+    return _CFStringCreateCopy(
+      alloc,
+      theString,
+    );
+  }
+
+  late final _CFStringCreateCopyPtr = _lookup<
+          ffi
+          .NativeFunction<CFStringRef Function(CFAllocatorRef, CFStringRef)>>(
+      'CFStringCreateCopy');
+  late final _CFStringCreateCopy = _CFStringCreateCopyPtr.asFunction<
+      CFStringRef Function(CFAllocatorRef, CFStringRef)>();
+
+  CFStringRef CFStringCreateWithFormat(
+    CFAllocatorRef alloc,
+    CFDictionaryRef formatOptions,
+    CFStringRef format,
+  ) {
+    return _CFStringCreateWithFormat(
+      alloc,
+      formatOptions,
+      format,
+    );
+  }
+
+  late final _CFStringCreateWithFormatPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFDictionaryRef,
+              CFStringRef)>>('CFStringCreateWithFormat');
+  late final _CFStringCreateWithFormat =
+      _CFStringCreateWithFormatPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFDictionaryRef, CFStringRef)>();
+
+  CFStringRef CFStringCreateWithFormatAndArguments(
+    CFAllocatorRef alloc,
+    CFDictionaryRef formatOptions,
+    CFStringRef format,
+    ffi.Pointer<__va_list_tag> arguments,
+  ) {
+    return _CFStringCreateWithFormatAndArguments(
+      alloc,
+      formatOptions,
+      format,
+      arguments,
+    );
+  }
+
+  late final _CFStringCreateWithFormatAndArgumentsPtr = _lookup<
+          ffi.NativeFunction<
+              CFStringRef Function(CFAllocatorRef, CFDictionaryRef, CFStringRef,
+                  ffi.Pointer<__va_list_tag>)>>(
+      'CFStringCreateWithFormatAndArguments');
+  late final _CFStringCreateWithFormatAndArguments =
+      _CFStringCreateWithFormatAndArgumentsPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFDictionaryRef, CFStringRef,
+              ffi.Pointer<__va_list_tag>)>();
+
+  CFStringRef CFStringCreateStringWithValidatedFormat(
+    CFAllocatorRef alloc,
+    CFDictionaryRef formatOptions,
+    CFStringRef validFormatSpecifiers,
+    CFStringRef format,
+    ffi.Pointer<CFErrorRef> errorPtr,
+  ) {
+    return _CFStringCreateStringWithValidatedFormat(
+      alloc,
+      formatOptions,
+      validFormatSpecifiers,
+      format,
+      errorPtr,
+    );
+  }
+
+  late final _CFStringCreateStringWithValidatedFormatPtr = _lookup<
+          ffi.NativeFunction<
+              CFStringRef Function(CFAllocatorRef, CFDictionaryRef, CFStringRef,
+                  CFStringRef, ffi.Pointer<CFErrorRef>)>>(
+      'CFStringCreateStringWithValidatedFormat');
+  late final _CFStringCreateStringWithValidatedFormat =
+      _CFStringCreateStringWithValidatedFormatPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFDictionaryRef, CFStringRef,
+              CFStringRef, ffi.Pointer<CFErrorRef>)>();
+
+  CFStringRef CFStringCreateStringWithValidatedFormatAndArguments(
+    CFAllocatorRef alloc,
+    CFDictionaryRef formatOptions,
+    CFStringRef validFormatSpecifiers,
+    CFStringRef format,
+    ffi.Pointer<__va_list_tag> arguments,
+    ffi.Pointer<CFErrorRef> errorPtr,
+  ) {
+    return _CFStringCreateStringWithValidatedFormatAndArguments(
+      alloc,
+      formatOptions,
+      validFormatSpecifiers,
+      format,
+      arguments,
+      errorPtr,
+    );
+  }
+
+  late final _CFStringCreateStringWithValidatedFormatAndArgumentsPtr = _lookup<
+          ffi.NativeFunction<
+              CFStringRef Function(
+                  CFAllocatorRef,
+                  CFDictionaryRef,
+                  CFStringRef,
+                  CFStringRef,
+                  ffi.Pointer<__va_list_tag>,
+                  ffi.Pointer<CFErrorRef>)>>(
+      'CFStringCreateStringWithValidatedFormatAndArguments');
+  late final _CFStringCreateStringWithValidatedFormatAndArguments =
+      _CFStringCreateStringWithValidatedFormatAndArgumentsPtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef,
+              CFDictionaryRef,
+              CFStringRef,
+              CFStringRef,
+              ffi.Pointer<__va_list_tag>,
+              ffi.Pointer<CFErrorRef>)>();
+
+  CFMutableStringRef CFStringCreateMutable(
+    CFAllocatorRef alloc,
+    int maxLength,
+  ) {
+    return _CFStringCreateMutable(
+      alloc,
+      maxLength,
+    );
+  }
+
+  late final _CFStringCreateMutablePtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableStringRef Function(
+              CFAllocatorRef, CFIndex)>>('CFStringCreateMutable');
+  late final _CFStringCreateMutable = _CFStringCreateMutablePtr.asFunction<
+      CFMutableStringRef Function(CFAllocatorRef, int)>();
+
+  CFMutableStringRef CFStringCreateMutableCopy(
+    CFAllocatorRef alloc,
+    int maxLength,
+    CFStringRef theString,
+  ) {
+    return _CFStringCreateMutableCopy(
+      alloc,
+      maxLength,
+      theString,
+    );
+  }
+
+  late final _CFStringCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableStringRef Function(CFAllocatorRef, CFIndex,
+              CFStringRef)>>('CFStringCreateMutableCopy');
+  late final _CFStringCreateMutableCopy =
+      _CFStringCreateMutableCopyPtr.asFunction<
+          CFMutableStringRef Function(CFAllocatorRef, int, CFStringRef)>();
+
+  CFMutableStringRef CFStringCreateMutableWithExternalCharactersNoCopy(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UniChar> chars,
+    int numChars,
+    int capacity,
+    CFAllocatorRef externalCharactersAllocator,
+  ) {
+    return _CFStringCreateMutableWithExternalCharactersNoCopy(
+      alloc,
+      chars,
+      numChars,
+      capacity,
+      externalCharactersAllocator,
+    );
+  }
+
+  late final _CFStringCreateMutableWithExternalCharactersNoCopyPtr = _lookup<
+          ffi.NativeFunction<
+              CFMutableStringRef Function(CFAllocatorRef, ffi.Pointer<UniChar>,
+                  CFIndex, CFIndex, CFAllocatorRef)>>(
+      'CFStringCreateMutableWithExternalCharactersNoCopy');
+  late final _CFStringCreateMutableWithExternalCharactersNoCopy =
+      _CFStringCreateMutableWithExternalCharactersNoCopyPtr.asFunction<
+          CFMutableStringRef Function(CFAllocatorRef, ffi.Pointer<UniChar>, int,
+              int, CFAllocatorRef)>();
+
+  /// Basic accessors for the contents
+  int CFStringGetLength(
+    CFStringRef theString,
+  ) {
+    return _CFStringGetLength(
+      theString,
+    );
+  }
+
+  late final _CFStringGetLengthPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFStringRef)>>(
+          'CFStringGetLength');
+  late final _CFStringGetLength =
+      _CFStringGetLengthPtr.asFunction<int Function(CFStringRef)>();
+
+  int CFStringGetCharacterAtIndex(
+    CFStringRef theString,
+    int idx,
+  ) {
+    return _CFStringGetCharacterAtIndex(
+      theString,
+      idx,
+    );
+  }
+
+  late final _CFStringGetCharacterAtIndexPtr =
+      _lookup<ffi.NativeFunction<UniChar Function(CFStringRef, CFIndex)>>(
+          'CFStringGetCharacterAtIndex');
+  late final _CFStringGetCharacterAtIndex = _CFStringGetCharacterAtIndexPtr
+      .asFunction<int Function(CFStringRef, int)>();
+
+  void CFStringGetCharacters(
+    CFStringRef theString,
+    CFRange range,
+    ffi.Pointer<UniChar> buffer,
+  ) {
+    return _CFStringGetCharacters(
+      theString,
+      range,
+      buffer,
+    );
+  }
+
+  late final _CFStringGetCharactersPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFStringRef, CFRange,
+              ffi.Pointer<UniChar>)>>('CFStringGetCharacters');
+  late final _CFStringGetCharacters = _CFStringGetCharactersPtr.asFunction<
+      void Function(CFStringRef, CFRange, ffi.Pointer<UniChar>)>();
+
+  int CFStringGetPascalString(
+    CFStringRef theString,
+    StringPtr buffer,
+    int bufferSize,
+    int encoding,
+  ) {
+    return _CFStringGetPascalString(
+      theString,
+      buffer,
+      bufferSize,
+      encoding,
+    );
+  }
+
+  late final _CFStringGetPascalStringPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFStringRef, StringPtr, CFIndex,
+              CFStringEncoding)>>('CFStringGetPascalString');
+  late final _CFStringGetPascalString = _CFStringGetPascalStringPtr.asFunction<
+      int Function(CFStringRef, StringPtr, int, int)>();
+
+  int CFStringGetCString(
+    CFStringRef theString,
+    ffi.Pointer<ffi.Char> buffer,
+    int bufferSize,
+    int encoding,
+  ) {
+    return _CFStringGetCString(
+      theString,
+      buffer,
+      bufferSize,
+      encoding,
+    );
+  }
+
+  late final _CFStringGetCStringPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFStringRef, ffi.Pointer<ffi.Char>, CFIndex,
+              CFStringEncoding)>>('CFStringGetCString');
+  late final _CFStringGetCString = _CFStringGetCStringPtr.asFunction<
+      int Function(CFStringRef, ffi.Pointer<ffi.Char>, int, int)>();
+
+  ConstStringPtr CFStringGetPascalStringPtr(
+    CFStringRef theString,
+    int encoding,
+  ) {
+    return _CFStringGetPascalStringPtr1(
+      theString,
+      encoding,
+    );
+  }
+
+  late final _CFStringGetPascalStringPtrPtr = _lookup<
+      ffi.NativeFunction<
+          ConstStringPtr Function(
+              CFStringRef, CFStringEncoding)>>('CFStringGetPascalStringPtr');
+  late final _CFStringGetPascalStringPtr1 = _CFStringGetPascalStringPtrPtr
+      .asFunction<ConstStringPtr Function(CFStringRef, int)>();
+
+  ffi.Pointer<ffi.Char> CFStringGetCStringPtr(
+    CFStringRef theString,
+    int encoding,
+  ) {
+    return _CFStringGetCStringPtr1(
+      theString,
+      encoding,
+    );
+  }
+
+  late final _CFStringGetCStringPtrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              CFStringRef, CFStringEncoding)>>('CFStringGetCStringPtr');
+  late final _CFStringGetCStringPtr1 = _CFStringGetCStringPtrPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(CFStringRef, int)>();
+
+  ffi.Pointer<UniChar> CFStringGetCharactersPtr(
+    CFStringRef theString,
+  ) {
+    return _CFStringGetCharactersPtr1(
+      theString,
+    );
+  }
+
+  late final _CFStringGetCharactersPtrPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<UniChar> Function(CFStringRef)>>(
+          'CFStringGetCharactersPtr');
+  late final _CFStringGetCharactersPtr1 = _CFStringGetCharactersPtrPtr
+      .asFunction<ffi.Pointer<UniChar> Function(CFStringRef)>();
+
+  int CFStringGetBytes(
+    CFStringRef theString,
+    CFRange range,
+    int encoding,
+    int lossByte,
+    int isExternalRepresentation,
+    ffi.Pointer<UInt8> buffer,
+    int maxBufLen,
+    ffi.Pointer<CFIndex> usedBufLen,
+  ) {
+    return _CFStringGetBytes(
+      theString,
+      range,
+      encoding,
+      lossByte,
+      isExternalRepresentation,
+      buffer,
+      maxBufLen,
+      usedBufLen,
+    );
+  }
+
+  late final _CFStringGetBytesPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(
+              CFStringRef,
+              CFRange,
+              CFStringEncoding,
+              UInt8,
+              Boolean,
+              ffi.Pointer<UInt8>,
+              CFIndex,
+              ffi.Pointer<CFIndex>)>>('CFStringGetBytes');
+  late final _CFStringGetBytes = _CFStringGetBytesPtr.asFunction<
+      int Function(CFStringRef, CFRange, int, int, int, ffi.Pointer<UInt8>, int,
+          ffi.Pointer<CFIndex>)>();
+
+  CFStringRef CFStringCreateFromExternalRepresentation(
+    CFAllocatorRef alloc,
+    CFDataRef data,
+    int encoding,
+  ) {
+    return _CFStringCreateFromExternalRepresentation(
+      alloc,
+      data,
+      encoding,
+    );
+  }
+
+  late final _CFStringCreateFromExternalRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFDataRef,
+              CFStringEncoding)>>('CFStringCreateFromExternalRepresentation');
+  late final _CFStringCreateFromExternalRepresentation =
+      _CFStringCreateFromExternalRepresentationPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFDataRef, int)>();
+
+  CFDataRef CFStringCreateExternalRepresentation(
+    CFAllocatorRef alloc,
+    CFStringRef theString,
+    int encoding,
+    int lossByte,
+  ) {
+    return _CFStringCreateExternalRepresentation(
+      alloc,
+      theString,
+      encoding,
+      lossByte,
+    );
+  }
+
+  late final _CFStringCreateExternalRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(CFAllocatorRef, CFStringRef, CFStringEncoding,
+              UInt8)>>('CFStringCreateExternalRepresentation');
+  late final _CFStringCreateExternalRepresentation =
+      _CFStringCreateExternalRepresentationPtr.asFunction<
+          CFDataRef Function(CFAllocatorRef, CFStringRef, int, int)>();
+
+  int CFStringGetSmallestEncoding(
+    CFStringRef theString,
+  ) {
+    return _CFStringGetSmallestEncoding(
+      theString,
+    );
+  }
+
+  late final _CFStringGetSmallestEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringEncoding Function(CFStringRef)>>(
+          'CFStringGetSmallestEncoding');
+  late final _CFStringGetSmallestEncoding =
+      _CFStringGetSmallestEncodingPtr.asFunction<int Function(CFStringRef)>();
+
+  int CFStringGetFastestEncoding(
+    CFStringRef theString,
+  ) {
+    return _CFStringGetFastestEncoding(
+      theString,
+    );
+  }
+
+  late final _CFStringGetFastestEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringEncoding Function(CFStringRef)>>(
+          'CFStringGetFastestEncoding');
+  late final _CFStringGetFastestEncoding =
+      _CFStringGetFastestEncodingPtr.asFunction<int Function(CFStringRef)>();
+
+  int CFStringGetSystemEncoding() {
+    return _CFStringGetSystemEncoding();
+  }
+
+  late final _CFStringGetSystemEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringEncoding Function()>>(
+          'CFStringGetSystemEncoding');
+  late final _CFStringGetSystemEncoding =
+      _CFStringGetSystemEncodingPtr.asFunction<int Function()>();
+
+  int CFStringGetMaximumSizeForEncoding(
+    int length,
+    int encoding,
+  ) {
+    return _CFStringGetMaximumSizeForEncoding(
+      length,
+      encoding,
+    );
+  }
+
+  late final _CFStringGetMaximumSizeForEncodingPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFIndex, CFStringEncoding)>>(
+          'CFStringGetMaximumSizeForEncoding');
+  late final _CFStringGetMaximumSizeForEncoding =
+      _CFStringGetMaximumSizeForEncodingPtr.asFunction<
+          int Function(int, int)>();
+
+  /// FileSystem path conversion functions
+  int CFStringGetFileSystemRepresentation(
+    CFStringRef string,
+    ffi.Pointer<ffi.Char> buffer,
+    int maxBufLen,
+  ) {
+    return _CFStringGetFileSystemRepresentation(
+      string,
+      buffer,
+      maxBufLen,
+    );
+  }
+
+  late final _CFStringGetFileSystemRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFStringRef, ffi.Pointer<ffi.Char>,
+              CFIndex)>>('CFStringGetFileSystemRepresentation');
+  late final _CFStringGetFileSystemRepresentation =
+      _CFStringGetFileSystemRepresentationPtr.asFunction<
+          int Function(CFStringRef, ffi.Pointer<ffi.Char>, int)>();
+
+  int CFStringGetMaximumSizeOfFileSystemRepresentation(
+    CFStringRef string,
+  ) {
+    return _CFStringGetMaximumSizeOfFileSystemRepresentation(
+      string,
+    );
+  }
+
+  late final _CFStringGetMaximumSizeOfFileSystemRepresentationPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFStringRef)>>(
+          'CFStringGetMaximumSizeOfFileSystemRepresentation');
+  late final _CFStringGetMaximumSizeOfFileSystemRepresentation =
+      _CFStringGetMaximumSizeOfFileSystemRepresentationPtr.asFunction<
+          int Function(CFStringRef)>();
+
+  CFStringRef CFStringCreateWithFileSystemRepresentation(
+    CFAllocatorRef alloc,
+    ffi.Pointer<ffi.Char> buffer,
+  ) {
+    return _CFStringCreateWithFileSystemRepresentation(
+      alloc,
+      buffer,
+    );
+  }
+
+  late final _CFStringCreateWithFileSystemRepresentationPtr = _lookup<
+          ffi.NativeFunction<
+              CFStringRef Function(CFAllocatorRef, ffi.Pointer<ffi.Char>)>>(
+      'CFStringCreateWithFileSystemRepresentation');
+  late final _CFStringCreateWithFileSystemRepresentation =
+      _CFStringCreateWithFileSystemRepresentationPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, ffi.Pointer<ffi.Char>)>();
+
+  int CFStringCompareWithOptionsAndLocale(
+    CFStringRef theString1,
+    CFStringRef theString2,
+    CFRange rangeToCompare,
+    int compareOptions,
+    CFLocaleRef locale,
+  ) {
+    return _CFStringCompareWithOptionsAndLocale(
+      theString1,
+      theString2,
+      rangeToCompare,
+      compareOptions,
+      locale,
+    );
+  }
+
+  late final _CFStringCompareWithOptionsAndLocalePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(CFStringRef, CFStringRef, CFRange, ffi.Int32,
+              CFLocaleRef)>>('CFStringCompareWithOptionsAndLocale');
+  late final _CFStringCompareWithOptionsAndLocale =
+      _CFStringCompareWithOptionsAndLocalePtr.asFunction<
+          int Function(CFStringRef, CFStringRef, CFRange, int, CFLocaleRef)>();
+
+  int CFStringCompareWithOptions(
+    CFStringRef theString1,
+    CFStringRef theString2,
+    CFRange rangeToCompare,
+    int compareOptions,
+  ) {
+    return _CFStringCompareWithOptions(
+      theString1,
+      theString2,
+      rangeToCompare,
+      compareOptions,
+    );
+  }
+
+  late final _CFStringCompareWithOptionsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(CFStringRef, CFStringRef, CFRange,
+              ffi.Int32)>>('CFStringCompareWithOptions');
+  late final _CFStringCompareWithOptions = _CFStringCompareWithOptionsPtr
+      .asFunction<int Function(CFStringRef, CFStringRef, CFRange, int)>();
+
+  int CFStringCompare(
+    CFStringRef theString1,
+    CFStringRef theString2,
+    int compareOptions,
+  ) {
+    return _CFStringCompare(
+      theString1,
+      theString2,
+      compareOptions,
+    );
+  }
+
+  late final _CFStringComparePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              CFStringRef, CFStringRef, ffi.Int32)>>('CFStringCompare');
+  late final _CFStringCompare = _CFStringComparePtr.asFunction<
+      int Function(CFStringRef, CFStringRef, int)>();
+
+  int CFStringFindWithOptionsAndLocale(
+    CFStringRef theString,
+    CFStringRef stringToFind,
+    CFRange rangeToSearch,
+    int searchOptions,
+    CFLocaleRef locale,
+    ffi.Pointer<CFRange> result,
+  ) {
+    return _CFStringFindWithOptionsAndLocale(
+      theString,
+      stringToFind,
+      rangeToSearch,
+      searchOptions,
+      locale,
+      result,
+    );
+  }
+
+  late final _CFStringFindWithOptionsAndLocalePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFStringRef,
+              CFStringRef,
+              CFRange,
+              ffi.Int32,
+              CFLocaleRef,
+              ffi.Pointer<CFRange>)>>('CFStringFindWithOptionsAndLocale');
+  late final _CFStringFindWithOptionsAndLocale =
+      _CFStringFindWithOptionsAndLocalePtr.asFunction<
+          int Function(CFStringRef, CFStringRef, CFRange, int, CFLocaleRef,
+              ffi.Pointer<CFRange>)>();
+
+  int CFStringFindWithOptions(
+    CFStringRef theString,
+    CFStringRef stringToFind,
+    CFRange rangeToSearch,
+    int searchOptions,
+    ffi.Pointer<CFRange> result,
+  ) {
+    return _CFStringFindWithOptions(
+      theString,
+      stringToFind,
+      rangeToSearch,
+      searchOptions,
+      result,
+    );
+  }
+
+  late final _CFStringFindWithOptionsPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFStringRef, CFStringRef, CFRange, ffi.Int32,
+              ffi.Pointer<CFRange>)>>('CFStringFindWithOptions');
+  late final _CFStringFindWithOptions = _CFStringFindWithOptionsPtr.asFunction<
+      int Function(
+          CFStringRef, CFStringRef, CFRange, int, ffi.Pointer<CFRange>)>();
+
+  CFArrayRef CFStringCreateArrayWithFindResults(
+    CFAllocatorRef alloc,
+    CFStringRef theString,
+    CFStringRef stringToFind,
+    CFRange rangeToSearch,
+    int compareOptions,
+  ) {
+    return _CFStringCreateArrayWithFindResults(
+      alloc,
+      theString,
+      stringToFind,
+      rangeToSearch,
+      compareOptions,
+    );
+  }
+
+  late final _CFStringCreateArrayWithFindResultsPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(CFAllocatorRef, CFStringRef, CFStringRef, CFRange,
+              ffi.Int32)>>('CFStringCreateArrayWithFindResults');
+  late final _CFStringCreateArrayWithFindResults =
+      _CFStringCreateArrayWithFindResultsPtr.asFunction<
+          CFArrayRef Function(
+              CFAllocatorRef, CFStringRef, CFStringRef, CFRange, int)>();
+
+  CFRange CFStringFind(
+    CFStringRef theString,
+    CFStringRef stringToFind,
+    int compareOptions,
+  ) {
+    return _CFStringFind(
+      theString,
+      stringToFind,
+      compareOptions,
+    );
+  }
+
+  late final _CFStringFindPtr = _lookup<
+      ffi.NativeFunction<
+          CFRange Function(
+              CFStringRef, CFStringRef, ffi.Int32)>>('CFStringFind');
+  late final _CFStringFind = _CFStringFindPtr.asFunction<
+      CFRange Function(CFStringRef, CFStringRef, int)>();
+
+  int CFStringHasPrefix(
+    CFStringRef theString,
+    CFStringRef prefix,
+  ) {
+    return _CFStringHasPrefix(
+      theString,
+      prefix,
+    );
+  }
+
+  late final _CFStringHasPrefixPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFStringRef, CFStringRef)>>(
+          'CFStringHasPrefix');
+  late final _CFStringHasPrefix = _CFStringHasPrefixPtr.asFunction<
+      int Function(CFStringRef, CFStringRef)>();
+
+  int CFStringHasSuffix(
+    CFStringRef theString,
+    CFStringRef suffix,
+  ) {
+    return _CFStringHasSuffix(
+      theString,
+      suffix,
+    );
+  }
+
+  late final _CFStringHasSuffixPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFStringRef, CFStringRef)>>(
+          'CFStringHasSuffix');
+  late final _CFStringHasSuffix = _CFStringHasSuffixPtr.asFunction<
+      int Function(CFStringRef, CFStringRef)>();
+
+  /// !
+  /// @function CFStringGetRangeOfComposedCharactersAtIndex
+  /// Returns the range of the composed character sequence at the specified index.
+  /// @param theString The CFString which is to be searched.  If this
+  /// parameter is not a valid CFString, the behavior is
+  /// undefined.
+  /// @param theIndex The index of the character contained in the
+  /// composed character sequence.  If the index is
+  /// outside the index space of the string (0 to N-1 inclusive,
+  /// where N is the length of the string), the behavior is
+  /// undefined.
+  /// @result The range of the composed character sequence.
+  CFRange CFStringGetRangeOfComposedCharactersAtIndex(
+    CFStringRef theString,
+    int theIndex,
+  ) {
+    return _CFStringGetRangeOfComposedCharactersAtIndex(
+      theString,
+      theIndex,
+    );
+  }
+
+  late final _CFStringGetRangeOfComposedCharactersAtIndexPtr =
+      _lookup<ffi.NativeFunction<CFRange Function(CFStringRef, CFIndex)>>(
+          'CFStringGetRangeOfComposedCharactersAtIndex');
+  late final _CFStringGetRangeOfComposedCharactersAtIndex =
+      _CFStringGetRangeOfComposedCharactersAtIndexPtr.asFunction<
+          CFRange Function(CFStringRef, int)>();
+
+  /// !
+  /// @function CFStringFindCharacterFromSet
+  /// Query the range of the first character contained in the specified character set.
+  /// @param theString The CFString which is to be searched.  If this
+  /// parameter is not a valid CFString, the behavior is
+  /// undefined.
+  /// @param theSet The CFCharacterSet against which the membership
+  /// of characters is checked.  If this parameter is not a valid
+  /// CFCharacterSet, the behavior is undefined.
+  /// @param rangeToSearch The range of characters within the string to search. If
+  /// the range location or end point (defined by the location
+  /// plus length minus 1) are outside the index space of the
+  /// string (0 to N-1 inclusive, where N is the length of the
+  /// string), the behavior is undefined. If the range length is
+  /// negative, the behavior is undefined. The range may be empty
+  /// (length 0), in which case no search is performed.
+  /// @param searchOptions The bitwise-or'ed option flags to control
+  /// the search behavior.  The supported options are
+  /// kCFCompareBackwards andkCFCompareAnchored.
+  /// If other option flags are specified, the behavior
+  /// is undefined.
+  /// @param result The pointer to a CFRange supplied by the caller in
+  /// which the search result is stored.  Note that the length
+  /// of this range can be more than 1, if for instance the
+  /// result is a composed character. If a pointer to an invalid
+  /// memory is specified, the behavior is undefined.
+  /// @result true, if at least a character which is a member of the character
+  /// set is found and result is filled, otherwise, false.
+  int CFStringFindCharacterFromSet(
+    CFStringRef theString,
+    CFCharacterSetRef theSet,
+    CFRange rangeToSearch,
+    int searchOptions,
+    ffi.Pointer<CFRange> result,
+  ) {
+    return _CFStringFindCharacterFromSet(
+      theString,
+      theSet,
+      rangeToSearch,
+      searchOptions,
+      result,
+    );
+  }
+
+  late final _CFStringFindCharacterFromSetPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFStringRef, CFCharacterSetRef, CFRange, ffi.Int32,
+              ffi.Pointer<CFRange>)>>('CFStringFindCharacterFromSet');
+  late final _CFStringFindCharacterFromSet =
+      _CFStringFindCharacterFromSetPtr.asFunction<
+          int Function(CFStringRef, CFCharacterSetRef, CFRange, int,
+              ffi.Pointer<CFRange>)>();
+
+  void CFStringGetLineBounds(
+    CFStringRef theString,
+    CFRange range,
+    ffi.Pointer<CFIndex> lineBeginIndex,
+    ffi.Pointer<CFIndex> lineEndIndex,
+    ffi.Pointer<CFIndex> contentsEndIndex,
+  ) {
+    return _CFStringGetLineBounds(
+      theString,
+      range,
+      lineBeginIndex,
+      lineEndIndex,
+      contentsEndIndex,
+    );
+  }
+
+  late final _CFStringGetLineBoundsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFStringRef,
+              CFRange,
+              ffi.Pointer<CFIndex>,
+              ffi.Pointer<CFIndex>,
+              ffi.Pointer<CFIndex>)>>('CFStringGetLineBounds');
+  late final _CFStringGetLineBounds = _CFStringGetLineBoundsPtr.asFunction<
+      void Function(CFStringRef, CFRange, ffi.Pointer<CFIndex>,
+          ffi.Pointer<CFIndex>, ffi.Pointer<CFIndex>)>();
+
+  void CFStringGetParagraphBounds(
+    CFStringRef string,
+    CFRange range,
+    ffi.Pointer<CFIndex> parBeginIndex,
+    ffi.Pointer<CFIndex> parEndIndex,
+    ffi.Pointer<CFIndex> contentsEndIndex,
+  ) {
+    return _CFStringGetParagraphBounds(
+      string,
+      range,
+      parBeginIndex,
+      parEndIndex,
+      contentsEndIndex,
+    );
+  }
+
+  late final _CFStringGetParagraphBoundsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFStringRef,
+              CFRange,
+              ffi.Pointer<CFIndex>,
+              ffi.Pointer<CFIndex>,
+              ffi.Pointer<CFIndex>)>>('CFStringGetParagraphBounds');
+  late final _CFStringGetParagraphBounds =
+      _CFStringGetParagraphBoundsPtr.asFunction<
+          void Function(CFStringRef, CFRange, ffi.Pointer<CFIndex>,
+              ffi.Pointer<CFIndex>, ffi.Pointer<CFIndex>)>();
+
+  /// !
+  /// @function CFStringGetHyphenationLocationBeforeIndex
+  /// Retrieve the first potential hyphenation location found before the specified location.
+  /// @param string The CFString which is to be hyphenated.  If this
+  /// parameter is not a valid CFString, the behavior is
+  /// undefined.
+  /// @param location An index in the string.  If a valid hyphen index is returned, it
+  /// will be before this index.
+  /// @param limitRange The range of characters within the string to search. If
+  /// the range location or end point (defined by the location
+  /// plus length minus 1) are outside the index space of the
+  /// string (0 to N-1 inclusive, where N is the length of the
+  /// string), the behavior is undefined. If the range length is
+  /// negative, the behavior is undefined. The range may be empty
+  /// (length 0), in which case no hyphen location is generated.
+  /// @param options Reserved for future use.
+  /// @param locale Specifies which language's hyphenation conventions to use.
+  /// This must be a valid locale.  Hyphenation data is not available
+  /// for all locales.  You can use CFStringIsHyphenationAvailableForLocale
+  /// to test for availability of hyphenation data.
+  /// @param character The suggested hyphen character to insert.  Pass NULL if you
+  /// do not need this information.
+  /// @result an index in the string where it is appropriate to insert a hyphen, if
+  /// one exists; else kCFNotFound
+  int CFStringGetHyphenationLocationBeforeIndex(
+    CFStringRef string,
+    int location,
+    CFRange limitRange,
+    int options,
+    CFLocaleRef locale,
+    ffi.Pointer<UTF32Char> character,
+  ) {
+    return _CFStringGetHyphenationLocationBeforeIndex(
+      string,
+      location,
+      limitRange,
+      options,
+      locale,
+      character,
+    );
+  }
+
+  late final _CFStringGetHyphenationLocationBeforeIndexPtr = _lookup<
+          ffi.NativeFunction<
+              CFIndex Function(CFStringRef, CFIndex, CFRange, CFOptionFlags,
+                  CFLocaleRef, ffi.Pointer<UTF32Char>)>>(
+      'CFStringGetHyphenationLocationBeforeIndex');
+  late final _CFStringGetHyphenationLocationBeforeIndex =
+      _CFStringGetHyphenationLocationBeforeIndexPtr.asFunction<
+          int Function(CFStringRef, int, CFRange, int, CFLocaleRef,
+              ffi.Pointer<UTF32Char>)>();
+
+  int CFStringIsHyphenationAvailableForLocale(
+    CFLocaleRef locale,
+  ) {
+    return _CFStringIsHyphenationAvailableForLocale(
+      locale,
+    );
+  }
+
+  late final _CFStringIsHyphenationAvailableForLocalePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFLocaleRef)>>(
+          'CFStringIsHyphenationAvailableForLocale');
+  late final _CFStringIsHyphenationAvailableForLocale =
+      _CFStringIsHyphenationAvailableForLocalePtr.asFunction<
+          int Function(CFLocaleRef)>();
+
+  /// Exploding and joining strings with a separator string
+  CFStringRef CFStringCreateByCombiningStrings(
+    CFAllocatorRef alloc,
+    CFArrayRef theArray,
+    CFStringRef separatorString,
+  ) {
+    return _CFStringCreateByCombiningStrings(
+      alloc,
+      theArray,
+      separatorString,
+    );
+  }
+
+  late final _CFStringCreateByCombiningStringsPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFArrayRef,
+              CFStringRef)>>('CFStringCreateByCombiningStrings');
+  late final _CFStringCreateByCombiningStrings =
+      _CFStringCreateByCombiningStringsPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFArrayRef, CFStringRef)>();
+
+  CFArrayRef CFStringCreateArrayBySeparatingStrings(
+    CFAllocatorRef alloc,
+    CFStringRef theString,
+    CFStringRef separatorString,
+  ) {
+    return _CFStringCreateArrayBySeparatingStrings(
+      alloc,
+      theString,
+      separatorString,
+    );
+  }
+
+  late final _CFStringCreateArrayBySeparatingStringsPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(CFAllocatorRef, CFStringRef,
+              CFStringRef)>>('CFStringCreateArrayBySeparatingStrings');
+  late final _CFStringCreateArrayBySeparatingStrings =
+      _CFStringCreateArrayBySeparatingStringsPtr.asFunction<
+          CFArrayRef Function(CFAllocatorRef, CFStringRef, CFStringRef)>();
+
+  /// Parsing non-localized numbers from strings
+  int CFStringGetIntValue(
+    CFStringRef str,
+  ) {
+    return _CFStringGetIntValue(
+      str,
+    );
+  }
+
+  late final _CFStringGetIntValuePtr =
+      _lookup<ffi.NativeFunction<SInt32 Function(CFStringRef)>>(
+          'CFStringGetIntValue');
+  late final _CFStringGetIntValue =
+      _CFStringGetIntValuePtr.asFunction<int Function(CFStringRef)>();
+
+  double CFStringGetDoubleValue(
+    CFStringRef str,
+  ) {
+    return _CFStringGetDoubleValue(
+      str,
+    );
+  }
+
+  late final _CFStringGetDoubleValuePtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(CFStringRef)>>(
+          'CFStringGetDoubleValue');
+  late final _CFStringGetDoubleValue =
+      _CFStringGetDoubleValuePtr.asFunction<double Function(CFStringRef)>();
+
+  /// MutableString functions
+  void CFStringAppend(
+    CFMutableStringRef theString,
+    CFStringRef appendedString,
+  ) {
+    return _CFStringAppend(
+      theString,
+      appendedString,
+    );
+  }
+
+  late final _CFStringAppendPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableStringRef, CFStringRef)>>(
+      'CFStringAppend');
+  late final _CFStringAppend = _CFStringAppendPtr.asFunction<
+      void Function(CFMutableStringRef, CFStringRef)>();
+
+  void CFStringAppendCharacters(
+    CFMutableStringRef theString,
+    ffi.Pointer<UniChar> chars,
+    int numChars,
+  ) {
+    return _CFStringAppendCharacters(
+      theString,
+      chars,
+      numChars,
+    );
+  }
+
+  late final _CFStringAppendCharactersPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableStringRef, ffi.Pointer<UniChar>,
+              CFIndex)>>('CFStringAppendCharacters');
+  late final _CFStringAppendCharacters =
+      _CFStringAppendCharactersPtr.asFunction<
+          void Function(CFMutableStringRef, ffi.Pointer<UniChar>, int)>();
+
+  void CFStringAppendPascalString(
+    CFMutableStringRef theString,
+    ConstStr255Param pStr,
+    int encoding,
+  ) {
+    return _CFStringAppendPascalString(
+      theString,
+      pStr,
+      encoding,
+    );
+  }
+
+  late final _CFStringAppendPascalStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableStringRef, ConstStr255Param,
+              CFStringEncoding)>>('CFStringAppendPascalString');
+  late final _CFStringAppendPascalString = _CFStringAppendPascalStringPtr
+      .asFunction<void Function(CFMutableStringRef, ConstStr255Param, int)>();
+
+  void CFStringAppendCString(
+    CFMutableStringRef theString,
+    ffi.Pointer<ffi.Char> cStr,
+    int encoding,
+  ) {
+    return _CFStringAppendCString(
+      theString,
+      cStr,
+      encoding,
+    );
+  }
+
+  late final _CFStringAppendCStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableStringRef, ffi.Pointer<ffi.Char>,
+              CFStringEncoding)>>('CFStringAppendCString');
+  late final _CFStringAppendCString = _CFStringAppendCStringPtr.asFunction<
+      void Function(CFMutableStringRef, ffi.Pointer<ffi.Char>, int)>();
+
+  void CFStringAppendFormat(
+    CFMutableStringRef theString,
+    CFDictionaryRef formatOptions,
+    CFStringRef format,
+  ) {
+    return _CFStringAppendFormat(
+      theString,
+      formatOptions,
+      format,
+    );
+  }
+
+  late final _CFStringAppendFormatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableStringRef, CFDictionaryRef,
+              CFStringRef)>>('CFStringAppendFormat');
+  late final _CFStringAppendFormat = _CFStringAppendFormatPtr.asFunction<
+      void Function(CFMutableStringRef, CFDictionaryRef, CFStringRef)>();
+
+  void CFStringAppendFormatAndArguments(
+    CFMutableStringRef theString,
+    CFDictionaryRef formatOptions,
+    CFStringRef format,
+    ffi.Pointer<__va_list_tag> arguments,
+  ) {
+    return _CFStringAppendFormatAndArguments(
+      theString,
+      formatOptions,
+      format,
+      arguments,
+    );
+  }
+
+  late final _CFStringAppendFormatAndArgumentsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableStringRef, CFDictionaryRef, CFStringRef,
+              ffi.Pointer<__va_list_tag>)>>('CFStringAppendFormatAndArguments');
+  late final _CFStringAppendFormatAndArguments =
+      _CFStringAppendFormatAndArgumentsPtr.asFunction<
+          void Function(CFMutableStringRef, CFDictionaryRef, CFStringRef,
+              ffi.Pointer<__va_list_tag>)>();
+
+  void CFStringInsert(
+    CFMutableStringRef str,
+    int idx,
+    CFStringRef insertedStr,
+  ) {
+    return _CFStringInsert(
+      str,
+      idx,
+      insertedStr,
+    );
+  }
+
+  late final _CFStringInsertPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableStringRef, CFIndex, CFStringRef)>>('CFStringInsert');
+  late final _CFStringInsert = _CFStringInsertPtr.asFunction<
+      void Function(CFMutableStringRef, int, CFStringRef)>();
+
+  void CFStringDelete(
+    CFMutableStringRef theString,
+    CFRange range,
+  ) {
+    return _CFStringDelete(
+      theString,
+      range,
+    );
+  }
+
+  late final _CFStringDeletePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFMutableStringRef, CFRange)>>(
+      'CFStringDelete');
+  late final _CFStringDelete = _CFStringDeletePtr.asFunction<
+      void Function(CFMutableStringRef, CFRange)>();
+
+  void CFStringReplace(
+    CFMutableStringRef theString,
+    CFRange range,
+    CFStringRef replacement,
+  ) {
+    return _CFStringReplace(
+      theString,
+      range,
+      replacement,
+    );
+  }
+
+  late final _CFStringReplacePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableStringRef, CFRange, CFStringRef)>>('CFStringReplace');
+  late final _CFStringReplace = _CFStringReplacePtr.asFunction<
+      void Function(CFMutableStringRef, CFRange, CFStringRef)>();
+
+  void CFStringReplaceAll(
+    CFMutableStringRef theString,
+    CFStringRef replacement,
+  ) {
+    return _CFStringReplaceAll(
+      theString,
+      replacement,
+    );
+  }
+
+  late final _CFStringReplaceAllPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableStringRef, CFStringRef)>>(
+      'CFStringReplaceAll');
+  late final _CFStringReplaceAll = _CFStringReplaceAllPtr.asFunction<
+      void Function(CFMutableStringRef, CFStringRef)>();
+
+  int CFStringFindAndReplace(
+    CFMutableStringRef theString,
+    CFStringRef stringToFind,
+    CFStringRef replacementString,
+    CFRange rangeToSearch,
+    int compareOptions,
+  ) {
+    return _CFStringFindAndReplace(
+      theString,
+      stringToFind,
+      replacementString,
+      rangeToSearch,
+      compareOptions,
+    );
+  }
+
+  late final _CFStringFindAndReplacePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFMutableStringRef, CFStringRef, CFStringRef,
+              CFRange, ffi.Int32)>>('CFStringFindAndReplace');
+  late final _CFStringFindAndReplace = _CFStringFindAndReplacePtr.asFunction<
+      int Function(
+          CFMutableStringRef, CFStringRef, CFStringRef, CFRange, int)>();
+
+  void CFStringSetExternalCharactersNoCopy(
+    CFMutableStringRef theString,
+    ffi.Pointer<UniChar> chars,
+    int length,
+    int capacity,
+  ) {
+    return _CFStringSetExternalCharactersNoCopy(
+      theString,
+      chars,
+      length,
+      capacity,
+    );
+  }
+
+  late final _CFStringSetExternalCharactersNoCopyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableStringRef, ffi.Pointer<UniChar>, CFIndex,
+              CFIndex)>>('CFStringSetExternalCharactersNoCopy');
+  late final _CFStringSetExternalCharactersNoCopy =
+      _CFStringSetExternalCharactersNoCopyPtr.asFunction<
+          void Function(CFMutableStringRef, ffi.Pointer<UniChar>, int, int)>();
+
+  void CFStringPad(
+    CFMutableStringRef theString,
+    CFStringRef padString,
+    int length,
+    int indexIntoPad,
+  ) {
+    return _CFStringPad(
+      theString,
+      padString,
+      length,
+      indexIntoPad,
+    );
+  }
+
+  late final _CFStringPadPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableStringRef, CFStringRef, CFIndex,
+              CFIndex)>>('CFStringPad');
+  late final _CFStringPad = _CFStringPadPtr.asFunction<
+      void Function(CFMutableStringRef, CFStringRef, int, int)>();
+
+  void CFStringTrim(
+    CFMutableStringRef theString,
+    CFStringRef trimString,
+  ) {
+    return _CFStringTrim(
+      theString,
+      trimString,
+    );
+  }
+
+  late final _CFStringTrimPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableStringRef, CFStringRef)>>(
+      'CFStringTrim');
+  late final _CFStringTrim = _CFStringTrimPtr.asFunction<
+      void Function(CFMutableStringRef, CFStringRef)>();
+
+  void CFStringTrimWhitespace(
+    CFMutableStringRef theString,
+  ) {
+    return _CFStringTrimWhitespace(
+      theString,
+    );
+  }
+
+  late final _CFStringTrimWhitespacePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableStringRef)>>(
+          'CFStringTrimWhitespace');
+  late final _CFStringTrimWhitespace = _CFStringTrimWhitespacePtr.asFunction<
+      void Function(CFMutableStringRef)>();
+
+  void CFStringLowercase(
+    CFMutableStringRef theString,
+    CFLocaleRef locale,
+  ) {
+    return _CFStringLowercase(
+      theString,
+      locale,
+    );
+  }
+
+  late final _CFStringLowercasePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableStringRef, CFLocaleRef)>>(
+      'CFStringLowercase');
+  late final _CFStringLowercase = _CFStringLowercasePtr.asFunction<
+      void Function(CFMutableStringRef, CFLocaleRef)>();
+
+  void CFStringUppercase(
+    CFMutableStringRef theString,
+    CFLocaleRef locale,
+  ) {
+    return _CFStringUppercase(
+      theString,
+      locale,
+    );
+  }
+
+  late final _CFStringUppercasePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableStringRef, CFLocaleRef)>>(
+      'CFStringUppercase');
+  late final _CFStringUppercase = _CFStringUppercasePtr.asFunction<
+      void Function(CFMutableStringRef, CFLocaleRef)>();
+
+  void CFStringCapitalize(
+    CFMutableStringRef theString,
+    CFLocaleRef locale,
+  ) {
+    return _CFStringCapitalize(
+      theString,
+      locale,
+    );
+  }
+
+  late final _CFStringCapitalizePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFMutableStringRef, CFLocaleRef)>>(
+      'CFStringCapitalize');
+  late final _CFStringCapitalize = _CFStringCapitalizePtr.asFunction<
+      void Function(CFMutableStringRef, CFLocaleRef)>();
+
+  /// !
+  /// @function CFStringNormalize
+  /// Normalizes the string into the specified form as described in
+  /// Unicode Technical Report #15.
+  /// @param theString  The string which is to be normalized.  If this
+  /// parameter is not a valid mutable CFString, the behavior is
+  /// undefined.
+  /// @param theForm  The form into which the string is to be normalized.
+  /// If this parameter is not a valid CFStringNormalizationForm value,
+  /// the behavior is undefined.
+  void CFStringNormalize(
+    CFMutableStringRef theString,
+    int theForm,
+  ) {
+    return _CFStringNormalize(
+      theString,
+      theForm,
+    );
+  }
+
+  late final _CFStringNormalizePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFMutableStringRef, ffi.Int32)>>(
+      'CFStringNormalize');
+  late final _CFStringNormalize = _CFStringNormalizePtr.asFunction<
+      void Function(CFMutableStringRef, int)>();
+
+  /// !
+  /// @function CFStringFold
+  /// Folds the string into the form specified by the flags.
+  /// Character foldings are operations that convert any of a set of characters
+  /// sharing similar semantics into a single representative from that set.
+  /// This function can be used to preprocess strings that are to be compared,
+  /// searched, or indexed.
+  /// Note that folding does not include normalization, so it is necessary
+  /// to use CFStringNormalize in addition to CFStringFold in order to obtain
+  /// the effect of kCFCompareNonliteral.
+  /// @param theString  The string which is to be folded.  If this parameter is not
+  /// a valid mutable CFString, the behavior is undefined.
+  /// @param theFlags  The equivalency flags which describes the character folding form.
+  /// Only those flags containing the word "insensitive" are recognized here; other flags are ignored.
+  /// Folding with kCFCompareCaseInsensitive removes case distinctions in accordance with the mapping
+  /// specified by ftp://ftp.unicode.org/Public/UNIDATA/CaseFolding.txt.  Folding with
+  /// kCFCompareDiacriticInsensitive removes distinctions of accents and other diacritics.  Folding
+  /// with kCFCompareWidthInsensitive removes character width distinctions by mapping characters in
+  /// the range U+FF00-U+FFEF to their ordinary equivalents.
+  /// @param theLocale The locale tailoring the character folding behavior. If NULL,
+  /// it's considered to be the system locale returned from CFLocaleGetSystem().
+  /// If non-NULL and not a valid CFLocale object, the behavior is undefined.
+  void CFStringFold(
+    CFMutableStringRef theString,
+    int theFlags,
+    CFLocaleRef theLocale,
+  ) {
+    return _CFStringFold(
+      theString,
+      theFlags,
+      theLocale,
+    );
+  }
+
+  late final _CFStringFoldPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableStringRef, ffi.Int32, CFLocaleRef)>>('CFStringFold');
+  late final _CFStringFold = _CFStringFoldPtr.asFunction<
+      void Function(CFMutableStringRef, int, CFLocaleRef)>();
+
+  int CFStringTransform(
+    CFMutableStringRef string,
+    ffi.Pointer<CFRange> range,
+    CFStringRef transform,
+    int reverse,
+  ) {
+    return _CFStringTransform(
+      string,
+      range,
+      transform,
+      reverse,
+    );
+  }
+
+  late final _CFStringTransformPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFMutableStringRef, ffi.Pointer<CFRange>,
+              CFStringRef, Boolean)>>('CFStringTransform');
+  late final _CFStringTransform = _CFStringTransformPtr.asFunction<
+      int Function(
+          CFMutableStringRef, ffi.Pointer<CFRange>, CFStringRef, int)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformStripCombiningMarks =
+      _lookup<CFStringRef>('kCFStringTransformStripCombiningMarks');
+
+  CFStringRef get kCFStringTransformStripCombiningMarks =>
+      _kCFStringTransformStripCombiningMarks.value;
+
+  set kCFStringTransformStripCombiningMarks(CFStringRef value) =>
+      _kCFStringTransformStripCombiningMarks.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformToLatin =
+      _lookup<CFStringRef>('kCFStringTransformToLatin');
+
+  CFStringRef get kCFStringTransformToLatin => _kCFStringTransformToLatin.value;
+
+  set kCFStringTransformToLatin(CFStringRef value) =>
+      _kCFStringTransformToLatin.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformFullwidthHalfwidth =
+      _lookup<CFStringRef>('kCFStringTransformFullwidthHalfwidth');
+
+  CFStringRef get kCFStringTransformFullwidthHalfwidth =>
+      _kCFStringTransformFullwidthHalfwidth.value;
+
+  set kCFStringTransformFullwidthHalfwidth(CFStringRef value) =>
+      _kCFStringTransformFullwidthHalfwidth.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinKatakana =
+      _lookup<CFStringRef>('kCFStringTransformLatinKatakana');
+
+  CFStringRef get kCFStringTransformLatinKatakana =>
+      _kCFStringTransformLatinKatakana.value;
+
+  set kCFStringTransformLatinKatakana(CFStringRef value) =>
+      _kCFStringTransformLatinKatakana.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinHiragana =
+      _lookup<CFStringRef>('kCFStringTransformLatinHiragana');
+
+  CFStringRef get kCFStringTransformLatinHiragana =>
+      _kCFStringTransformLatinHiragana.value;
+
+  set kCFStringTransformLatinHiragana(CFStringRef value) =>
+      _kCFStringTransformLatinHiragana.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformHiraganaKatakana =
+      _lookup<CFStringRef>('kCFStringTransformHiraganaKatakana');
+
+  CFStringRef get kCFStringTransformHiraganaKatakana =>
+      _kCFStringTransformHiraganaKatakana.value;
+
+  set kCFStringTransformHiraganaKatakana(CFStringRef value) =>
+      _kCFStringTransformHiraganaKatakana.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformMandarinLatin =
+      _lookup<CFStringRef>('kCFStringTransformMandarinLatin');
+
+  CFStringRef get kCFStringTransformMandarinLatin =>
+      _kCFStringTransformMandarinLatin.value;
+
+  set kCFStringTransformMandarinLatin(CFStringRef value) =>
+      _kCFStringTransformMandarinLatin.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinHangul =
+      _lookup<CFStringRef>('kCFStringTransformLatinHangul');
+
+  CFStringRef get kCFStringTransformLatinHangul =>
+      _kCFStringTransformLatinHangul.value;
+
+  set kCFStringTransformLatinHangul(CFStringRef value) =>
+      _kCFStringTransformLatinHangul.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinArabic =
+      _lookup<CFStringRef>('kCFStringTransformLatinArabic');
+
+  CFStringRef get kCFStringTransformLatinArabic =>
+      _kCFStringTransformLatinArabic.value;
+
+  set kCFStringTransformLatinArabic(CFStringRef value) =>
+      _kCFStringTransformLatinArabic.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinHebrew =
+      _lookup<CFStringRef>('kCFStringTransformLatinHebrew');
+
+  CFStringRef get kCFStringTransformLatinHebrew =>
+      _kCFStringTransformLatinHebrew.value;
+
+  set kCFStringTransformLatinHebrew(CFStringRef value) =>
+      _kCFStringTransformLatinHebrew.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinThai =
+      _lookup<CFStringRef>('kCFStringTransformLatinThai');
+
+  CFStringRef get kCFStringTransformLatinThai =>
+      _kCFStringTransformLatinThai.value;
+
+  set kCFStringTransformLatinThai(CFStringRef value) =>
+      _kCFStringTransformLatinThai.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinCyrillic =
+      _lookup<CFStringRef>('kCFStringTransformLatinCyrillic');
+
+  CFStringRef get kCFStringTransformLatinCyrillic =>
+      _kCFStringTransformLatinCyrillic.value;
+
+  set kCFStringTransformLatinCyrillic(CFStringRef value) =>
+      _kCFStringTransformLatinCyrillic.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformLatinGreek =
+      _lookup<CFStringRef>('kCFStringTransformLatinGreek');
+
+  CFStringRef get kCFStringTransformLatinGreek =>
+      _kCFStringTransformLatinGreek.value;
+
+  set kCFStringTransformLatinGreek(CFStringRef value) =>
+      _kCFStringTransformLatinGreek.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformToXMLHex =
+      _lookup<CFStringRef>('kCFStringTransformToXMLHex');
+
+  CFStringRef get kCFStringTransformToXMLHex =>
+      _kCFStringTransformToXMLHex.value;
+
+  set kCFStringTransformToXMLHex(CFStringRef value) =>
+      _kCFStringTransformToXMLHex.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformToUnicodeName =
+      _lookup<CFStringRef>('kCFStringTransformToUnicodeName');
+
+  CFStringRef get kCFStringTransformToUnicodeName =>
+      _kCFStringTransformToUnicodeName.value;
+
+  set kCFStringTransformToUnicodeName(CFStringRef value) =>
+      _kCFStringTransformToUnicodeName.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStringTransformStripDiacritics =
+      _lookup<CFStringRef>('kCFStringTransformStripDiacritics');
+
+  CFStringRef get kCFStringTransformStripDiacritics =>
+      _kCFStringTransformStripDiacritics.value;
+
+  set kCFStringTransformStripDiacritics(CFStringRef value) =>
+      _kCFStringTransformStripDiacritics.value = value;
+
+  /// General encoding related functionality
+  int CFStringIsEncodingAvailable(
+    int encoding,
+  ) {
+    return _CFStringIsEncodingAvailable(
+      encoding,
+    );
+  }
+
+  late final _CFStringIsEncodingAvailablePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFStringEncoding)>>(
+          'CFStringIsEncodingAvailable');
+  late final _CFStringIsEncodingAvailable =
+      _CFStringIsEncodingAvailablePtr.asFunction<int Function(int)>();
+
+  ffi.Pointer<CFStringEncoding> CFStringGetListOfAvailableEncodings() {
+    return _CFStringGetListOfAvailableEncodings();
+  }
+
+  late final _CFStringGetListOfAvailableEncodingsPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<CFStringEncoding> Function()>>(
+          'CFStringGetListOfAvailableEncodings');
+  late final _CFStringGetListOfAvailableEncodings =
+      _CFStringGetListOfAvailableEncodingsPtr.asFunction<
+          ffi.Pointer<CFStringEncoding> Function()>();
+
+  CFStringRef CFStringGetNameOfEncoding(
+    int encoding,
+  ) {
+    return _CFStringGetNameOfEncoding(
+      encoding,
+    );
+  }
+
+  late final _CFStringGetNameOfEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFStringEncoding)>>(
+          'CFStringGetNameOfEncoding');
+  late final _CFStringGetNameOfEncoding =
+      _CFStringGetNameOfEncodingPtr.asFunction<CFStringRef Function(int)>();
+
+  int CFStringConvertEncodingToNSStringEncoding(
+    int encoding,
+  ) {
+    return _CFStringConvertEncodingToNSStringEncoding(
+      encoding,
+    );
+  }
+
+  late final _CFStringConvertEncodingToNSStringEncodingPtr =
+      _lookup<ffi.NativeFunction<ffi.UnsignedLong Function(CFStringEncoding)>>(
+          'CFStringConvertEncodingToNSStringEncoding');
+  late final _CFStringConvertEncodingToNSStringEncoding =
+      _CFStringConvertEncodingToNSStringEncodingPtr.asFunction<
+          int Function(int)>();
+
+  int CFStringConvertNSStringEncodingToEncoding(
+    int encoding,
+  ) {
+    return _CFStringConvertNSStringEncodingToEncoding(
+      encoding,
+    );
+  }
+
+  late final _CFStringConvertNSStringEncodingToEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringEncoding Function(ffi.UnsignedLong)>>(
+          'CFStringConvertNSStringEncodingToEncoding');
+  late final _CFStringConvertNSStringEncodingToEncoding =
+      _CFStringConvertNSStringEncodingToEncodingPtr.asFunction<
+          int Function(int)>();
+
+  int CFStringConvertEncodingToWindowsCodepage(
+    int encoding,
+  ) {
+    return _CFStringConvertEncodingToWindowsCodepage(
+      encoding,
+    );
+  }
+
+  late final _CFStringConvertEncodingToWindowsCodepagePtr =
+      _lookup<ffi.NativeFunction<UInt32 Function(CFStringEncoding)>>(
+          'CFStringConvertEncodingToWindowsCodepage');
+  late final _CFStringConvertEncodingToWindowsCodepage =
+      _CFStringConvertEncodingToWindowsCodepagePtr.asFunction<
+          int Function(int)>();
+
+  int CFStringConvertWindowsCodepageToEncoding(
+    int codepage,
+  ) {
+    return _CFStringConvertWindowsCodepageToEncoding(
+      codepage,
+    );
+  }
+
+  late final _CFStringConvertWindowsCodepageToEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringEncoding Function(UInt32)>>(
+          'CFStringConvertWindowsCodepageToEncoding');
+  late final _CFStringConvertWindowsCodepageToEncoding =
+      _CFStringConvertWindowsCodepageToEncodingPtr.asFunction<
+          int Function(int)>();
+
+  int CFStringConvertIANACharSetNameToEncoding(
+    CFStringRef theString,
+  ) {
+    return _CFStringConvertIANACharSetNameToEncoding(
+      theString,
+    );
+  }
+
+  late final _CFStringConvertIANACharSetNameToEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringEncoding Function(CFStringRef)>>(
+          'CFStringConvertIANACharSetNameToEncoding');
+  late final _CFStringConvertIANACharSetNameToEncoding =
+      _CFStringConvertIANACharSetNameToEncodingPtr.asFunction<
+          int Function(CFStringRef)>();
+
+  CFStringRef CFStringConvertEncodingToIANACharSetName(
+    int encoding,
+  ) {
+    return _CFStringConvertEncodingToIANACharSetName(
+      encoding,
+    );
+  }
+
+  late final _CFStringConvertEncodingToIANACharSetNamePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFStringEncoding)>>(
+          'CFStringConvertEncodingToIANACharSetName');
+  late final _CFStringConvertEncodingToIANACharSetName =
+      _CFStringConvertEncodingToIANACharSetNamePtr.asFunction<
+          CFStringRef Function(int)>();
+
+  int CFStringGetMostCompatibleMacStringEncoding(
+    int encoding,
+  ) {
+    return _CFStringGetMostCompatibleMacStringEncoding(
+      encoding,
+    );
+  }
+
+  late final _CFStringGetMostCompatibleMacStringEncodingPtr =
+      _lookup<ffi.NativeFunction<CFStringEncoding Function(CFStringEncoding)>>(
+          'CFStringGetMostCompatibleMacStringEncoding');
+  late final _CFStringGetMostCompatibleMacStringEncoding =
+      _CFStringGetMostCompatibleMacStringEncodingPtr.asFunction<
+          int Function(int)>();
+
+  void CFShow(
+    CFTypeRef obj,
+  ) {
+    return _CFShow(
+      obj,
+    );
+  }
+
+  late final _CFShowPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTypeRef)>>('CFShow');
+  late final _CFShow = _CFShowPtr.asFunction<void Function(CFTypeRef)>();
+
+  void CFShowStr(
+    CFStringRef str,
+  ) {
+    return _CFShowStr(
+      str,
+    );
+  }
+
+  late final _CFShowStrPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFStringRef)>>('CFShowStr');
+  late final _CFShowStr =
+      _CFShowStrPtr.asFunction<void Function(CFStringRef)>();
+
+  CFStringRef __CFStringMakeConstantString(
+    ffi.Pointer<ffi.Char> cStr,
+  ) {
+    return ___CFStringMakeConstantString(
+      cStr,
+    );
+  }
+
+  late final ___CFStringMakeConstantStringPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Char>)>>(
+          '__CFStringMakeConstantString');
+  late final ___CFStringMakeConstantString = ___CFStringMakeConstantStringPtr
+      .asFunction<CFStringRef Function(ffi.Pointer<ffi.Char>)>();
+
+  int CFTimeZoneGetTypeID() {
+    return _CFTimeZoneGetTypeID();
+  }
+
+  late final _CFTimeZoneGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFTimeZoneGetTypeID');
+  late final _CFTimeZoneGetTypeID =
+      _CFTimeZoneGetTypeIDPtr.asFunction<int Function()>();
+
+  CFTimeZoneRef CFTimeZoneCopySystem() {
+    return _CFTimeZoneCopySystem();
+  }
+
+  late final _CFTimeZoneCopySystemPtr =
+      _lookup<ffi.NativeFunction<CFTimeZoneRef Function()>>(
+          'CFTimeZoneCopySystem');
+  late final _CFTimeZoneCopySystem =
+      _CFTimeZoneCopySystemPtr.asFunction<CFTimeZoneRef Function()>();
+
+  void CFTimeZoneResetSystem() {
+    return _CFTimeZoneResetSystem();
+  }
+
+  late final _CFTimeZoneResetSystemPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('CFTimeZoneResetSystem');
+  late final _CFTimeZoneResetSystem =
+      _CFTimeZoneResetSystemPtr.asFunction<void Function()>();
+
+  CFTimeZoneRef CFTimeZoneCopyDefault() {
+    return _CFTimeZoneCopyDefault();
+  }
+
+  late final _CFTimeZoneCopyDefaultPtr =
+      _lookup<ffi.NativeFunction<CFTimeZoneRef Function()>>(
+          'CFTimeZoneCopyDefault');
+  late final _CFTimeZoneCopyDefault =
+      _CFTimeZoneCopyDefaultPtr.asFunction<CFTimeZoneRef Function()>();
+
+  void CFTimeZoneSetDefault(
+    CFTimeZoneRef tz,
+  ) {
+    return _CFTimeZoneSetDefault(
+      tz,
+    );
+  }
+
+  late final _CFTimeZoneSetDefaultPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTimeZoneRef)>>(
+          'CFTimeZoneSetDefault');
+  late final _CFTimeZoneSetDefault =
+      _CFTimeZoneSetDefaultPtr.asFunction<void Function(CFTimeZoneRef)>();
+
+  CFArrayRef CFTimeZoneCopyKnownNames() {
+    return _CFTimeZoneCopyKnownNames();
+  }
+
+  late final _CFTimeZoneCopyKnownNamesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFTimeZoneCopyKnownNames');
+  late final _CFTimeZoneCopyKnownNames =
+      _CFTimeZoneCopyKnownNamesPtr.asFunction<CFArrayRef Function()>();
+
+  CFDictionaryRef CFTimeZoneCopyAbbreviationDictionary() {
+    return _CFTimeZoneCopyAbbreviationDictionary();
+  }
+
+  late final _CFTimeZoneCopyAbbreviationDictionaryPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function()>>(
+          'CFTimeZoneCopyAbbreviationDictionary');
+  late final _CFTimeZoneCopyAbbreviationDictionary =
+      _CFTimeZoneCopyAbbreviationDictionaryPtr.asFunction<
+          CFDictionaryRef Function()>();
+
+  void CFTimeZoneSetAbbreviationDictionary(
+    CFDictionaryRef dict,
+  ) {
+    return _CFTimeZoneSetAbbreviationDictionary(
+      dict,
+    );
+  }
+
+  late final _CFTimeZoneSetAbbreviationDictionaryPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFDictionaryRef)>>(
+          'CFTimeZoneSetAbbreviationDictionary');
+  late final _CFTimeZoneSetAbbreviationDictionary =
+      _CFTimeZoneSetAbbreviationDictionaryPtr.asFunction<
+          void Function(CFDictionaryRef)>();
+
+  CFTimeZoneRef CFTimeZoneCreate(
+    CFAllocatorRef allocator,
+    CFStringRef name,
+    CFDataRef data,
+  ) {
+    return _CFTimeZoneCreate(
+      allocator,
+      name,
+      data,
+    );
+  }
+
+  late final _CFTimeZoneCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFTimeZoneRef Function(
+              CFAllocatorRef, CFStringRef, CFDataRef)>>('CFTimeZoneCreate');
+  late final _CFTimeZoneCreate = _CFTimeZoneCreatePtr.asFunction<
+      CFTimeZoneRef Function(CFAllocatorRef, CFStringRef, CFDataRef)>();
+
+  CFTimeZoneRef CFTimeZoneCreateWithTimeIntervalFromGMT(
+    CFAllocatorRef allocator,
+    double ti,
+  ) {
+    return _CFTimeZoneCreateWithTimeIntervalFromGMT(
+      allocator,
+      ti,
+    );
+  }
+
+  late final _CFTimeZoneCreateWithTimeIntervalFromGMTPtr = _lookup<
+      ffi.NativeFunction<
+          CFTimeZoneRef Function(CFAllocatorRef,
+              CFTimeInterval)>>('CFTimeZoneCreateWithTimeIntervalFromGMT');
+  late final _CFTimeZoneCreateWithTimeIntervalFromGMT =
+      _CFTimeZoneCreateWithTimeIntervalFromGMTPtr.asFunction<
+          CFTimeZoneRef Function(CFAllocatorRef, double)>();
+
+  CFTimeZoneRef CFTimeZoneCreateWithName(
+    CFAllocatorRef allocator,
+    CFStringRef name,
+    int tryAbbrev,
+  ) {
+    return _CFTimeZoneCreateWithName(
+      allocator,
+      name,
+      tryAbbrev,
+    );
+  }
+
+  late final _CFTimeZoneCreateWithNamePtr = _lookup<
+      ffi.NativeFunction<
+          CFTimeZoneRef Function(CFAllocatorRef, CFStringRef,
+              Boolean)>>('CFTimeZoneCreateWithName');
+  late final _CFTimeZoneCreateWithName = _CFTimeZoneCreateWithNamePtr
+      .asFunction<CFTimeZoneRef Function(CFAllocatorRef, CFStringRef, int)>();
+
+  CFStringRef CFTimeZoneGetName(
+    CFTimeZoneRef tz,
+  ) {
+    return _CFTimeZoneGetName(
+      tz,
+    );
+  }
+
+  late final _CFTimeZoneGetNamePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFTimeZoneRef)>>(
+          'CFTimeZoneGetName');
+  late final _CFTimeZoneGetName =
+      _CFTimeZoneGetNamePtr.asFunction<CFStringRef Function(CFTimeZoneRef)>();
+
+  CFDataRef CFTimeZoneGetData(
+    CFTimeZoneRef tz,
+  ) {
+    return _CFTimeZoneGetData(
+      tz,
+    );
+  }
+
+  late final _CFTimeZoneGetDataPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(CFTimeZoneRef)>>(
+          'CFTimeZoneGetData');
+  late final _CFTimeZoneGetData =
+      _CFTimeZoneGetDataPtr.asFunction<CFDataRef Function(CFTimeZoneRef)>();
+
+  double CFTimeZoneGetSecondsFromGMT(
+    CFTimeZoneRef tz,
+    double at,
+  ) {
+    return _CFTimeZoneGetSecondsFromGMT(
+      tz,
+      at,
+    );
+  }
+
+  late final _CFTimeZoneGetSecondsFromGMTPtr = _lookup<
+      ffi.NativeFunction<
+          CFTimeInterval Function(
+              CFTimeZoneRef, CFAbsoluteTime)>>('CFTimeZoneGetSecondsFromGMT');
+  late final _CFTimeZoneGetSecondsFromGMT = _CFTimeZoneGetSecondsFromGMTPtr
+      .asFunction<double Function(CFTimeZoneRef, double)>();
+
+  CFStringRef CFTimeZoneCopyAbbreviation(
+    CFTimeZoneRef tz,
+    double at,
+  ) {
+    return _CFTimeZoneCopyAbbreviation(
+      tz,
+      at,
+    );
+  }
+
+  late final _CFTimeZoneCopyAbbreviationPtr = _lookup<
+          ffi
+          .NativeFunction<CFStringRef Function(CFTimeZoneRef, CFAbsoluteTime)>>(
+      'CFTimeZoneCopyAbbreviation');
+  late final _CFTimeZoneCopyAbbreviation = _CFTimeZoneCopyAbbreviationPtr
+      .asFunction<CFStringRef Function(CFTimeZoneRef, double)>();
+
+  int CFTimeZoneIsDaylightSavingTime(
+    CFTimeZoneRef tz,
+    double at,
+  ) {
+    return _CFTimeZoneIsDaylightSavingTime(
+      tz,
+      at,
+    );
+  }
+
+  late final _CFTimeZoneIsDaylightSavingTimePtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFTimeZoneRef, CFAbsoluteTime)>>(
+      'CFTimeZoneIsDaylightSavingTime');
+  late final _CFTimeZoneIsDaylightSavingTime =
+      _CFTimeZoneIsDaylightSavingTimePtr.asFunction<
+          int Function(CFTimeZoneRef, double)>();
+
+  double CFTimeZoneGetDaylightSavingTimeOffset(
+    CFTimeZoneRef tz,
+    double at,
+  ) {
+    return _CFTimeZoneGetDaylightSavingTimeOffset(
+      tz,
+      at,
+    );
+  }
+
+  late final _CFTimeZoneGetDaylightSavingTimeOffsetPtr = _lookup<
+      ffi.NativeFunction<
+          CFTimeInterval Function(CFTimeZoneRef,
+              CFAbsoluteTime)>>('CFTimeZoneGetDaylightSavingTimeOffset');
+  late final _CFTimeZoneGetDaylightSavingTimeOffset =
+      _CFTimeZoneGetDaylightSavingTimeOffsetPtr.asFunction<
+          double Function(CFTimeZoneRef, double)>();
+
+  double CFTimeZoneGetNextDaylightSavingTimeTransition(
+    CFTimeZoneRef tz,
+    double at,
+  ) {
+    return _CFTimeZoneGetNextDaylightSavingTimeTransition(
+      tz,
+      at,
+    );
+  }
+
+  late final _CFTimeZoneGetNextDaylightSavingTimeTransitionPtr = _lookup<
+          ffi.NativeFunction<
+              CFAbsoluteTime Function(CFTimeZoneRef, CFAbsoluteTime)>>(
+      'CFTimeZoneGetNextDaylightSavingTimeTransition');
+  late final _CFTimeZoneGetNextDaylightSavingTimeTransition =
+      _CFTimeZoneGetNextDaylightSavingTimeTransitionPtr.asFunction<
+          double Function(CFTimeZoneRef, double)>();
+
+  CFStringRef CFTimeZoneCopyLocalizedName(
+    CFTimeZoneRef tz,
+    int style,
+    CFLocaleRef locale,
+  ) {
+    return _CFTimeZoneCopyLocalizedName(
+      tz,
+      style,
+      locale,
+    );
+  }
+
+  late final _CFTimeZoneCopyLocalizedNamePtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFTimeZoneRef, ffi.Int32,
+              CFLocaleRef)>>('CFTimeZoneCopyLocalizedName');
+  late final _CFTimeZoneCopyLocalizedName = _CFTimeZoneCopyLocalizedNamePtr
+      .asFunction<CFStringRef Function(CFTimeZoneRef, int, CFLocaleRef)>();
+
+  late final ffi.Pointer<CFNotificationName>
+      _kCFTimeZoneSystemTimeZoneDidChangeNotification =
+      _lookup<CFNotificationName>(
+          'kCFTimeZoneSystemTimeZoneDidChangeNotification');
+
+  CFNotificationName get kCFTimeZoneSystemTimeZoneDidChangeNotification =>
+      _kCFTimeZoneSystemTimeZoneDidChangeNotification.value;
+
+  set kCFTimeZoneSystemTimeZoneDidChangeNotification(
+          CFNotificationName value) =>
+      _kCFTimeZoneSystemTimeZoneDidChangeNotification.value = value;
+
+  int CFCalendarGetTypeID() {
+    return _CFCalendarGetTypeID();
+  }
+
+  late final _CFCalendarGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFCalendarGetTypeID');
+  late final _CFCalendarGetTypeID =
+      _CFCalendarGetTypeIDPtr.asFunction<int Function()>();
+
+  CFCalendarRef CFCalendarCopyCurrent() {
+    return _CFCalendarCopyCurrent();
+  }
+
+  late final _CFCalendarCopyCurrentPtr =
+      _lookup<ffi.NativeFunction<CFCalendarRef Function()>>(
+          'CFCalendarCopyCurrent');
+  late final _CFCalendarCopyCurrent =
+      _CFCalendarCopyCurrentPtr.asFunction<CFCalendarRef Function()>();
+
+  CFCalendarRef CFCalendarCreateWithIdentifier(
+    CFAllocatorRef allocator,
+    CFCalendarIdentifier identifier,
+  ) {
+    return _CFCalendarCreateWithIdentifier(
+      allocator,
+      identifier,
+    );
+  }
+
+  late final _CFCalendarCreateWithIdentifierPtr = _lookup<
+      ffi.NativeFunction<
+          CFCalendarRef Function(CFAllocatorRef,
+              CFCalendarIdentifier)>>('CFCalendarCreateWithIdentifier');
+  late final _CFCalendarCreateWithIdentifier =
+      _CFCalendarCreateWithIdentifierPtr.asFunction<
+          CFCalendarRef Function(CFAllocatorRef, CFCalendarIdentifier)>();
+
+  CFCalendarIdentifier CFCalendarGetIdentifier(
+    CFCalendarRef calendar,
+  ) {
+    return _CFCalendarGetIdentifier(
+      calendar,
+    );
+  }
+
+  late final _CFCalendarGetIdentifierPtr =
+      _lookup<ffi.NativeFunction<CFCalendarIdentifier Function(CFCalendarRef)>>(
+          'CFCalendarGetIdentifier');
+  late final _CFCalendarGetIdentifier = _CFCalendarGetIdentifierPtr.asFunction<
+      CFCalendarIdentifier Function(CFCalendarRef)>();
+
+  CFLocaleRef CFCalendarCopyLocale(
+    CFCalendarRef calendar,
+  ) {
+    return _CFCalendarCopyLocale(
+      calendar,
+    );
+  }
+
+  late final _CFCalendarCopyLocalePtr =
+      _lookup<ffi.NativeFunction<CFLocaleRef Function(CFCalendarRef)>>(
+          'CFCalendarCopyLocale');
+  late final _CFCalendarCopyLocale = _CFCalendarCopyLocalePtr.asFunction<
+      CFLocaleRef Function(CFCalendarRef)>();
+
+  void CFCalendarSetLocale(
+    CFCalendarRef calendar,
+    CFLocaleRef locale,
+  ) {
+    return _CFCalendarSetLocale(
+      calendar,
+      locale,
+    );
+  }
+
+  late final _CFCalendarSetLocalePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFCalendarRef, CFLocaleRef)>>(
+      'CFCalendarSetLocale');
+  late final _CFCalendarSetLocale = _CFCalendarSetLocalePtr.asFunction<
+      void Function(CFCalendarRef, CFLocaleRef)>();
+
+  CFTimeZoneRef CFCalendarCopyTimeZone(
+    CFCalendarRef calendar,
+  ) {
+    return _CFCalendarCopyTimeZone(
+      calendar,
+    );
+  }
+
+  late final _CFCalendarCopyTimeZonePtr =
+      _lookup<ffi.NativeFunction<CFTimeZoneRef Function(CFCalendarRef)>>(
+          'CFCalendarCopyTimeZone');
+  late final _CFCalendarCopyTimeZone = _CFCalendarCopyTimeZonePtr.asFunction<
+      CFTimeZoneRef Function(CFCalendarRef)>();
+
+  void CFCalendarSetTimeZone(
+    CFCalendarRef calendar,
+    CFTimeZoneRef tz,
+  ) {
+    return _CFCalendarSetTimeZone(
+      calendar,
+      tz,
+    );
+  }
+
+  late final _CFCalendarSetTimeZonePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFCalendarRef, CFTimeZoneRef)>>(
+      'CFCalendarSetTimeZone');
+  late final _CFCalendarSetTimeZone = _CFCalendarSetTimeZonePtr.asFunction<
+      void Function(CFCalendarRef, CFTimeZoneRef)>();
+
+  int CFCalendarGetFirstWeekday(
+    CFCalendarRef calendar,
+  ) {
+    return _CFCalendarGetFirstWeekday(
+      calendar,
+    );
+  }
+
+  late final _CFCalendarGetFirstWeekdayPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFCalendarRef)>>(
+          'CFCalendarGetFirstWeekday');
+  late final _CFCalendarGetFirstWeekday =
+      _CFCalendarGetFirstWeekdayPtr.asFunction<int Function(CFCalendarRef)>();
+
+  void CFCalendarSetFirstWeekday(
+    CFCalendarRef calendar,
+    int wkdy,
+  ) {
+    return _CFCalendarSetFirstWeekday(
+      calendar,
+      wkdy,
+    );
+  }
+
+  late final _CFCalendarSetFirstWeekdayPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFCalendarRef, CFIndex)>>(
+          'CFCalendarSetFirstWeekday');
+  late final _CFCalendarSetFirstWeekday = _CFCalendarSetFirstWeekdayPtr
+      .asFunction<void Function(CFCalendarRef, int)>();
+
+  int CFCalendarGetMinimumDaysInFirstWeek(
+    CFCalendarRef calendar,
+  ) {
+    return _CFCalendarGetMinimumDaysInFirstWeek(
+      calendar,
+    );
+  }
+
+  late final _CFCalendarGetMinimumDaysInFirstWeekPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFCalendarRef)>>(
+          'CFCalendarGetMinimumDaysInFirstWeek');
+  late final _CFCalendarGetMinimumDaysInFirstWeek =
+      _CFCalendarGetMinimumDaysInFirstWeekPtr.asFunction<
+          int Function(CFCalendarRef)>();
+
+  void CFCalendarSetMinimumDaysInFirstWeek(
+    CFCalendarRef calendar,
+    int mwd,
+  ) {
+    return _CFCalendarSetMinimumDaysInFirstWeek(
+      calendar,
+      mwd,
+    );
+  }
+
+  late final _CFCalendarSetMinimumDaysInFirstWeekPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFCalendarRef, CFIndex)>>(
+          'CFCalendarSetMinimumDaysInFirstWeek');
+  late final _CFCalendarSetMinimumDaysInFirstWeek =
+      _CFCalendarSetMinimumDaysInFirstWeekPtr.asFunction<
+          void Function(CFCalendarRef, int)>();
+
+  CFRange CFCalendarGetMinimumRangeOfUnit(
+    CFCalendarRef calendar,
+    int unit,
+  ) {
+    return _CFCalendarGetMinimumRangeOfUnit(
+      calendar,
+      unit,
+    );
+  }
+
+  late final _CFCalendarGetMinimumRangeOfUnitPtr =
+      _lookup<ffi.NativeFunction<CFRange Function(CFCalendarRef, ffi.Int32)>>(
+          'CFCalendarGetMinimumRangeOfUnit');
+  late final _CFCalendarGetMinimumRangeOfUnit =
+      _CFCalendarGetMinimumRangeOfUnitPtr.asFunction<
+          CFRange Function(CFCalendarRef, int)>();
+
+  CFRange CFCalendarGetMaximumRangeOfUnit(
+    CFCalendarRef calendar,
+    int unit,
+  ) {
+    return _CFCalendarGetMaximumRangeOfUnit(
+      calendar,
+      unit,
+    );
+  }
+
+  late final _CFCalendarGetMaximumRangeOfUnitPtr =
+      _lookup<ffi.NativeFunction<CFRange Function(CFCalendarRef, ffi.Int32)>>(
+          'CFCalendarGetMaximumRangeOfUnit');
+  late final _CFCalendarGetMaximumRangeOfUnit =
+      _CFCalendarGetMaximumRangeOfUnitPtr.asFunction<
+          CFRange Function(CFCalendarRef, int)>();
+
+  CFRange CFCalendarGetRangeOfUnit(
+    CFCalendarRef calendar,
+    int smallerUnit,
+    int biggerUnit,
+    double at,
+  ) {
+    return _CFCalendarGetRangeOfUnit(
+      calendar,
+      smallerUnit,
+      biggerUnit,
+      at,
+    );
+  }
+
+  late final _CFCalendarGetRangeOfUnitPtr = _lookup<
+      ffi.NativeFunction<
+          CFRange Function(CFCalendarRef, ffi.Int32, ffi.Int32,
+              CFAbsoluteTime)>>('CFCalendarGetRangeOfUnit');
+  late final _CFCalendarGetRangeOfUnit = _CFCalendarGetRangeOfUnitPtr
+      .asFunction<CFRange Function(CFCalendarRef, int, int, double)>();
+
+  int CFCalendarGetOrdinalityOfUnit(
+    CFCalendarRef calendar,
+    int smallerUnit,
+    int biggerUnit,
+    double at,
+  ) {
+    return _CFCalendarGetOrdinalityOfUnit(
+      calendar,
+      smallerUnit,
+      biggerUnit,
+      at,
+    );
+  }
+
+  late final _CFCalendarGetOrdinalityOfUnitPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFCalendarRef, ffi.Int32, ffi.Int32,
+              CFAbsoluteTime)>>('CFCalendarGetOrdinalityOfUnit');
+  late final _CFCalendarGetOrdinalityOfUnit = _CFCalendarGetOrdinalityOfUnitPtr
+      .asFunction<int Function(CFCalendarRef, int, int, double)>();
+
+  int CFCalendarGetTimeRangeOfUnit(
+    CFCalendarRef calendar,
+    int unit,
+    double at,
+    ffi.Pointer<CFAbsoluteTime> startp,
+    ffi.Pointer<CFTimeInterval> tip,
+  ) {
+    return _CFCalendarGetTimeRangeOfUnit(
+      calendar,
+      unit,
+      at,
+      startp,
+      tip,
+    );
+  }
+
+  late final _CFCalendarGetTimeRangeOfUnitPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFCalendarRef,
+              ffi.Int32,
+              CFAbsoluteTime,
+              ffi.Pointer<CFAbsoluteTime>,
+              ffi.Pointer<CFTimeInterval>)>>('CFCalendarGetTimeRangeOfUnit');
+  late final _CFCalendarGetTimeRangeOfUnit =
+      _CFCalendarGetTimeRangeOfUnitPtr.asFunction<
+          int Function(CFCalendarRef, int, double, ffi.Pointer<CFAbsoluteTime>,
+              ffi.Pointer<CFTimeInterval>)>();
+
+  int CFCalendarComposeAbsoluteTime(
+    CFCalendarRef calendar,
+    ffi.Pointer<CFAbsoluteTime> at,
+    ffi.Pointer<ffi.Char> componentDesc,
+  ) {
+    return _CFCalendarComposeAbsoluteTime(
+      calendar,
+      at,
+      componentDesc,
+    );
+  }
+
+  late final _CFCalendarComposeAbsoluteTimePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFCalendarRef, ffi.Pointer<CFAbsoluteTime>,
+              ffi.Pointer<ffi.Char>)>>('CFCalendarComposeAbsoluteTime');
+  late final _CFCalendarComposeAbsoluteTime =
+      _CFCalendarComposeAbsoluteTimePtr.asFunction<
+          int Function(CFCalendarRef, ffi.Pointer<CFAbsoluteTime>,
+              ffi.Pointer<ffi.Char>)>();
+
+  int CFCalendarDecomposeAbsoluteTime(
+    CFCalendarRef calendar,
+    double at,
+    ffi.Pointer<ffi.Char> componentDesc,
+  ) {
+    return _CFCalendarDecomposeAbsoluteTime(
+      calendar,
+      at,
+      componentDesc,
+    );
+  }
+
+  late final _CFCalendarDecomposeAbsoluteTimePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFCalendarRef, CFAbsoluteTime,
+              ffi.Pointer<ffi.Char>)>>('CFCalendarDecomposeAbsoluteTime');
+  late final _CFCalendarDecomposeAbsoluteTime =
+      _CFCalendarDecomposeAbsoluteTimePtr.asFunction<
+          int Function(CFCalendarRef, double, ffi.Pointer<ffi.Char>)>();
+
+  int CFCalendarAddComponents(
+    CFCalendarRef calendar,
+    ffi.Pointer<CFAbsoluteTime> at,
+    int options,
+    ffi.Pointer<ffi.Char> componentDesc,
+  ) {
+    return _CFCalendarAddComponents(
+      calendar,
+      at,
+      options,
+      componentDesc,
+    );
+  }
+
+  late final _CFCalendarAddComponentsPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFCalendarRef,
+              ffi.Pointer<CFAbsoluteTime>,
+              CFOptionFlags,
+              ffi.Pointer<ffi.Char>)>>('CFCalendarAddComponents');
+  late final _CFCalendarAddComponents = _CFCalendarAddComponentsPtr.asFunction<
+      int Function(CFCalendarRef, ffi.Pointer<CFAbsoluteTime>, int,
+          ffi.Pointer<ffi.Char>)>();
+
+  int CFCalendarGetComponentDifference(
+    CFCalendarRef calendar,
+    double startingAT,
+    double resultAT,
+    int options,
+    ffi.Pointer<ffi.Char> componentDesc,
+  ) {
+    return _CFCalendarGetComponentDifference(
+      calendar,
+      startingAT,
+      resultAT,
+      options,
+      componentDesc,
+    );
+  }
+
+  late final _CFCalendarGetComponentDifferencePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFCalendarRef,
+              CFAbsoluteTime,
+              CFAbsoluteTime,
+              CFOptionFlags,
+              ffi.Pointer<ffi.Char>)>>('CFCalendarGetComponentDifference');
+  late final _CFCalendarGetComponentDifference =
+      _CFCalendarGetComponentDifferencePtr.asFunction<
+          int Function(
+              CFCalendarRef, double, double, int, ffi.Pointer<ffi.Char>)>();
+
+  CFStringRef CFDateFormatterCreateDateFormatFromTemplate(
+    CFAllocatorRef allocator,
+    CFStringRef tmplate,
+    int options,
+    CFLocaleRef locale,
+  ) {
+    return _CFDateFormatterCreateDateFormatFromTemplate(
+      allocator,
+      tmplate,
+      options,
+      locale,
+    );
+  }
+
+  late final _CFDateFormatterCreateDateFormatFromTemplatePtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFStringRef, CFOptionFlags,
+              CFLocaleRef)>>('CFDateFormatterCreateDateFormatFromTemplate');
+  late final _CFDateFormatterCreateDateFormatFromTemplate =
+      _CFDateFormatterCreateDateFormatFromTemplatePtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, CFStringRef, int, CFLocaleRef)>();
+
+  int CFDateFormatterGetTypeID() {
+    return _CFDateFormatterGetTypeID();
+  }
+
+  late final _CFDateFormatterGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFDateFormatterGetTypeID');
+  late final _CFDateFormatterGetTypeID =
+      _CFDateFormatterGetTypeIDPtr.asFunction<int Function()>();
+
+  CFDateFormatterRef CFDateFormatterCreateISO8601Formatter(
+    CFAllocatorRef allocator,
+    int formatOptions,
+  ) {
+    return _CFDateFormatterCreateISO8601Formatter(
+      allocator,
+      formatOptions,
+    );
+  }
+
+  late final _CFDateFormatterCreateISO8601FormatterPtr = _lookup<
+      ffi.NativeFunction<
+          CFDateFormatterRef Function(CFAllocatorRef,
+              ffi.Int32)>>('CFDateFormatterCreateISO8601Formatter');
+  late final _CFDateFormatterCreateISO8601Formatter =
+      _CFDateFormatterCreateISO8601FormatterPtr.asFunction<
+          CFDateFormatterRef Function(CFAllocatorRef, int)>();
+
+  CFDateFormatterRef CFDateFormatterCreate(
+    CFAllocatorRef allocator,
+    CFLocaleRef locale,
+    int dateStyle,
+    int timeStyle,
+  ) {
+    return _CFDateFormatterCreate(
+      allocator,
+      locale,
+      dateStyle,
+      timeStyle,
+    );
+  }
+
+  late final _CFDateFormatterCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFDateFormatterRef Function(CFAllocatorRef, CFLocaleRef, ffi.Int32,
+              ffi.Int32)>>('CFDateFormatterCreate');
+  late final _CFDateFormatterCreate = _CFDateFormatterCreatePtr.asFunction<
+      CFDateFormatterRef Function(CFAllocatorRef, CFLocaleRef, int, int)>();
+
+  CFLocaleRef CFDateFormatterGetLocale(
+    CFDateFormatterRef formatter,
+  ) {
+    return _CFDateFormatterGetLocale(
+      formatter,
+    );
+  }
+
+  late final _CFDateFormatterGetLocalePtr =
+      _lookup<ffi.NativeFunction<CFLocaleRef Function(CFDateFormatterRef)>>(
+          'CFDateFormatterGetLocale');
+  late final _CFDateFormatterGetLocale = _CFDateFormatterGetLocalePtr
+      .asFunction<CFLocaleRef Function(CFDateFormatterRef)>();
+
+  int CFDateFormatterGetDateStyle(
+    CFDateFormatterRef formatter,
+  ) {
+    return _CFDateFormatterGetDateStyle(
+      formatter,
+    );
+  }
+
+  late final _CFDateFormatterGetDateStylePtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFDateFormatterRef)>>(
+          'CFDateFormatterGetDateStyle');
+  late final _CFDateFormatterGetDateStyle = _CFDateFormatterGetDateStylePtr
+      .asFunction<int Function(CFDateFormatterRef)>();
+
+  int CFDateFormatterGetTimeStyle(
+    CFDateFormatterRef formatter,
+  ) {
+    return _CFDateFormatterGetTimeStyle(
+      formatter,
+    );
+  }
+
+  late final _CFDateFormatterGetTimeStylePtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFDateFormatterRef)>>(
+          'CFDateFormatterGetTimeStyle');
+  late final _CFDateFormatterGetTimeStyle = _CFDateFormatterGetTimeStylePtr
+      .asFunction<int Function(CFDateFormatterRef)>();
+
+  CFStringRef CFDateFormatterGetFormat(
+    CFDateFormatterRef formatter,
+  ) {
+    return _CFDateFormatterGetFormat(
+      formatter,
+    );
+  }
+
+  late final _CFDateFormatterGetFormatPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFDateFormatterRef)>>(
+          'CFDateFormatterGetFormat');
+  late final _CFDateFormatterGetFormat = _CFDateFormatterGetFormatPtr
+      .asFunction<CFStringRef Function(CFDateFormatterRef)>();
+
+  void CFDateFormatterSetFormat(
+    CFDateFormatterRef formatter,
+    CFStringRef formatString,
+  ) {
+    return _CFDateFormatterSetFormat(
+      formatter,
+      formatString,
+    );
+  }
+
+  late final _CFDateFormatterSetFormatPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFDateFormatterRef, CFStringRef)>>(
+      'CFDateFormatterSetFormat');
+  late final _CFDateFormatterSetFormat = _CFDateFormatterSetFormatPtr
+      .asFunction<void Function(CFDateFormatterRef, CFStringRef)>();
+
+  CFStringRef CFDateFormatterCreateStringWithDate(
+    CFAllocatorRef allocator,
+    CFDateFormatterRef formatter,
+    CFDateRef date,
+  ) {
+    return _CFDateFormatterCreateStringWithDate(
+      allocator,
+      formatter,
+      date,
+    );
+  }
+
+  late final _CFDateFormatterCreateStringWithDatePtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFDateFormatterRef,
+              CFDateRef)>>('CFDateFormatterCreateStringWithDate');
+  late final _CFDateFormatterCreateStringWithDate =
+      _CFDateFormatterCreateStringWithDatePtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, CFDateFormatterRef, CFDateRef)>();
+
+  CFStringRef CFDateFormatterCreateStringWithAbsoluteTime(
+    CFAllocatorRef allocator,
+    CFDateFormatterRef formatter,
+    double at,
+  ) {
+    return _CFDateFormatterCreateStringWithAbsoluteTime(
+      allocator,
+      formatter,
+      at,
+    );
+  }
+
+  late final _CFDateFormatterCreateStringWithAbsoluteTimePtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFDateFormatterRef,
+              CFAbsoluteTime)>>('CFDateFormatterCreateStringWithAbsoluteTime');
+  late final _CFDateFormatterCreateStringWithAbsoluteTime =
+      _CFDateFormatterCreateStringWithAbsoluteTimePtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFDateFormatterRef, double)>();
+
+  CFDateRef CFDateFormatterCreateDateFromString(
+    CFAllocatorRef allocator,
+    CFDateFormatterRef formatter,
+    CFStringRef string,
+    ffi.Pointer<CFRange> rangep,
+  ) {
+    return _CFDateFormatterCreateDateFromString(
+      allocator,
+      formatter,
+      string,
+      rangep,
+    );
+  }
+
+  late final _CFDateFormatterCreateDateFromStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFDateRef Function(CFAllocatorRef, CFDateFormatterRef, CFStringRef,
+              ffi.Pointer<CFRange>)>>('CFDateFormatterCreateDateFromString');
+  late final _CFDateFormatterCreateDateFromString =
+      _CFDateFormatterCreateDateFromStringPtr.asFunction<
+          CFDateRef Function(CFAllocatorRef, CFDateFormatterRef, CFStringRef,
+              ffi.Pointer<CFRange>)>();
+
+  int CFDateFormatterGetAbsoluteTimeFromString(
+    CFDateFormatterRef formatter,
+    CFStringRef string,
+    ffi.Pointer<CFRange> rangep,
+    ffi.Pointer<CFAbsoluteTime> atp,
+  ) {
+    return _CFDateFormatterGetAbsoluteTimeFromString(
+      formatter,
+      string,
+      rangep,
+      atp,
+    );
+  }
+
+  late final _CFDateFormatterGetAbsoluteTimeFromStringPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFDateFormatterRef, CFStringRef,
+                  ffi.Pointer<CFRange>, ffi.Pointer<CFAbsoluteTime>)>>(
+      'CFDateFormatterGetAbsoluteTimeFromString');
+  late final _CFDateFormatterGetAbsoluteTimeFromString =
+      _CFDateFormatterGetAbsoluteTimeFromStringPtr.asFunction<
+          int Function(CFDateFormatterRef, CFStringRef, ffi.Pointer<CFRange>,
+              ffi.Pointer<CFAbsoluteTime>)>();
+
+  void CFDateFormatterSetProperty(
+    CFDateFormatterRef formatter,
+    CFStringRef key,
+    CFTypeRef value,
+  ) {
+    return _CFDateFormatterSetProperty(
+      formatter,
+      key,
+      value,
+    );
+  }
+
+  late final _CFDateFormatterSetPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFDateFormatterRef, CFStringRef,
+              CFTypeRef)>>('CFDateFormatterSetProperty');
+  late final _CFDateFormatterSetProperty = _CFDateFormatterSetPropertyPtr
+      .asFunction<void Function(CFDateFormatterRef, CFStringRef, CFTypeRef)>();
+
+  CFTypeRef CFDateFormatterCopyProperty(
+    CFDateFormatterRef formatter,
+    CFDateFormatterKey key,
+  ) {
+    return _CFDateFormatterCopyProperty(
+      formatter,
+      key,
+    );
+  }
+
+  late final _CFDateFormatterCopyPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFDateFormatterRef,
+              CFDateFormatterKey)>>('CFDateFormatterCopyProperty');
+  late final _CFDateFormatterCopyProperty = _CFDateFormatterCopyPropertyPtr
+      .asFunction<CFTypeRef Function(CFDateFormatterRef, CFDateFormatterKey)>();
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterIsLenient =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterIsLenient');
+
+  CFDateFormatterKey get kCFDateFormatterIsLenient =>
+      _kCFDateFormatterIsLenient.value;
+
+  set kCFDateFormatterIsLenient(CFDateFormatterKey value) =>
+      _kCFDateFormatterIsLenient.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterTimeZone =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterTimeZone');
+
+  CFDateFormatterKey get kCFDateFormatterTimeZone =>
+      _kCFDateFormatterTimeZone.value;
+
+  set kCFDateFormatterTimeZone(CFDateFormatterKey value) =>
+      _kCFDateFormatterTimeZone.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterCalendarName =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterCalendarName');
+
+  CFDateFormatterKey get kCFDateFormatterCalendarName =>
+      _kCFDateFormatterCalendarName.value;
+
+  set kCFDateFormatterCalendarName(CFDateFormatterKey value) =>
+      _kCFDateFormatterCalendarName.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterDefaultFormat =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterDefaultFormat');
+
+  CFDateFormatterKey get kCFDateFormatterDefaultFormat =>
+      _kCFDateFormatterDefaultFormat.value;
+
+  set kCFDateFormatterDefaultFormat(CFDateFormatterKey value) =>
+      _kCFDateFormatterDefaultFormat.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterTwoDigitStartDate =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterTwoDigitStartDate');
+
+  CFDateFormatterKey get kCFDateFormatterTwoDigitStartDate =>
+      _kCFDateFormatterTwoDigitStartDate.value;
+
+  set kCFDateFormatterTwoDigitStartDate(CFDateFormatterKey value) =>
+      _kCFDateFormatterTwoDigitStartDate.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterDefaultDate =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterDefaultDate');
+
+  CFDateFormatterKey get kCFDateFormatterDefaultDate =>
+      _kCFDateFormatterDefaultDate.value;
+
+  set kCFDateFormatterDefaultDate(CFDateFormatterKey value) =>
+      _kCFDateFormatterDefaultDate.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterCalendar =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterCalendar');
+
+  CFDateFormatterKey get kCFDateFormatterCalendar =>
+      _kCFDateFormatterCalendar.value;
+
+  set kCFDateFormatterCalendar(CFDateFormatterKey value) =>
+      _kCFDateFormatterCalendar.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterEraSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterEraSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterEraSymbols =>
+      _kCFDateFormatterEraSymbols.value;
+
+  set kCFDateFormatterEraSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterEraSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterMonthSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterMonthSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterMonthSymbols =>
+      _kCFDateFormatterMonthSymbols.value;
+
+  set kCFDateFormatterMonthSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterMonthSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterShortMonthSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterShortMonthSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterShortMonthSymbols =>
+      _kCFDateFormatterShortMonthSymbols.value;
+
+  set kCFDateFormatterShortMonthSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterShortMonthSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterWeekdaySymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterWeekdaySymbols');
+
+  CFDateFormatterKey get kCFDateFormatterWeekdaySymbols =>
+      _kCFDateFormatterWeekdaySymbols.value;
+
+  set kCFDateFormatterWeekdaySymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterWeekdaySymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterShortWeekdaySymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterShortWeekdaySymbols');
+
+  CFDateFormatterKey get kCFDateFormatterShortWeekdaySymbols =>
+      _kCFDateFormatterShortWeekdaySymbols.value;
+
+  set kCFDateFormatterShortWeekdaySymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterShortWeekdaySymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterAMSymbol =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterAMSymbol');
+
+  CFDateFormatterKey get kCFDateFormatterAMSymbol =>
+      _kCFDateFormatterAMSymbol.value;
+
+  set kCFDateFormatterAMSymbol(CFDateFormatterKey value) =>
+      _kCFDateFormatterAMSymbol.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterPMSymbol =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterPMSymbol');
+
+  CFDateFormatterKey get kCFDateFormatterPMSymbol =>
+      _kCFDateFormatterPMSymbol.value;
+
+  set kCFDateFormatterPMSymbol(CFDateFormatterKey value) =>
+      _kCFDateFormatterPMSymbol.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterLongEraSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterLongEraSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterLongEraSymbols =>
+      _kCFDateFormatterLongEraSymbols.value;
+
+  set kCFDateFormatterLongEraSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterLongEraSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterVeryShortMonthSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterVeryShortMonthSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterVeryShortMonthSymbols =>
+      _kCFDateFormatterVeryShortMonthSymbols.value;
+
+  set kCFDateFormatterVeryShortMonthSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterVeryShortMonthSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterStandaloneMonthSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterStandaloneMonthSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterStandaloneMonthSymbols =>
+      _kCFDateFormatterStandaloneMonthSymbols.value;
+
+  set kCFDateFormatterStandaloneMonthSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterStandaloneMonthSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterShortStandaloneMonthSymbols =
+      _lookup<CFDateFormatterKey>(
+          'kCFDateFormatterShortStandaloneMonthSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterShortStandaloneMonthSymbols =>
+      _kCFDateFormatterShortStandaloneMonthSymbols.value;
+
+  set kCFDateFormatterShortStandaloneMonthSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterShortStandaloneMonthSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterVeryShortStandaloneMonthSymbols =
+      _lookup<CFDateFormatterKey>(
+          'kCFDateFormatterVeryShortStandaloneMonthSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterVeryShortStandaloneMonthSymbols =>
+      _kCFDateFormatterVeryShortStandaloneMonthSymbols.value;
+
+  set kCFDateFormatterVeryShortStandaloneMonthSymbols(
+          CFDateFormatterKey value) =>
+      _kCFDateFormatterVeryShortStandaloneMonthSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterVeryShortWeekdaySymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterVeryShortWeekdaySymbols');
+
+  CFDateFormatterKey get kCFDateFormatterVeryShortWeekdaySymbols =>
+      _kCFDateFormatterVeryShortWeekdaySymbols.value;
+
+  set kCFDateFormatterVeryShortWeekdaySymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterVeryShortWeekdaySymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterStandaloneWeekdaySymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterStandaloneWeekdaySymbols');
+
+  CFDateFormatterKey get kCFDateFormatterStandaloneWeekdaySymbols =>
+      _kCFDateFormatterStandaloneWeekdaySymbols.value;
+
+  set kCFDateFormatterStandaloneWeekdaySymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterStandaloneWeekdaySymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterShortStandaloneWeekdaySymbols =
+      _lookup<CFDateFormatterKey>(
+          'kCFDateFormatterShortStandaloneWeekdaySymbols');
+
+  CFDateFormatterKey get kCFDateFormatterShortStandaloneWeekdaySymbols =>
+      _kCFDateFormatterShortStandaloneWeekdaySymbols.value;
+
+  set kCFDateFormatterShortStandaloneWeekdaySymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterShortStandaloneWeekdaySymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterVeryShortStandaloneWeekdaySymbols =
+      _lookup<CFDateFormatterKey>(
+          'kCFDateFormatterVeryShortStandaloneWeekdaySymbols');
+
+  CFDateFormatterKey get kCFDateFormatterVeryShortStandaloneWeekdaySymbols =>
+      _kCFDateFormatterVeryShortStandaloneWeekdaySymbols.value;
+
+  set kCFDateFormatterVeryShortStandaloneWeekdaySymbols(
+          CFDateFormatterKey value) =>
+      _kCFDateFormatterVeryShortStandaloneWeekdaySymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey> _kCFDateFormatterQuarterSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterQuarterSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterQuarterSymbols =>
+      _kCFDateFormatterQuarterSymbols.value;
+
+  set kCFDateFormatterQuarterSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterQuarterSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterShortQuarterSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterShortQuarterSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterShortQuarterSymbols =>
+      _kCFDateFormatterShortQuarterSymbols.value;
+
+  set kCFDateFormatterShortQuarterSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterShortQuarterSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterStandaloneQuarterSymbols =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterStandaloneQuarterSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterStandaloneQuarterSymbols =>
+      _kCFDateFormatterStandaloneQuarterSymbols.value;
+
+  set kCFDateFormatterStandaloneQuarterSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterStandaloneQuarterSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterShortStandaloneQuarterSymbols =
+      _lookup<CFDateFormatterKey>(
+          'kCFDateFormatterShortStandaloneQuarterSymbols');
+
+  CFDateFormatterKey get kCFDateFormatterShortStandaloneQuarterSymbols =>
+      _kCFDateFormatterShortStandaloneQuarterSymbols.value;
+
+  set kCFDateFormatterShortStandaloneQuarterSymbols(CFDateFormatterKey value) =>
+      _kCFDateFormatterShortStandaloneQuarterSymbols.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterGregorianStartDate =
+      _lookup<CFDateFormatterKey>('kCFDateFormatterGregorianStartDate');
+
+  CFDateFormatterKey get kCFDateFormatterGregorianStartDate =>
+      _kCFDateFormatterGregorianStartDate.value;
+
+  set kCFDateFormatterGregorianStartDate(CFDateFormatterKey value) =>
+      _kCFDateFormatterGregorianStartDate.value = value;
+
+  late final ffi.Pointer<CFDateFormatterKey>
+      _kCFDateFormatterDoesRelativeDateFormattingKey =
+      _lookup<CFDateFormatterKey>(
+          'kCFDateFormatterDoesRelativeDateFormattingKey');
+
+  CFDateFormatterKey get kCFDateFormatterDoesRelativeDateFormattingKey =>
+      _kCFDateFormatterDoesRelativeDateFormattingKey.value;
+
+  set kCFDateFormatterDoesRelativeDateFormattingKey(CFDateFormatterKey value) =>
+      _kCFDateFormatterDoesRelativeDateFormattingKey.value = value;
+
+  late final ffi.Pointer<CFBooleanRef> _kCFBooleanTrue =
+      _lookup<CFBooleanRef>('kCFBooleanTrue');
+
+  CFBooleanRef get kCFBooleanTrue => _kCFBooleanTrue.value;
+
+  set kCFBooleanTrue(CFBooleanRef value) => _kCFBooleanTrue.value = value;
+
+  late final ffi.Pointer<CFBooleanRef> _kCFBooleanFalse =
+      _lookup<CFBooleanRef>('kCFBooleanFalse');
+
+  CFBooleanRef get kCFBooleanFalse => _kCFBooleanFalse.value;
+
+  set kCFBooleanFalse(CFBooleanRef value) => _kCFBooleanFalse.value = value;
+
+  int CFBooleanGetTypeID() {
+    return _CFBooleanGetTypeID();
+  }
+
+  late final _CFBooleanGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFBooleanGetTypeID');
+  late final _CFBooleanGetTypeID =
+      _CFBooleanGetTypeIDPtr.asFunction<int Function()>();
+
+  int CFBooleanGetValue(
+    CFBooleanRef boolean,
+  ) {
+    return _CFBooleanGetValue(
+      boolean,
+    );
+  }
+
+  late final _CFBooleanGetValuePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFBooleanRef)>>(
+          'CFBooleanGetValue');
+  late final _CFBooleanGetValue =
+      _CFBooleanGetValuePtr.asFunction<int Function(CFBooleanRef)>();
+
+  late final ffi.Pointer<CFNumberRef> _kCFNumberPositiveInfinity =
+      _lookup<CFNumberRef>('kCFNumberPositiveInfinity');
+
+  CFNumberRef get kCFNumberPositiveInfinity => _kCFNumberPositiveInfinity.value;
+
+  set kCFNumberPositiveInfinity(CFNumberRef value) =>
+      _kCFNumberPositiveInfinity.value = value;
+
+  late final ffi.Pointer<CFNumberRef> _kCFNumberNegativeInfinity =
+      _lookup<CFNumberRef>('kCFNumberNegativeInfinity');
+
+  CFNumberRef get kCFNumberNegativeInfinity => _kCFNumberNegativeInfinity.value;
+
+  set kCFNumberNegativeInfinity(CFNumberRef value) =>
+      _kCFNumberNegativeInfinity.value = value;
+
+  late final ffi.Pointer<CFNumberRef> _kCFNumberNaN =
+      _lookup<CFNumberRef>('kCFNumberNaN');
+
+  CFNumberRef get kCFNumberNaN => _kCFNumberNaN.value;
+
+  set kCFNumberNaN(CFNumberRef value) => _kCFNumberNaN.value = value;
+
+  int CFNumberGetTypeID() {
+    return _CFNumberGetTypeID();
+  }
+
+  late final _CFNumberGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFNumberGetTypeID');
+  late final _CFNumberGetTypeID =
+      _CFNumberGetTypeIDPtr.asFunction<int Function()>();
+
+  CFNumberRef CFNumberCreate(
+    CFAllocatorRef allocator,
+    int theType,
+    ffi.Pointer<ffi.Void> valuePtr,
+  ) {
+    return _CFNumberCreate(
+      allocator,
+      theType,
+      valuePtr,
+    );
+  }
+
+  late final _CFNumberCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFNumberRef Function(CFAllocatorRef, ffi.Int32,
+              ffi.Pointer<ffi.Void>)>>('CFNumberCreate');
+  late final _CFNumberCreate = _CFNumberCreatePtr.asFunction<
+      CFNumberRef Function(CFAllocatorRef, int, ffi.Pointer<ffi.Void>)>();
+
+  int CFNumberGetType(
+    CFNumberRef number,
+  ) {
+    return _CFNumberGetType(
+      number,
+    );
+  }
+
+  late final _CFNumberGetTypePtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFNumberRef)>>(
+          'CFNumberGetType');
+  late final _CFNumberGetType =
+      _CFNumberGetTypePtr.asFunction<int Function(CFNumberRef)>();
+
+  int CFNumberGetByteSize(
+    CFNumberRef number,
+  ) {
+    return _CFNumberGetByteSize(
+      number,
+    );
+  }
+
+  late final _CFNumberGetByteSizePtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFNumberRef)>>(
+          'CFNumberGetByteSize');
+  late final _CFNumberGetByteSize =
+      _CFNumberGetByteSizePtr.asFunction<int Function(CFNumberRef)>();
+
+  int CFNumberIsFloatType(
+    CFNumberRef number,
+  ) {
+    return _CFNumberIsFloatType(
+      number,
+    );
+  }
+
+  late final _CFNumberIsFloatTypePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFNumberRef)>>(
+          'CFNumberIsFloatType');
+  late final _CFNumberIsFloatType =
+      _CFNumberIsFloatTypePtr.asFunction<int Function(CFNumberRef)>();
+
+  int CFNumberGetValue(
+    CFNumberRef number,
+    int theType,
+    ffi.Pointer<ffi.Void> valuePtr,
+  ) {
+    return _CFNumberGetValue(
+      number,
+      theType,
+      valuePtr,
+    );
+  }
+
+  late final _CFNumberGetValuePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFNumberRef, ffi.Int32,
+              ffi.Pointer<ffi.Void>)>>('CFNumberGetValue');
+  late final _CFNumberGetValue = _CFNumberGetValuePtr.asFunction<
+      int Function(CFNumberRef, int, ffi.Pointer<ffi.Void>)>();
+
+  int CFNumberCompare(
+    CFNumberRef number,
+    CFNumberRef otherNumber,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFNumberCompare(
+      number,
+      otherNumber,
+      context,
+    );
+  }
+
+  late final _CFNumberComparePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(CFNumberRef, CFNumberRef,
+              ffi.Pointer<ffi.Void>)>>('CFNumberCompare');
+  late final _CFNumberCompare = _CFNumberComparePtr.asFunction<
+      int Function(CFNumberRef, CFNumberRef, ffi.Pointer<ffi.Void>)>();
+
+  int CFNumberFormatterGetTypeID() {
+    return _CFNumberFormatterGetTypeID();
+  }
+
+  late final _CFNumberFormatterGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFNumberFormatterGetTypeID');
+  late final _CFNumberFormatterGetTypeID =
+      _CFNumberFormatterGetTypeIDPtr.asFunction<int Function()>();
+
+  CFNumberFormatterRef CFNumberFormatterCreate(
+    CFAllocatorRef allocator,
+    CFLocaleRef locale,
+    int style,
+  ) {
+    return _CFNumberFormatterCreate(
+      allocator,
+      locale,
+      style,
+    );
+  }
+
+  late final _CFNumberFormatterCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFNumberFormatterRef Function(CFAllocatorRef, CFLocaleRef,
+              ffi.Int32)>>('CFNumberFormatterCreate');
+  late final _CFNumberFormatterCreate = _CFNumberFormatterCreatePtr.asFunction<
+      CFNumberFormatterRef Function(CFAllocatorRef, CFLocaleRef, int)>();
+
+  CFLocaleRef CFNumberFormatterGetLocale(
+    CFNumberFormatterRef formatter,
+  ) {
+    return _CFNumberFormatterGetLocale(
+      formatter,
+    );
+  }
+
+  late final _CFNumberFormatterGetLocalePtr =
+      _lookup<ffi.NativeFunction<CFLocaleRef Function(CFNumberFormatterRef)>>(
+          'CFNumberFormatterGetLocale');
+  late final _CFNumberFormatterGetLocale = _CFNumberFormatterGetLocalePtr
+      .asFunction<CFLocaleRef Function(CFNumberFormatterRef)>();
+
+  int CFNumberFormatterGetStyle(
+    CFNumberFormatterRef formatter,
+  ) {
+    return _CFNumberFormatterGetStyle(
+      formatter,
+    );
+  }
+
+  late final _CFNumberFormatterGetStylePtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFNumberFormatterRef)>>(
+          'CFNumberFormatterGetStyle');
+  late final _CFNumberFormatterGetStyle = _CFNumberFormatterGetStylePtr
+      .asFunction<int Function(CFNumberFormatterRef)>();
+
+  CFStringRef CFNumberFormatterGetFormat(
+    CFNumberFormatterRef formatter,
+  ) {
+    return _CFNumberFormatterGetFormat(
+      formatter,
+    );
+  }
+
+  late final _CFNumberFormatterGetFormatPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFNumberFormatterRef)>>(
+          'CFNumberFormatterGetFormat');
+  late final _CFNumberFormatterGetFormat = _CFNumberFormatterGetFormatPtr
+      .asFunction<CFStringRef Function(CFNumberFormatterRef)>();
+
+  void CFNumberFormatterSetFormat(
+    CFNumberFormatterRef formatter,
+    CFStringRef formatString,
+  ) {
+    return _CFNumberFormatterSetFormat(
+      formatter,
+      formatString,
+    );
+  }
+
+  late final _CFNumberFormatterSetFormatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNumberFormatterRef,
+              CFStringRef)>>('CFNumberFormatterSetFormat');
+  late final _CFNumberFormatterSetFormat = _CFNumberFormatterSetFormatPtr
+      .asFunction<void Function(CFNumberFormatterRef, CFStringRef)>();
+
+  CFStringRef CFNumberFormatterCreateStringWithNumber(
+    CFAllocatorRef allocator,
+    CFNumberFormatterRef formatter,
+    CFNumberRef number,
+  ) {
+    return _CFNumberFormatterCreateStringWithNumber(
+      allocator,
+      formatter,
+      number,
+    );
+  }
+
+  late final _CFNumberFormatterCreateStringWithNumberPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFNumberFormatterRef,
+              CFNumberRef)>>('CFNumberFormatterCreateStringWithNumber');
+  late final _CFNumberFormatterCreateStringWithNumber =
+      _CFNumberFormatterCreateStringWithNumberPtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, CFNumberFormatterRef, CFNumberRef)>();
+
+  CFStringRef CFNumberFormatterCreateStringWithValue(
+    CFAllocatorRef allocator,
+    CFNumberFormatterRef formatter,
+    int numberType,
+    ffi.Pointer<ffi.Void> valuePtr,
+  ) {
+    return _CFNumberFormatterCreateStringWithValue(
+      allocator,
+      formatter,
+      numberType,
+      valuePtr,
+    );
+  }
+
+  late final _CFNumberFormatterCreateStringWithValuePtr = _lookup<
+          ffi.NativeFunction<
+              CFStringRef Function(CFAllocatorRef, CFNumberFormatterRef,
+                  ffi.Int32, ffi.Pointer<ffi.Void>)>>(
+      'CFNumberFormatterCreateStringWithValue');
+  late final _CFNumberFormatterCreateStringWithValue =
+      _CFNumberFormatterCreateStringWithValuePtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFNumberFormatterRef, int,
+              ffi.Pointer<ffi.Void>)>();
+
+  CFNumberRef CFNumberFormatterCreateNumberFromString(
+    CFAllocatorRef allocator,
+    CFNumberFormatterRef formatter,
+    CFStringRef string,
+    ffi.Pointer<CFRange> rangep,
+    int options,
+  ) {
+    return _CFNumberFormatterCreateNumberFromString(
+      allocator,
+      formatter,
+      string,
+      rangep,
+      options,
+    );
+  }
+
+  late final _CFNumberFormatterCreateNumberFromStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFNumberRef Function(
+              CFAllocatorRef,
+              CFNumberFormatterRef,
+              CFStringRef,
+              ffi.Pointer<CFRange>,
+              CFOptionFlags)>>('CFNumberFormatterCreateNumberFromString');
+  late final _CFNumberFormatterCreateNumberFromString =
+      _CFNumberFormatterCreateNumberFromStringPtr.asFunction<
+          CFNumberRef Function(CFAllocatorRef, CFNumberFormatterRef,
+              CFStringRef, ffi.Pointer<CFRange>, int)>();
+
+  int CFNumberFormatterGetValueFromString(
+    CFNumberFormatterRef formatter,
+    CFStringRef string,
+    ffi.Pointer<CFRange> rangep,
+    int numberType,
+    ffi.Pointer<ffi.Void> valuePtr,
+  ) {
+    return _CFNumberFormatterGetValueFromString(
+      formatter,
+      string,
+      rangep,
+      numberType,
+      valuePtr,
+    );
+  }
+
+  late final _CFNumberFormatterGetValueFromStringPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFNumberFormatterRef,
+              CFStringRef,
+              ffi.Pointer<CFRange>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Void>)>>('CFNumberFormatterGetValueFromString');
+  late final _CFNumberFormatterGetValueFromString =
+      _CFNumberFormatterGetValueFromStringPtr.asFunction<
+          int Function(CFNumberFormatterRef, CFStringRef, ffi.Pointer<CFRange>,
+              int, ffi.Pointer<ffi.Void>)>();
+
+  void CFNumberFormatterSetProperty(
+    CFNumberFormatterRef formatter,
+    CFNumberFormatterKey key,
+    CFTypeRef value,
+  ) {
+    return _CFNumberFormatterSetProperty(
+      formatter,
+      key,
+      value,
+    );
+  }
+
+  late final _CFNumberFormatterSetPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNumberFormatterRef, CFNumberFormatterKey,
+              CFTypeRef)>>('CFNumberFormatterSetProperty');
+  late final _CFNumberFormatterSetProperty =
+      _CFNumberFormatterSetPropertyPtr.asFunction<
+          void Function(
+              CFNumberFormatterRef, CFNumberFormatterKey, CFTypeRef)>();
+
+  CFTypeRef CFNumberFormatterCopyProperty(
+    CFNumberFormatterRef formatter,
+    CFNumberFormatterKey key,
+  ) {
+    return _CFNumberFormatterCopyProperty(
+      formatter,
+      key,
+    );
+  }
+
+  late final _CFNumberFormatterCopyPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFNumberFormatterRef,
+              CFNumberFormatterKey)>>('CFNumberFormatterCopyProperty');
+  late final _CFNumberFormatterCopyProperty =
+      _CFNumberFormatterCopyPropertyPtr.asFunction<
+          CFTypeRef Function(CFNumberFormatterRef, CFNumberFormatterKey)>();
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterCurrencyCode =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterCurrencyCode');
+
+  CFNumberFormatterKey get kCFNumberFormatterCurrencyCode =>
+      _kCFNumberFormatterCurrencyCode.value;
+
+  set kCFNumberFormatterCurrencyCode(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterCurrencyCode.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterDecimalSeparator =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterDecimalSeparator');
+
+  CFNumberFormatterKey get kCFNumberFormatterDecimalSeparator =>
+      _kCFNumberFormatterDecimalSeparator.value;
+
+  set kCFNumberFormatterDecimalSeparator(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterDecimalSeparator.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterCurrencyDecimalSeparator =
+      _lookup<CFNumberFormatterKey>(
+          'kCFNumberFormatterCurrencyDecimalSeparator');
+
+  CFNumberFormatterKey get kCFNumberFormatterCurrencyDecimalSeparator =>
+      _kCFNumberFormatterCurrencyDecimalSeparator.value;
+
+  set kCFNumberFormatterCurrencyDecimalSeparator(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterCurrencyDecimalSeparator.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterAlwaysShowDecimalSeparator =
+      _lookup<CFNumberFormatterKey>(
+          'kCFNumberFormatterAlwaysShowDecimalSeparator');
+
+  CFNumberFormatterKey get kCFNumberFormatterAlwaysShowDecimalSeparator =>
+      _kCFNumberFormatterAlwaysShowDecimalSeparator.value;
+
+  set kCFNumberFormatterAlwaysShowDecimalSeparator(
+          CFNumberFormatterKey value) =>
+      _kCFNumberFormatterAlwaysShowDecimalSeparator.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterGroupingSeparator =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterGroupingSeparator');
+
+  CFNumberFormatterKey get kCFNumberFormatterGroupingSeparator =>
+      _kCFNumberFormatterGroupingSeparator.value;
+
+  set kCFNumberFormatterGroupingSeparator(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterGroupingSeparator.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterUseGroupingSeparator =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterUseGroupingSeparator');
+
+  CFNumberFormatterKey get kCFNumberFormatterUseGroupingSeparator =>
+      _kCFNumberFormatterUseGroupingSeparator.value;
+
+  set kCFNumberFormatterUseGroupingSeparator(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterUseGroupingSeparator.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterPercentSymbol =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterPercentSymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterPercentSymbol =>
+      _kCFNumberFormatterPercentSymbol.value;
+
+  set kCFNumberFormatterPercentSymbol(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterPercentSymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterZeroSymbol =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterZeroSymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterZeroSymbol =>
+      _kCFNumberFormatterZeroSymbol.value;
+
+  set kCFNumberFormatterZeroSymbol(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterZeroSymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterNaNSymbol =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterNaNSymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterNaNSymbol =>
+      _kCFNumberFormatterNaNSymbol.value;
+
+  set kCFNumberFormatterNaNSymbol(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterNaNSymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterInfinitySymbol =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterInfinitySymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterInfinitySymbol =>
+      _kCFNumberFormatterInfinitySymbol.value;
+
+  set kCFNumberFormatterInfinitySymbol(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterInfinitySymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterMinusSign =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMinusSign');
+
+  CFNumberFormatterKey get kCFNumberFormatterMinusSign =>
+      _kCFNumberFormatterMinusSign.value;
+
+  set kCFNumberFormatterMinusSign(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMinusSign.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterPlusSign =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterPlusSign');
+
+  CFNumberFormatterKey get kCFNumberFormatterPlusSign =>
+      _kCFNumberFormatterPlusSign.value;
+
+  set kCFNumberFormatterPlusSign(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterPlusSign.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterCurrencySymbol =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterCurrencySymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterCurrencySymbol =>
+      _kCFNumberFormatterCurrencySymbol.value;
+
+  set kCFNumberFormatterCurrencySymbol(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterCurrencySymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterExponentSymbol =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterExponentSymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterExponentSymbol =>
+      _kCFNumberFormatterExponentSymbol.value;
+
+  set kCFNumberFormatterExponentSymbol(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterExponentSymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterMinIntegerDigits =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMinIntegerDigits');
+
+  CFNumberFormatterKey get kCFNumberFormatterMinIntegerDigits =>
+      _kCFNumberFormatterMinIntegerDigits.value;
+
+  set kCFNumberFormatterMinIntegerDigits(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMinIntegerDigits.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterMaxIntegerDigits =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMaxIntegerDigits');
+
+  CFNumberFormatterKey get kCFNumberFormatterMaxIntegerDigits =>
+      _kCFNumberFormatterMaxIntegerDigits.value;
+
+  set kCFNumberFormatterMaxIntegerDigits(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMaxIntegerDigits.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterMinFractionDigits =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMinFractionDigits');
+
+  CFNumberFormatterKey get kCFNumberFormatterMinFractionDigits =>
+      _kCFNumberFormatterMinFractionDigits.value;
+
+  set kCFNumberFormatterMinFractionDigits(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMinFractionDigits.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterMaxFractionDigits =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMaxFractionDigits');
+
+  CFNumberFormatterKey get kCFNumberFormatterMaxFractionDigits =>
+      _kCFNumberFormatterMaxFractionDigits.value;
+
+  set kCFNumberFormatterMaxFractionDigits(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMaxFractionDigits.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterGroupingSize =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterGroupingSize');
+
+  CFNumberFormatterKey get kCFNumberFormatterGroupingSize =>
+      _kCFNumberFormatterGroupingSize.value;
+
+  set kCFNumberFormatterGroupingSize(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterGroupingSize.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterSecondaryGroupingSize =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterSecondaryGroupingSize');
+
+  CFNumberFormatterKey get kCFNumberFormatterSecondaryGroupingSize =>
+      _kCFNumberFormatterSecondaryGroupingSize.value;
+
+  set kCFNumberFormatterSecondaryGroupingSize(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterSecondaryGroupingSize.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterRoundingMode =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterRoundingMode');
+
+  CFNumberFormatterKey get kCFNumberFormatterRoundingMode =>
+      _kCFNumberFormatterRoundingMode.value;
+
+  set kCFNumberFormatterRoundingMode(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterRoundingMode.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterRoundingIncrement =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterRoundingIncrement');
+
+  CFNumberFormatterKey get kCFNumberFormatterRoundingIncrement =>
+      _kCFNumberFormatterRoundingIncrement.value;
+
+  set kCFNumberFormatterRoundingIncrement(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterRoundingIncrement.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterFormatWidth =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterFormatWidth');
+
+  CFNumberFormatterKey get kCFNumberFormatterFormatWidth =>
+      _kCFNumberFormatterFormatWidth.value;
+
+  set kCFNumberFormatterFormatWidth(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterFormatWidth.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterPaddingPosition =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterPaddingPosition');
+
+  CFNumberFormatterKey get kCFNumberFormatterPaddingPosition =>
+      _kCFNumberFormatterPaddingPosition.value;
+
+  set kCFNumberFormatterPaddingPosition(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterPaddingPosition.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterPaddingCharacter =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterPaddingCharacter');
+
+  CFNumberFormatterKey get kCFNumberFormatterPaddingCharacter =>
+      _kCFNumberFormatterPaddingCharacter.value;
+
+  set kCFNumberFormatterPaddingCharacter(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterPaddingCharacter.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterDefaultFormat =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterDefaultFormat');
+
+  CFNumberFormatterKey get kCFNumberFormatterDefaultFormat =>
+      _kCFNumberFormatterDefaultFormat.value;
+
+  set kCFNumberFormatterDefaultFormat(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterDefaultFormat.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterMultiplier =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMultiplier');
+
+  CFNumberFormatterKey get kCFNumberFormatterMultiplier =>
+      _kCFNumberFormatterMultiplier.value;
+
+  set kCFNumberFormatterMultiplier(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMultiplier.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterPositivePrefix =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterPositivePrefix');
+
+  CFNumberFormatterKey get kCFNumberFormatterPositivePrefix =>
+      _kCFNumberFormatterPositivePrefix.value;
+
+  set kCFNumberFormatterPositivePrefix(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterPositivePrefix.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterPositiveSuffix =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterPositiveSuffix');
+
+  CFNumberFormatterKey get kCFNumberFormatterPositiveSuffix =>
+      _kCFNumberFormatterPositiveSuffix.value;
+
+  set kCFNumberFormatterPositiveSuffix(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterPositiveSuffix.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterNegativePrefix =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterNegativePrefix');
+
+  CFNumberFormatterKey get kCFNumberFormatterNegativePrefix =>
+      _kCFNumberFormatterNegativePrefix.value;
+
+  set kCFNumberFormatterNegativePrefix(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterNegativePrefix.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterNegativeSuffix =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterNegativeSuffix');
+
+  CFNumberFormatterKey get kCFNumberFormatterNegativeSuffix =>
+      _kCFNumberFormatterNegativeSuffix.value;
+
+  set kCFNumberFormatterNegativeSuffix(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterNegativeSuffix.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterPerMillSymbol =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterPerMillSymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterPerMillSymbol =>
+      _kCFNumberFormatterPerMillSymbol.value;
+
+  set kCFNumberFormatterPerMillSymbol(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterPerMillSymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterInternationalCurrencySymbol =
+      _lookup<CFNumberFormatterKey>(
+          'kCFNumberFormatterInternationalCurrencySymbol');
+
+  CFNumberFormatterKey get kCFNumberFormatterInternationalCurrencySymbol =>
+      _kCFNumberFormatterInternationalCurrencySymbol.value;
+
+  set kCFNumberFormatterInternationalCurrencySymbol(
+          CFNumberFormatterKey value) =>
+      _kCFNumberFormatterInternationalCurrencySymbol.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterCurrencyGroupingSeparator =
+      _lookup<CFNumberFormatterKey>(
+          'kCFNumberFormatterCurrencyGroupingSeparator');
+
+  CFNumberFormatterKey get kCFNumberFormatterCurrencyGroupingSeparator =>
+      _kCFNumberFormatterCurrencyGroupingSeparator.value;
+
+  set kCFNumberFormatterCurrencyGroupingSeparator(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterCurrencyGroupingSeparator.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey> _kCFNumberFormatterIsLenient =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterIsLenient');
+
+  CFNumberFormatterKey get kCFNumberFormatterIsLenient =>
+      _kCFNumberFormatterIsLenient.value;
+
+  set kCFNumberFormatterIsLenient(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterIsLenient.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterUseSignificantDigits =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterUseSignificantDigits');
+
+  CFNumberFormatterKey get kCFNumberFormatterUseSignificantDigits =>
+      _kCFNumberFormatterUseSignificantDigits.value;
+
+  set kCFNumberFormatterUseSignificantDigits(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterUseSignificantDigits.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterMinSignificantDigits =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMinSignificantDigits');
+
+  CFNumberFormatterKey get kCFNumberFormatterMinSignificantDigits =>
+      _kCFNumberFormatterMinSignificantDigits.value;
+
+  set kCFNumberFormatterMinSignificantDigits(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMinSignificantDigits.value = value;
+
+  late final ffi.Pointer<CFNumberFormatterKey>
+      _kCFNumberFormatterMaxSignificantDigits =
+      _lookup<CFNumberFormatterKey>('kCFNumberFormatterMaxSignificantDigits');
+
+  CFNumberFormatterKey get kCFNumberFormatterMaxSignificantDigits =>
+      _kCFNumberFormatterMaxSignificantDigits.value;
+
+  set kCFNumberFormatterMaxSignificantDigits(CFNumberFormatterKey value) =>
+      _kCFNumberFormatterMaxSignificantDigits.value = value;
+
+  int CFNumberFormatterGetDecimalInfoForCurrencyCode(
+    CFStringRef currencyCode,
+    ffi.Pointer<ffi.Int32> defaultFractionDigits,
+    ffi.Pointer<ffi.Double> roundingIncrement,
+  ) {
+    return _CFNumberFormatterGetDecimalInfoForCurrencyCode(
+      currencyCode,
+      defaultFractionDigits,
+      roundingIncrement,
+    );
+  }
+
+  late final _CFNumberFormatterGetDecimalInfoForCurrencyCodePtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFStringRef, ffi.Pointer<ffi.Int32>,
+                  ffi.Pointer<ffi.Double>)>>(
+      'CFNumberFormatterGetDecimalInfoForCurrencyCode');
+  late final _CFNumberFormatterGetDecimalInfoForCurrencyCode =
+      _CFNumberFormatterGetDecimalInfoForCurrencyCodePtr.asFunction<
+          int Function(
+              CFStringRef, ffi.Pointer<ffi.Int32>, ffi.Pointer<ffi.Double>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFPreferencesAnyApplication =
+      _lookup<CFStringRef>('kCFPreferencesAnyApplication');
+
+  CFStringRef get kCFPreferencesAnyApplication =>
+      _kCFPreferencesAnyApplication.value;
+
+  set kCFPreferencesAnyApplication(CFStringRef value) =>
+      _kCFPreferencesAnyApplication.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPreferencesCurrentApplication =
+      _lookup<CFStringRef>('kCFPreferencesCurrentApplication');
+
+  CFStringRef get kCFPreferencesCurrentApplication =>
+      _kCFPreferencesCurrentApplication.value;
+
+  set kCFPreferencesCurrentApplication(CFStringRef value) =>
+      _kCFPreferencesCurrentApplication.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPreferencesAnyHost =
+      _lookup<CFStringRef>('kCFPreferencesAnyHost');
+
+  CFStringRef get kCFPreferencesAnyHost => _kCFPreferencesAnyHost.value;
+
+  set kCFPreferencesAnyHost(CFStringRef value) =>
+      _kCFPreferencesAnyHost.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPreferencesCurrentHost =
+      _lookup<CFStringRef>('kCFPreferencesCurrentHost');
+
+  CFStringRef get kCFPreferencesCurrentHost => _kCFPreferencesCurrentHost.value;
+
+  set kCFPreferencesCurrentHost(CFStringRef value) =>
+      _kCFPreferencesCurrentHost.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPreferencesAnyUser =
+      _lookup<CFStringRef>('kCFPreferencesAnyUser');
+
+  CFStringRef get kCFPreferencesAnyUser => _kCFPreferencesAnyUser.value;
+
+  set kCFPreferencesAnyUser(CFStringRef value) =>
+      _kCFPreferencesAnyUser.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPreferencesCurrentUser =
+      _lookup<CFStringRef>('kCFPreferencesCurrentUser');
+
+  CFStringRef get kCFPreferencesCurrentUser => _kCFPreferencesCurrentUser.value;
+
+  set kCFPreferencesCurrentUser(CFStringRef value) =>
+      _kCFPreferencesCurrentUser.value = value;
+
+  CFPropertyListRef CFPreferencesCopyAppValue(
+    CFStringRef key,
+    CFStringRef applicationID,
+  ) {
+    return _CFPreferencesCopyAppValue(
+      key,
+      applicationID,
+    );
+  }
+
+  late final _CFPreferencesCopyAppValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFPropertyListRef Function(
+              CFStringRef, CFStringRef)>>('CFPreferencesCopyAppValue');
+  late final _CFPreferencesCopyAppValue = _CFPreferencesCopyAppValuePtr
+      .asFunction<CFPropertyListRef Function(CFStringRef, CFStringRef)>();
+
+  int CFPreferencesGetAppBooleanValue(
+    CFStringRef key,
+    CFStringRef applicationID,
+    ffi.Pointer<Boolean> keyExistsAndHasValidFormat,
+  ) {
+    return _CFPreferencesGetAppBooleanValue(
+      key,
+      applicationID,
+      keyExistsAndHasValidFormat,
+    );
+  }
+
+  late final _CFPreferencesGetAppBooleanValuePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFStringRef, CFStringRef,
+              ffi.Pointer<Boolean>)>>('CFPreferencesGetAppBooleanValue');
+  late final _CFPreferencesGetAppBooleanValue =
+      _CFPreferencesGetAppBooleanValuePtr.asFunction<
+          int Function(CFStringRef, CFStringRef, ffi.Pointer<Boolean>)>();
+
+  int CFPreferencesGetAppIntegerValue(
+    CFStringRef key,
+    CFStringRef applicationID,
+    ffi.Pointer<Boolean> keyExistsAndHasValidFormat,
+  ) {
+    return _CFPreferencesGetAppIntegerValue(
+      key,
+      applicationID,
+      keyExistsAndHasValidFormat,
+    );
+  }
+
+  late final _CFPreferencesGetAppIntegerValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFStringRef, CFStringRef,
+              ffi.Pointer<Boolean>)>>('CFPreferencesGetAppIntegerValue');
+  late final _CFPreferencesGetAppIntegerValue =
+      _CFPreferencesGetAppIntegerValuePtr.asFunction<
+          int Function(CFStringRef, CFStringRef, ffi.Pointer<Boolean>)>();
+
+  void CFPreferencesSetAppValue(
+    CFStringRef key,
+    CFPropertyListRef value,
+    CFStringRef applicationID,
+  ) {
+    return _CFPreferencesSetAppValue(
+      key,
+      value,
+      applicationID,
+    );
+  }
+
+  late final _CFPreferencesSetAppValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFStringRef, CFPropertyListRef,
+              CFStringRef)>>('CFPreferencesSetAppValue');
+  late final _CFPreferencesSetAppValue = _CFPreferencesSetAppValuePtr
+      .asFunction<void Function(CFStringRef, CFPropertyListRef, CFStringRef)>();
+
+  void CFPreferencesAddSuitePreferencesToApp(
+    CFStringRef applicationID,
+    CFStringRef suiteID,
+  ) {
+    return _CFPreferencesAddSuitePreferencesToApp(
+      applicationID,
+      suiteID,
+    );
+  }
+
+  late final _CFPreferencesAddSuitePreferencesToAppPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFStringRef, CFStringRef)>>(
+          'CFPreferencesAddSuitePreferencesToApp');
+  late final _CFPreferencesAddSuitePreferencesToApp =
+      _CFPreferencesAddSuitePreferencesToAppPtr.asFunction<
+          void Function(CFStringRef, CFStringRef)>();
+
+  void CFPreferencesRemoveSuitePreferencesFromApp(
+    CFStringRef applicationID,
+    CFStringRef suiteID,
+  ) {
+    return _CFPreferencesRemoveSuitePreferencesFromApp(
+      applicationID,
+      suiteID,
+    );
+  }
+
+  late final _CFPreferencesRemoveSuitePreferencesFromAppPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFStringRef, CFStringRef)>>(
+          'CFPreferencesRemoveSuitePreferencesFromApp');
+  late final _CFPreferencesRemoveSuitePreferencesFromApp =
+      _CFPreferencesRemoveSuitePreferencesFromAppPtr.asFunction<
+          void Function(CFStringRef, CFStringRef)>();
+
+  int CFPreferencesAppSynchronize(
+    CFStringRef applicationID,
+  ) {
+    return _CFPreferencesAppSynchronize(
+      applicationID,
+    );
+  }
+
+  late final _CFPreferencesAppSynchronizePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFStringRef)>>(
+          'CFPreferencesAppSynchronize');
+  late final _CFPreferencesAppSynchronize =
+      _CFPreferencesAppSynchronizePtr.asFunction<int Function(CFStringRef)>();
+
+  CFPropertyListRef CFPreferencesCopyValue(
+    CFStringRef key,
+    CFStringRef applicationID,
+    CFStringRef userName,
+    CFStringRef hostName,
+  ) {
+    return _CFPreferencesCopyValue(
+      key,
+      applicationID,
+      userName,
+      hostName,
+    );
+  }
+
+  late final _CFPreferencesCopyValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFPropertyListRef Function(CFStringRef, CFStringRef, CFStringRef,
+              CFStringRef)>>('CFPreferencesCopyValue');
+  late final _CFPreferencesCopyValue = _CFPreferencesCopyValuePtr.asFunction<
+      CFPropertyListRef Function(
+          CFStringRef, CFStringRef, CFStringRef, CFStringRef)>();
+
+  CFDictionaryRef CFPreferencesCopyMultiple(
+    CFArrayRef keysToFetch,
+    CFStringRef applicationID,
+    CFStringRef userName,
+    CFStringRef hostName,
+  ) {
+    return _CFPreferencesCopyMultiple(
+      keysToFetch,
+      applicationID,
+      userName,
+      hostName,
+    );
+  }
+
+  late final _CFPreferencesCopyMultiplePtr = _lookup<
+      ffi.NativeFunction<
+          CFDictionaryRef Function(CFArrayRef, CFStringRef, CFStringRef,
+              CFStringRef)>>('CFPreferencesCopyMultiple');
+  late final _CFPreferencesCopyMultiple =
+      _CFPreferencesCopyMultiplePtr.asFunction<
+          CFDictionaryRef Function(
+              CFArrayRef, CFStringRef, CFStringRef, CFStringRef)>();
+
+  void CFPreferencesSetValue(
+    CFStringRef key,
+    CFPropertyListRef value,
+    CFStringRef applicationID,
+    CFStringRef userName,
+    CFStringRef hostName,
+  ) {
+    return _CFPreferencesSetValue(
+      key,
+      value,
+      applicationID,
+      userName,
+      hostName,
+    );
+  }
+
+  late final _CFPreferencesSetValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFStringRef, CFPropertyListRef, CFStringRef,
+              CFStringRef, CFStringRef)>>('CFPreferencesSetValue');
+  late final _CFPreferencesSetValue = _CFPreferencesSetValuePtr.asFunction<
+      void Function(CFStringRef, CFPropertyListRef, CFStringRef, CFStringRef,
+          CFStringRef)>();
+
+  void CFPreferencesSetMultiple(
+    CFDictionaryRef keysToSet,
+    CFArrayRef keysToRemove,
+    CFStringRef applicationID,
+    CFStringRef userName,
+    CFStringRef hostName,
+  ) {
+    return _CFPreferencesSetMultiple(
+      keysToSet,
+      keysToRemove,
+      applicationID,
+      userName,
+      hostName,
+    );
+  }
+
+  late final _CFPreferencesSetMultiplePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFDictionaryRef, CFArrayRef, CFStringRef,
+              CFStringRef, CFStringRef)>>('CFPreferencesSetMultiple');
+  late final _CFPreferencesSetMultiple =
+      _CFPreferencesSetMultiplePtr.asFunction<
+          void Function(CFDictionaryRef, CFArrayRef, CFStringRef, CFStringRef,
+              CFStringRef)>();
+
+  int CFPreferencesSynchronize(
+    CFStringRef applicationID,
+    CFStringRef userName,
+    CFStringRef hostName,
+  ) {
+    return _CFPreferencesSynchronize(
+      applicationID,
+      userName,
+      hostName,
+    );
+  }
+
+  late final _CFPreferencesSynchronizePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFStringRef, CFStringRef,
+              CFStringRef)>>('CFPreferencesSynchronize');
+  late final _CFPreferencesSynchronize = _CFPreferencesSynchronizePtr
+      .asFunction<int Function(CFStringRef, CFStringRef, CFStringRef)>();
+
+  CFArrayRef CFPreferencesCopyApplicationList(
+    CFStringRef userName,
+    CFStringRef hostName,
+  ) {
+    return _CFPreferencesCopyApplicationList(
+      userName,
+      hostName,
+    );
+  }
+
+  late final _CFPreferencesCopyApplicationListPtr = _lookup<
+          ffi.NativeFunction<CFArrayRef Function(CFStringRef, CFStringRef)>>(
+      'CFPreferencesCopyApplicationList');
+  late final _CFPreferencesCopyApplicationList =
+      _CFPreferencesCopyApplicationListPtr.asFunction<
+          CFArrayRef Function(CFStringRef, CFStringRef)>();
+
+  CFArrayRef CFPreferencesCopyKeyList(
+    CFStringRef applicationID,
+    CFStringRef userName,
+    CFStringRef hostName,
+  ) {
+    return _CFPreferencesCopyKeyList(
+      applicationID,
+      userName,
+      hostName,
+    );
+  }
+
+  late final _CFPreferencesCopyKeyListPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(CFStringRef, CFStringRef,
+              CFStringRef)>>('CFPreferencesCopyKeyList');
+  late final _CFPreferencesCopyKeyList = _CFPreferencesCopyKeyListPtr
+      .asFunction<CFArrayRef Function(CFStringRef, CFStringRef, CFStringRef)>();
+
+  int CFPreferencesAppValueIsForced(
+    CFStringRef key,
+    CFStringRef applicationID,
+  ) {
+    return _CFPreferencesAppValueIsForced(
+      key,
+      applicationID,
+    );
+  }
+
+  late final _CFPreferencesAppValueIsForcedPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFStringRef, CFStringRef)>>(
+          'CFPreferencesAppValueIsForced');
+  late final _CFPreferencesAppValueIsForced = _CFPreferencesAppValueIsForcedPtr
+      .asFunction<int Function(CFStringRef, CFStringRef)>();
+
+  int CFURLGetTypeID() {
+    return _CFURLGetTypeID();
+  }
+
+  late final _CFURLGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFURLGetTypeID');
+  late final _CFURLGetTypeID = _CFURLGetTypeIDPtr.asFunction<int Function()>();
+
+  CFURLRef CFURLCreateWithBytes(
+    CFAllocatorRef allocator,
+    ffi.Pointer<UInt8> URLBytes,
+    int length,
+    int encoding,
+    CFURLRef baseURL,
+  ) {
+    return _CFURLCreateWithBytes(
+      allocator,
+      URLBytes,
+      length,
+      encoding,
+      baseURL,
+    );
+  }
+
+  late final _CFURLCreateWithBytesPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex,
+              CFStringEncoding, CFURLRef)>>('CFURLCreateWithBytes');
+  late final _CFURLCreateWithBytes = _CFURLCreateWithBytesPtr.asFunction<
+      CFURLRef Function(
+          CFAllocatorRef, ffi.Pointer<UInt8>, int, int, CFURLRef)>();
+
+  CFDataRef CFURLCreateData(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+    int encoding,
+    int escapeWhitespace,
+  ) {
+    return _CFURLCreateData(
+      allocator,
+      url,
+      encoding,
+      escapeWhitespace,
+    );
+  }
+
+  late final _CFURLCreateDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(CFAllocatorRef, CFURLRef, CFStringEncoding,
+              Boolean)>>('CFURLCreateData');
+  late final _CFURLCreateData = _CFURLCreateDataPtr.asFunction<
+      CFDataRef Function(CFAllocatorRef, CFURLRef, int, int)>();
+
+  CFURLRef CFURLCreateWithString(
+    CFAllocatorRef allocator,
+    CFStringRef URLString,
+    CFURLRef baseURL,
+  ) {
+    return _CFURLCreateWithString(
+      allocator,
+      URLString,
+      baseURL,
+    );
+  }
+
+  late final _CFURLCreateWithStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(
+              CFAllocatorRef, CFStringRef, CFURLRef)>>('CFURLCreateWithString');
+  late final _CFURLCreateWithString = _CFURLCreateWithStringPtr.asFunction<
+      CFURLRef Function(CFAllocatorRef, CFStringRef, CFURLRef)>();
+
+  CFURLRef CFURLCreateAbsoluteURLWithBytes(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UInt8> relativeURLBytes,
+    int length,
+    int encoding,
+    CFURLRef baseURL,
+    int useCompatibilityMode,
+  ) {
+    return _CFURLCreateAbsoluteURLWithBytes(
+      alloc,
+      relativeURLBytes,
+      length,
+      encoding,
+      baseURL,
+      useCompatibilityMode,
+    );
+  }
+
+  late final _CFURLCreateAbsoluteURLWithBytesPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(
+              CFAllocatorRef,
+              ffi.Pointer<UInt8>,
+              CFIndex,
+              CFStringEncoding,
+              CFURLRef,
+              Boolean)>>('CFURLCreateAbsoluteURLWithBytes');
+  late final _CFURLCreateAbsoluteURLWithBytes =
+      _CFURLCreateAbsoluteURLWithBytesPtr.asFunction<
+          CFURLRef Function(
+              CFAllocatorRef, ffi.Pointer<UInt8>, int, int, CFURLRef, int)>();
+
+  CFURLRef CFURLCreateWithFileSystemPath(
+    CFAllocatorRef allocator,
+    CFStringRef filePath,
+    int pathStyle,
+    int isDirectory,
+  ) {
+    return _CFURLCreateWithFileSystemPath(
+      allocator,
+      filePath,
+      pathStyle,
+      isDirectory,
+    );
+  }
+
+  late final _CFURLCreateWithFileSystemPathPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, CFStringRef, ffi.Int32,
+              Boolean)>>('CFURLCreateWithFileSystemPath');
+  late final _CFURLCreateWithFileSystemPath = _CFURLCreateWithFileSystemPathPtr
+      .asFunction<CFURLRef Function(CFAllocatorRef, CFStringRef, int, int)>();
+
+  CFURLRef CFURLCreateFromFileSystemRepresentation(
+    CFAllocatorRef allocator,
+    ffi.Pointer<UInt8> buffer,
+    int bufLen,
+    int isDirectory,
+  ) {
+    return _CFURLCreateFromFileSystemRepresentation(
+      allocator,
+      buffer,
+      bufLen,
+      isDirectory,
+    );
+  }
+
+  late final _CFURLCreateFromFileSystemRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex,
+              Boolean)>>('CFURLCreateFromFileSystemRepresentation');
+  late final _CFURLCreateFromFileSystemRepresentation =
+      _CFURLCreateFromFileSystemRepresentationPtr.asFunction<
+          CFURLRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, int, int)>();
+
+  CFURLRef CFURLCreateWithFileSystemPathRelativeToBase(
+    CFAllocatorRef allocator,
+    CFStringRef filePath,
+    int pathStyle,
+    int isDirectory,
+    CFURLRef baseURL,
+  ) {
+    return _CFURLCreateWithFileSystemPathRelativeToBase(
+      allocator,
+      filePath,
+      pathStyle,
+      isDirectory,
+      baseURL,
+    );
+  }
+
+  late final _CFURLCreateWithFileSystemPathRelativeToBasePtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, CFStringRef, ffi.Int32, Boolean,
+              CFURLRef)>>('CFURLCreateWithFileSystemPathRelativeToBase');
+  late final _CFURLCreateWithFileSystemPathRelativeToBase =
+      _CFURLCreateWithFileSystemPathRelativeToBasePtr.asFunction<
+          CFURLRef Function(CFAllocatorRef, CFStringRef, int, int, CFURLRef)>();
+
+  CFURLRef CFURLCreateFromFileSystemRepresentationRelativeToBase(
+    CFAllocatorRef allocator,
+    ffi.Pointer<UInt8> buffer,
+    int bufLen,
+    int isDirectory,
+    CFURLRef baseURL,
+  ) {
+    return _CFURLCreateFromFileSystemRepresentationRelativeToBase(
+      allocator,
+      buffer,
+      bufLen,
+      isDirectory,
+      baseURL,
+    );
+  }
+
+  late final _CFURLCreateFromFileSystemRepresentationRelativeToBasePtr =
+      _lookup<
+              ffi.NativeFunction<
+                  CFURLRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex,
+                      Boolean, CFURLRef)>>(
+          'CFURLCreateFromFileSystemRepresentationRelativeToBase');
+  late final _CFURLCreateFromFileSystemRepresentationRelativeToBase =
+      _CFURLCreateFromFileSystemRepresentationRelativeToBasePtr.asFunction<
+          CFURLRef Function(
+              CFAllocatorRef, ffi.Pointer<UInt8>, int, int, CFURLRef)>();
+
+  int CFURLGetFileSystemRepresentation(
+    CFURLRef url,
+    int resolveAgainstBase,
+    ffi.Pointer<UInt8> buffer,
+    int maxBufLen,
+  ) {
+    return _CFURLGetFileSystemRepresentation(
+      url,
+      resolveAgainstBase,
+      buffer,
+      maxBufLen,
+    );
+  }
+
+  late final _CFURLGetFileSystemRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFURLRef, Boolean, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFURLGetFileSystemRepresentation');
+  late final _CFURLGetFileSystemRepresentation =
+      _CFURLGetFileSystemRepresentationPtr.asFunction<
+          int Function(CFURLRef, int, ffi.Pointer<UInt8>, int)>();
+
+  CFURLRef CFURLCopyAbsoluteURL(
+    CFURLRef relativeURL,
+  ) {
+    return _CFURLCopyAbsoluteURL(
+      relativeURL,
+    );
+  }
+
+  late final _CFURLCopyAbsoluteURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFURLRef)>>(
+          'CFURLCopyAbsoluteURL');
+  late final _CFURLCopyAbsoluteURL =
+      _CFURLCopyAbsoluteURLPtr.asFunction<CFURLRef Function(CFURLRef)>();
+
+  CFStringRef CFURLGetString(
+    CFURLRef anURL,
+  ) {
+    return _CFURLGetString(
+      anURL,
+    );
+  }
+
+  late final _CFURLGetStringPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLGetString');
+  late final _CFURLGetString =
+      _CFURLGetStringPtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFURLRef CFURLGetBaseURL(
+    CFURLRef anURL,
+  ) {
+    return _CFURLGetBaseURL(
+      anURL,
+    );
+  }
+
+  late final _CFURLGetBaseURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFURLRef)>>(
+          'CFURLGetBaseURL');
+  late final _CFURLGetBaseURL =
+      _CFURLGetBaseURLPtr.asFunction<CFURLRef Function(CFURLRef)>();
+
+  int CFURLCanBeDecomposed(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCanBeDecomposed(
+      anURL,
+    );
+  }
+
+  late final _CFURLCanBeDecomposedPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFURLRef)>>(
+          'CFURLCanBeDecomposed');
+  late final _CFURLCanBeDecomposed =
+      _CFURLCanBeDecomposedPtr.asFunction<int Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyScheme(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCopyScheme(
+      anURL,
+    );
+  }
+
+  late final _CFURLCopySchemePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyScheme');
+  late final _CFURLCopyScheme =
+      _CFURLCopySchemePtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyNetLocation(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCopyNetLocation(
+      anURL,
+    );
+  }
+
+  late final _CFURLCopyNetLocationPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyNetLocation');
+  late final _CFURLCopyNetLocation =
+      _CFURLCopyNetLocationPtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyPath(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCopyPath(
+      anURL,
+    );
+  }
+
+  late final _CFURLCopyPathPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyPath');
+  late final _CFURLCopyPath =
+      _CFURLCopyPathPtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyStrictPath(
+    CFURLRef anURL,
+    ffi.Pointer<Boolean> isAbsolute,
+  ) {
+    return _CFURLCopyStrictPath(
+      anURL,
+      isAbsolute,
+    );
+  }
+
+  late final _CFURLCopyStrictPathPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(
+              CFURLRef, ffi.Pointer<Boolean>)>>('CFURLCopyStrictPath');
+  late final _CFURLCopyStrictPath = _CFURLCopyStrictPathPtr.asFunction<
+      CFStringRef Function(CFURLRef, ffi.Pointer<Boolean>)>();
+
+  CFStringRef CFURLCopyFileSystemPath(
+    CFURLRef anURL,
+    int pathStyle,
+  ) {
+    return _CFURLCopyFileSystemPath(
+      anURL,
+      pathStyle,
+    );
+  }
+
+  late final _CFURLCopyFileSystemPathPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef, ffi.Int32)>>(
+          'CFURLCopyFileSystemPath');
+  late final _CFURLCopyFileSystemPath = _CFURLCopyFileSystemPathPtr.asFunction<
+      CFStringRef Function(CFURLRef, int)>();
+
+  int CFURLHasDirectoryPath(
+    CFURLRef anURL,
+  ) {
+    return _CFURLHasDirectoryPath(
+      anURL,
+    );
+  }
+
+  late final _CFURLHasDirectoryPathPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFURLRef)>>(
+          'CFURLHasDirectoryPath');
+  late final _CFURLHasDirectoryPath =
+      _CFURLHasDirectoryPathPtr.asFunction<int Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyResourceSpecifier(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCopyResourceSpecifier(
+      anURL,
+    );
+  }
+
+  late final _CFURLCopyResourceSpecifierPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyResourceSpecifier');
+  late final _CFURLCopyResourceSpecifier = _CFURLCopyResourceSpecifierPtr
+      .asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyHostName(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCopyHostName(
+      anURL,
+    );
+  }
+
+  late final _CFURLCopyHostNamePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyHostName');
+  late final _CFURLCopyHostName =
+      _CFURLCopyHostNamePtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  int CFURLGetPortNumber(
+    CFURLRef anURL,
+  ) {
+    return _CFURLGetPortNumber(
+      anURL,
+    );
+  }
+
+  late final _CFURLGetPortNumberPtr =
+      _lookup<ffi.NativeFunction<SInt32 Function(CFURLRef)>>(
+          'CFURLGetPortNumber');
+  late final _CFURLGetPortNumber =
+      _CFURLGetPortNumberPtr.asFunction<int Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyUserName(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCopyUserName(
+      anURL,
+    );
+  }
+
+  late final _CFURLCopyUserNamePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyUserName');
+  late final _CFURLCopyUserName =
+      _CFURLCopyUserNamePtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyPassword(
+    CFURLRef anURL,
+  ) {
+    return _CFURLCopyPassword(
+      anURL,
+    );
+  }
+
+  late final _CFURLCopyPasswordPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyPassword');
+  late final _CFURLCopyPassword =
+      _CFURLCopyPasswordPtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyParameterString(
+    CFURLRef anURL,
+    CFStringRef charactersToLeaveEscaped,
+  ) {
+    return _CFURLCopyParameterString(
+      anURL,
+      charactersToLeaveEscaped,
+    );
+  }
+
+  late final _CFURLCopyParameterStringPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef, CFStringRef)>>(
+          'CFURLCopyParameterString');
+  late final _CFURLCopyParameterString = _CFURLCopyParameterStringPtr
+      .asFunction<CFStringRef Function(CFURLRef, CFStringRef)>();
+
+  CFStringRef CFURLCopyQueryString(
+    CFURLRef anURL,
+    CFStringRef charactersToLeaveEscaped,
+  ) {
+    return _CFURLCopyQueryString(
+      anURL,
+      charactersToLeaveEscaped,
+    );
+  }
+
+  late final _CFURLCopyQueryStringPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef, CFStringRef)>>(
+          'CFURLCopyQueryString');
+  late final _CFURLCopyQueryString = _CFURLCopyQueryStringPtr.asFunction<
+      CFStringRef Function(CFURLRef, CFStringRef)>();
+
+  CFStringRef CFURLCopyFragment(
+    CFURLRef anURL,
+    CFStringRef charactersToLeaveEscaped,
+  ) {
+    return _CFURLCopyFragment(
+      anURL,
+      charactersToLeaveEscaped,
+    );
+  }
+
+  late final _CFURLCopyFragmentPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef, CFStringRef)>>(
+          'CFURLCopyFragment');
+  late final _CFURLCopyFragment = _CFURLCopyFragmentPtr.asFunction<
+      CFStringRef Function(CFURLRef, CFStringRef)>();
+
+  CFStringRef CFURLCopyLastPathComponent(
+    CFURLRef url,
+  ) {
+    return _CFURLCopyLastPathComponent(
+      url,
+    );
+  }
+
+  late final _CFURLCopyLastPathComponentPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyLastPathComponent');
+  late final _CFURLCopyLastPathComponent = _CFURLCopyLastPathComponentPtr
+      .asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFStringRef CFURLCopyPathExtension(
+    CFURLRef url,
+  ) {
+    return _CFURLCopyPathExtension(
+      url,
+    );
+  }
+
+  late final _CFURLCopyPathExtensionPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFURLRef)>>(
+          'CFURLCopyPathExtension');
+  late final _CFURLCopyPathExtension =
+      _CFURLCopyPathExtensionPtr.asFunction<CFStringRef Function(CFURLRef)>();
+
+  CFURLRef CFURLCreateCopyAppendingPathComponent(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+    CFStringRef pathComponent,
+    int isDirectory,
+  ) {
+    return _CFURLCreateCopyAppendingPathComponent(
+      allocator,
+      url,
+      pathComponent,
+      isDirectory,
+    );
+  }
+
+  late final _CFURLCreateCopyAppendingPathComponentPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef, CFStringRef,
+              Boolean)>>('CFURLCreateCopyAppendingPathComponent');
+  late final _CFURLCreateCopyAppendingPathComponent =
+      _CFURLCreateCopyAppendingPathComponentPtr.asFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef, CFStringRef, int)>();
+
+  CFURLRef CFURLCreateCopyDeletingLastPathComponent(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+  ) {
+    return _CFURLCreateCopyDeletingLastPathComponent(
+      allocator,
+      url,
+    );
+  }
+
+  late final _CFURLCreateCopyDeletingLastPathComponentPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFAllocatorRef, CFURLRef)>>(
+          'CFURLCreateCopyDeletingLastPathComponent');
+  late final _CFURLCreateCopyDeletingLastPathComponent =
+      _CFURLCreateCopyDeletingLastPathComponentPtr.asFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef)>();
+
+  CFURLRef CFURLCreateCopyAppendingPathExtension(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+    CFStringRef extension1,
+  ) {
+    return _CFURLCreateCopyAppendingPathExtension(
+      allocator,
+      url,
+      extension1,
+    );
+  }
+
+  late final _CFURLCreateCopyAppendingPathExtensionPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef,
+              CFStringRef)>>('CFURLCreateCopyAppendingPathExtension');
+  late final _CFURLCreateCopyAppendingPathExtension =
+      _CFURLCreateCopyAppendingPathExtensionPtr.asFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef, CFStringRef)>();
+
+  CFURLRef CFURLCreateCopyDeletingPathExtension(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+  ) {
+    return _CFURLCreateCopyDeletingPathExtension(
+      allocator,
+      url,
+    );
+  }
+
+  late final _CFURLCreateCopyDeletingPathExtensionPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFAllocatorRef, CFURLRef)>>(
+          'CFURLCreateCopyDeletingPathExtension');
+  late final _CFURLCreateCopyDeletingPathExtension =
+      _CFURLCreateCopyDeletingPathExtensionPtr.asFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef)>();
+
+  int CFURLGetBytes(
+    CFURLRef url,
+    ffi.Pointer<UInt8> buffer,
+    int bufferLength,
+  ) {
+    return _CFURLGetBytes(
+      url,
+      buffer,
+      bufferLength,
+    );
+  }
+
+  late final _CFURLGetBytesPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(
+              CFURLRef, ffi.Pointer<UInt8>, CFIndex)>>('CFURLGetBytes');
+  late final _CFURLGetBytes = _CFURLGetBytesPtr.asFunction<
+      int Function(CFURLRef, ffi.Pointer<UInt8>, int)>();
+
+  CFRange CFURLGetByteRangeForComponent(
+    CFURLRef url,
+    int component,
+    ffi.Pointer<CFRange> rangeIncludingSeparators,
+  ) {
+    return _CFURLGetByteRangeForComponent(
+      url,
+      component,
+      rangeIncludingSeparators,
+    );
+  }
+
+  late final _CFURLGetByteRangeForComponentPtr = _lookup<
+      ffi.NativeFunction<
+          CFRange Function(CFURLRef, ffi.Int32,
+              ffi.Pointer<CFRange>)>>('CFURLGetByteRangeForComponent');
+  late final _CFURLGetByteRangeForComponent = _CFURLGetByteRangeForComponentPtr
+      .asFunction<CFRange Function(CFURLRef, int, ffi.Pointer<CFRange>)>();
+
+  CFStringRef CFURLCreateStringByReplacingPercentEscapes(
+    CFAllocatorRef allocator,
+    CFStringRef originalString,
+    CFStringRef charactersToLeaveEscaped,
+  ) {
+    return _CFURLCreateStringByReplacingPercentEscapes(
+      allocator,
+      originalString,
+      charactersToLeaveEscaped,
+    );
+  }
+
+  late final _CFURLCreateStringByReplacingPercentEscapesPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFAllocatorRef, CFStringRef,
+              CFStringRef)>>('CFURLCreateStringByReplacingPercentEscapes');
+  late final _CFURLCreateStringByReplacingPercentEscapes =
+      _CFURLCreateStringByReplacingPercentEscapesPtr.asFunction<
+          CFStringRef Function(CFAllocatorRef, CFStringRef, CFStringRef)>();
+
+  CFStringRef CFURLCreateStringByReplacingPercentEscapesUsingEncoding(
+    CFAllocatorRef allocator,
+    CFStringRef origString,
+    CFStringRef charsToLeaveEscaped,
+    int encoding,
+  ) {
+    return _CFURLCreateStringByReplacingPercentEscapesUsingEncoding(
+      allocator,
+      origString,
+      charsToLeaveEscaped,
+      encoding,
+    );
+  }
+
+  late final _CFURLCreateStringByReplacingPercentEscapesUsingEncodingPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  CFStringRef Function(CFAllocatorRef, CFStringRef, CFStringRef,
+                      CFStringEncoding)>>(
+          'CFURLCreateStringByReplacingPercentEscapesUsingEncoding');
+  late final _CFURLCreateStringByReplacingPercentEscapesUsingEncoding =
+      _CFURLCreateStringByReplacingPercentEscapesUsingEncodingPtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, CFStringRef, CFStringRef, int)>();
+
+  CFStringRef CFURLCreateStringByAddingPercentEscapes(
+    CFAllocatorRef allocator,
+    CFStringRef originalString,
+    CFStringRef charactersToLeaveUnescaped,
+    CFStringRef legalURLCharactersToBeEscaped,
+    int encoding,
+  ) {
+    return _CFURLCreateStringByAddingPercentEscapes(
+      allocator,
+      originalString,
+      charactersToLeaveUnescaped,
+      legalURLCharactersToBeEscaped,
+      encoding,
+    );
+  }
+
+  late final _CFURLCreateStringByAddingPercentEscapesPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(
+              CFAllocatorRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringEncoding)>>('CFURLCreateStringByAddingPercentEscapes');
+  late final _CFURLCreateStringByAddingPercentEscapes =
+      _CFURLCreateStringByAddingPercentEscapesPtr.asFunction<
+          CFStringRef Function(
+              CFAllocatorRef, CFStringRef, CFStringRef, CFStringRef, int)>();
+
+  int CFURLIsFileReferenceURL(
+    CFURLRef url,
+  ) {
+    return _CFURLIsFileReferenceURL(
+      url,
+    );
+  }
+
+  late final _CFURLIsFileReferenceURLPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFURLRef)>>(
+          'CFURLIsFileReferenceURL');
+  late final _CFURLIsFileReferenceURL =
+      _CFURLIsFileReferenceURLPtr.asFunction<int Function(CFURLRef)>();
+
+  CFURLRef CFURLCreateFileReferenceURL(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLCreateFileReferenceURL(
+      allocator,
+      url,
+      error,
+    );
+  }
+
+  late final _CFURLCreateFileReferenceURLPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef,
+              ffi.Pointer<CFErrorRef>)>>('CFURLCreateFileReferenceURL');
+  late final _CFURLCreateFileReferenceURL =
+      _CFURLCreateFileReferenceURLPtr.asFunction<
+          CFURLRef Function(
+              CFAllocatorRef, CFURLRef, ffi.Pointer<CFErrorRef>)>();
+
+  CFURLRef CFURLCreateFilePathURL(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLCreateFilePathURL(
+      allocator,
+      url,
+      error,
+    );
+  }
+
+  late final _CFURLCreateFilePathURLPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFAllocatorRef, CFURLRef,
+              ffi.Pointer<CFErrorRef>)>>('CFURLCreateFilePathURL');
+  late final _CFURLCreateFilePathURL = _CFURLCreateFilePathURLPtr.asFunction<
+      CFURLRef Function(CFAllocatorRef, CFURLRef, ffi.Pointer<CFErrorRef>)>();
+
+  CFURLRef CFURLCreateFromFSRef(
+    CFAllocatorRef allocator,
+    ffi.Pointer<FSRef> fsRef,
+  ) {
+    return _CFURLCreateFromFSRef(
+      allocator,
+      fsRef,
+    );
+  }
+
+  late final _CFURLCreateFromFSRefPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(
+              CFAllocatorRef, ffi.Pointer<FSRef>)>>('CFURLCreateFromFSRef');
+  late final _CFURLCreateFromFSRef = _CFURLCreateFromFSRefPtr.asFunction<
+      CFURLRef Function(CFAllocatorRef, ffi.Pointer<FSRef>)>();
+
+  int CFURLGetFSRef(
+    CFURLRef url,
+    ffi.Pointer<FSRef> fsRef,
+  ) {
+    return _CFURLGetFSRef(
+      url,
+      fsRef,
+    );
+  }
+
+  late final _CFURLGetFSRefPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFURLRef, ffi.Pointer<FSRef>)>>(
+      'CFURLGetFSRef');
+  late final _CFURLGetFSRef = _CFURLGetFSRefPtr.asFunction<
+      int Function(CFURLRef, ffi.Pointer<FSRef>)>();
+
+  int CFURLCopyResourcePropertyForKey(
+    CFURLRef url,
+    CFStringRef key,
+    ffi.Pointer<ffi.Void> propertyValueTypeRefPtr,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLCopyResourcePropertyForKey(
+      url,
+      key,
+      propertyValueTypeRefPtr,
+      error,
+    );
+  }
+
+  late final _CFURLCopyResourcePropertyForKeyPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFURLRef, CFStringRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<CFErrorRef>)>>('CFURLCopyResourcePropertyForKey');
+  late final _CFURLCopyResourcePropertyForKey =
+      _CFURLCopyResourcePropertyForKeyPtr.asFunction<
+          int Function(CFURLRef, CFStringRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<CFErrorRef>)>();
+
+  CFDictionaryRef CFURLCopyResourcePropertiesForKeys(
+    CFURLRef url,
+    CFArrayRef keys,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLCopyResourcePropertiesForKeys(
+      url,
+      keys,
+      error,
+    );
+  }
+
+  late final _CFURLCopyResourcePropertiesForKeysPtr = _lookup<
+      ffi.NativeFunction<
+          CFDictionaryRef Function(CFURLRef, CFArrayRef,
+              ffi.Pointer<CFErrorRef>)>>('CFURLCopyResourcePropertiesForKeys');
+  late final _CFURLCopyResourcePropertiesForKeys =
+      _CFURLCopyResourcePropertiesForKeysPtr.asFunction<
+          CFDictionaryRef Function(
+              CFURLRef, CFArrayRef, ffi.Pointer<CFErrorRef>)>();
+
+  int CFURLSetResourcePropertyForKey(
+    CFURLRef url,
+    CFStringRef key,
+    CFTypeRef propertyValue,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLSetResourcePropertyForKey(
+      url,
+      key,
+      propertyValue,
+      error,
+    );
+  }
+
+  late final _CFURLSetResourcePropertyForKeyPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFURLRef, CFStringRef, CFTypeRef,
+              ffi.Pointer<CFErrorRef>)>>('CFURLSetResourcePropertyForKey');
+  late final _CFURLSetResourcePropertyForKey =
+      _CFURLSetResourcePropertyForKeyPtr.asFunction<
+          int Function(
+              CFURLRef, CFStringRef, CFTypeRef, ffi.Pointer<CFErrorRef>)>();
+
+  int CFURLSetResourcePropertiesForKeys(
+    CFURLRef url,
+    CFDictionaryRef keyedPropertyValues,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLSetResourcePropertiesForKeys(
+      url,
+      keyedPropertyValues,
+      error,
+    );
+  }
+
+  late final _CFURLSetResourcePropertiesForKeysPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFURLRef, CFDictionaryRef,
+              ffi.Pointer<CFErrorRef>)>>('CFURLSetResourcePropertiesForKeys');
+  late final _CFURLSetResourcePropertiesForKeys =
+      _CFURLSetResourcePropertiesForKeysPtr.asFunction<
+          int Function(CFURLRef, CFDictionaryRef, ffi.Pointer<CFErrorRef>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFURLKeysOfUnsetValuesKey =
+      _lookup<CFStringRef>('kCFURLKeysOfUnsetValuesKey');
+
+  CFStringRef get kCFURLKeysOfUnsetValuesKey =>
+      _kCFURLKeysOfUnsetValuesKey.value;
+
+  set kCFURLKeysOfUnsetValuesKey(CFStringRef value) =>
+      _kCFURLKeysOfUnsetValuesKey.value = value;
+
+  void CFURLClearResourcePropertyCacheForKey(
+    CFURLRef url,
+    CFStringRef key,
+  ) {
+    return _CFURLClearResourcePropertyCacheForKey(
+      url,
+      key,
+    );
+  }
+
+  late final _CFURLClearResourcePropertyCacheForKeyPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFURLRef, CFStringRef)>>(
+          'CFURLClearResourcePropertyCacheForKey');
+  late final _CFURLClearResourcePropertyCacheForKey =
+      _CFURLClearResourcePropertyCacheForKeyPtr.asFunction<
+          void Function(CFURLRef, CFStringRef)>();
+
+  void CFURLClearResourcePropertyCache(
+    CFURLRef url,
+  ) {
+    return _CFURLClearResourcePropertyCache(
+      url,
+    );
+  }
+
+  late final _CFURLClearResourcePropertyCachePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFURLRef)>>(
+          'CFURLClearResourcePropertyCache');
+  late final _CFURLClearResourcePropertyCache =
+      _CFURLClearResourcePropertyCachePtr.asFunction<void Function(CFURLRef)>();
+
+  void CFURLSetTemporaryResourcePropertyForKey(
+    CFURLRef url,
+    CFStringRef key,
+    CFTypeRef propertyValue,
+  ) {
+    return _CFURLSetTemporaryResourcePropertyForKey(
+      url,
+      key,
+      propertyValue,
+    );
+  }
+
+  late final _CFURLSetTemporaryResourcePropertyForKeyPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFURLRef, CFStringRef, CFTypeRef)>>(
+      'CFURLSetTemporaryResourcePropertyForKey');
+  late final _CFURLSetTemporaryResourcePropertyForKey =
+      _CFURLSetTemporaryResourcePropertyForKeyPtr.asFunction<
+          void Function(CFURLRef, CFStringRef, CFTypeRef)>();
+
+  int CFURLResourceIsReachable(
+    CFURLRef url,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLResourceIsReachable(
+      url,
+      error,
+    );
+  }
+
+  late final _CFURLResourceIsReachablePtr = _lookup<
+          ffi
+          .NativeFunction<Boolean Function(CFURLRef, ffi.Pointer<CFErrorRef>)>>(
+      'CFURLResourceIsReachable');
+  late final _CFURLResourceIsReachable = _CFURLResourceIsReachablePtr
+      .asFunction<int Function(CFURLRef, ffi.Pointer<CFErrorRef>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFURLNameKey =
+      _lookup<CFStringRef>('kCFURLNameKey');
+
+  CFStringRef get kCFURLNameKey => _kCFURLNameKey.value;
+
+  set kCFURLNameKey(CFStringRef value) => _kCFURLNameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLLocalizedNameKey =
+      _lookup<CFStringRef>('kCFURLLocalizedNameKey');
+
+  CFStringRef get kCFURLLocalizedNameKey => _kCFURLLocalizedNameKey.value;
+
+  set kCFURLLocalizedNameKey(CFStringRef value) =>
+      _kCFURLLocalizedNameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsRegularFileKey =
+      _lookup<CFStringRef>('kCFURLIsRegularFileKey');
+
+  CFStringRef get kCFURLIsRegularFileKey => _kCFURLIsRegularFileKey.value;
+
+  set kCFURLIsRegularFileKey(CFStringRef value) =>
+      _kCFURLIsRegularFileKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsDirectoryKey =
+      _lookup<CFStringRef>('kCFURLIsDirectoryKey');
+
+  CFStringRef get kCFURLIsDirectoryKey => _kCFURLIsDirectoryKey.value;
+
+  set kCFURLIsDirectoryKey(CFStringRef value) =>
+      _kCFURLIsDirectoryKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsSymbolicLinkKey =
+      _lookup<CFStringRef>('kCFURLIsSymbolicLinkKey');
+
+  CFStringRef get kCFURLIsSymbolicLinkKey => _kCFURLIsSymbolicLinkKey.value;
+
+  set kCFURLIsSymbolicLinkKey(CFStringRef value) =>
+      _kCFURLIsSymbolicLinkKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsVolumeKey =
+      _lookup<CFStringRef>('kCFURLIsVolumeKey');
+
+  CFStringRef get kCFURLIsVolumeKey => _kCFURLIsVolumeKey.value;
+
+  set kCFURLIsVolumeKey(CFStringRef value) => _kCFURLIsVolumeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsPackageKey =
+      _lookup<CFStringRef>('kCFURLIsPackageKey');
+
+  CFStringRef get kCFURLIsPackageKey => _kCFURLIsPackageKey.value;
+
+  set kCFURLIsPackageKey(CFStringRef value) =>
+      _kCFURLIsPackageKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsApplicationKey =
+      _lookup<CFStringRef>('kCFURLIsApplicationKey');
+
+  CFStringRef get kCFURLIsApplicationKey => _kCFURLIsApplicationKey.value;
+
+  set kCFURLIsApplicationKey(CFStringRef value) =>
+      _kCFURLIsApplicationKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLApplicationIsScriptableKey =
+      _lookup<CFStringRef>('kCFURLApplicationIsScriptableKey');
+
+  CFStringRef get kCFURLApplicationIsScriptableKey =>
+      _kCFURLApplicationIsScriptableKey.value;
+
+  set kCFURLApplicationIsScriptableKey(CFStringRef value) =>
+      _kCFURLApplicationIsScriptableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsSystemImmutableKey =
+      _lookup<CFStringRef>('kCFURLIsSystemImmutableKey');
+
+  CFStringRef get kCFURLIsSystemImmutableKey =>
+      _kCFURLIsSystemImmutableKey.value;
+
+  set kCFURLIsSystemImmutableKey(CFStringRef value) =>
+      _kCFURLIsSystemImmutableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsUserImmutableKey =
+      _lookup<CFStringRef>('kCFURLIsUserImmutableKey');
+
+  CFStringRef get kCFURLIsUserImmutableKey => _kCFURLIsUserImmutableKey.value;
+
+  set kCFURLIsUserImmutableKey(CFStringRef value) =>
+      _kCFURLIsUserImmutableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsHiddenKey =
+      _lookup<CFStringRef>('kCFURLIsHiddenKey');
+
+  CFStringRef get kCFURLIsHiddenKey => _kCFURLIsHiddenKey.value;
+
+  set kCFURLIsHiddenKey(CFStringRef value) => _kCFURLIsHiddenKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLHasHiddenExtensionKey =
+      _lookup<CFStringRef>('kCFURLHasHiddenExtensionKey');
+
+  CFStringRef get kCFURLHasHiddenExtensionKey =>
+      _kCFURLHasHiddenExtensionKey.value;
+
+  set kCFURLHasHiddenExtensionKey(CFStringRef value) =>
+      _kCFURLHasHiddenExtensionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLCreationDateKey =
+      _lookup<CFStringRef>('kCFURLCreationDateKey');
+
+  CFStringRef get kCFURLCreationDateKey => _kCFURLCreationDateKey.value;
+
+  set kCFURLCreationDateKey(CFStringRef value) =>
+      _kCFURLCreationDateKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLContentAccessDateKey =
+      _lookup<CFStringRef>('kCFURLContentAccessDateKey');
+
+  CFStringRef get kCFURLContentAccessDateKey =>
+      _kCFURLContentAccessDateKey.value;
+
+  set kCFURLContentAccessDateKey(CFStringRef value) =>
+      _kCFURLContentAccessDateKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLContentModificationDateKey =
+      _lookup<CFStringRef>('kCFURLContentModificationDateKey');
+
+  CFStringRef get kCFURLContentModificationDateKey =>
+      _kCFURLContentModificationDateKey.value;
+
+  set kCFURLContentModificationDateKey(CFStringRef value) =>
+      _kCFURLContentModificationDateKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLAttributeModificationDateKey =
+      _lookup<CFStringRef>('kCFURLAttributeModificationDateKey');
+
+  CFStringRef get kCFURLAttributeModificationDateKey =>
+      _kCFURLAttributeModificationDateKey.value;
+
+  set kCFURLAttributeModificationDateKey(CFStringRef value) =>
+      _kCFURLAttributeModificationDateKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileContentIdentifierKey =
+      _lookup<CFStringRef>('kCFURLFileContentIdentifierKey');
+
+  CFStringRef get kCFURLFileContentIdentifierKey =>
+      _kCFURLFileContentIdentifierKey.value;
+
+  set kCFURLFileContentIdentifierKey(CFStringRef value) =>
+      _kCFURLFileContentIdentifierKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLMayShareFileContentKey =
+      _lookup<CFStringRef>('kCFURLMayShareFileContentKey');
+
+  CFStringRef get kCFURLMayShareFileContentKey =>
+      _kCFURLMayShareFileContentKey.value;
+
+  set kCFURLMayShareFileContentKey(CFStringRef value) =>
+      _kCFURLMayShareFileContentKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLMayHaveExtendedAttributesKey =
+      _lookup<CFStringRef>('kCFURLMayHaveExtendedAttributesKey');
+
+  CFStringRef get kCFURLMayHaveExtendedAttributesKey =>
+      _kCFURLMayHaveExtendedAttributesKey.value;
+
+  set kCFURLMayHaveExtendedAttributesKey(CFStringRef value) =>
+      _kCFURLMayHaveExtendedAttributesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsPurgeableKey =
+      _lookup<CFStringRef>('kCFURLIsPurgeableKey');
+
+  CFStringRef get kCFURLIsPurgeableKey => _kCFURLIsPurgeableKey.value;
+
+  set kCFURLIsPurgeableKey(CFStringRef value) =>
+      _kCFURLIsPurgeableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsSparseKey =
+      _lookup<CFStringRef>('kCFURLIsSparseKey');
+
+  CFStringRef get kCFURLIsSparseKey => _kCFURLIsSparseKey.value;
+
+  set kCFURLIsSparseKey(CFStringRef value) => _kCFURLIsSparseKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLLinkCountKey =
+      _lookup<CFStringRef>('kCFURLLinkCountKey');
+
+  CFStringRef get kCFURLLinkCountKey => _kCFURLLinkCountKey.value;
+
+  set kCFURLLinkCountKey(CFStringRef value) =>
+      _kCFURLLinkCountKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLParentDirectoryURLKey =
+      _lookup<CFStringRef>('kCFURLParentDirectoryURLKey');
+
+  CFStringRef get kCFURLParentDirectoryURLKey =>
+      _kCFURLParentDirectoryURLKey.value;
+
+  set kCFURLParentDirectoryURLKey(CFStringRef value) =>
+      _kCFURLParentDirectoryURLKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeURLKey =
+      _lookup<CFStringRef>('kCFURLVolumeURLKey');
+
+  CFStringRef get kCFURLVolumeURLKey => _kCFURLVolumeURLKey.value;
+
+  set kCFURLVolumeURLKey(CFStringRef value) =>
+      _kCFURLVolumeURLKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLTypeIdentifierKey =
+      _lookup<CFStringRef>('kCFURLTypeIdentifierKey');
+
+  CFStringRef get kCFURLTypeIdentifierKey => _kCFURLTypeIdentifierKey.value;
+
+  set kCFURLTypeIdentifierKey(CFStringRef value) =>
+      _kCFURLTypeIdentifierKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLLocalizedTypeDescriptionKey =
+      _lookup<CFStringRef>('kCFURLLocalizedTypeDescriptionKey');
+
+  CFStringRef get kCFURLLocalizedTypeDescriptionKey =>
+      _kCFURLLocalizedTypeDescriptionKey.value;
+
+  set kCFURLLocalizedTypeDescriptionKey(CFStringRef value) =>
+      _kCFURLLocalizedTypeDescriptionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLLabelNumberKey =
+      _lookup<CFStringRef>('kCFURLLabelNumberKey');
+
+  CFStringRef get kCFURLLabelNumberKey => _kCFURLLabelNumberKey.value;
+
+  set kCFURLLabelNumberKey(CFStringRef value) =>
+      _kCFURLLabelNumberKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLLabelColorKey =
+      _lookup<CFStringRef>('kCFURLLabelColorKey');
+
+  CFStringRef get kCFURLLabelColorKey => _kCFURLLabelColorKey.value;
+
+  set kCFURLLabelColorKey(CFStringRef value) =>
+      _kCFURLLabelColorKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLLocalizedLabelKey =
+      _lookup<CFStringRef>('kCFURLLocalizedLabelKey');
+
+  CFStringRef get kCFURLLocalizedLabelKey => _kCFURLLocalizedLabelKey.value;
+
+  set kCFURLLocalizedLabelKey(CFStringRef value) =>
+      _kCFURLLocalizedLabelKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLEffectiveIconKey =
+      _lookup<CFStringRef>('kCFURLEffectiveIconKey');
+
+  CFStringRef get kCFURLEffectiveIconKey => _kCFURLEffectiveIconKey.value;
+
+  set kCFURLEffectiveIconKey(CFStringRef value) =>
+      _kCFURLEffectiveIconKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLCustomIconKey =
+      _lookup<CFStringRef>('kCFURLCustomIconKey');
+
+  CFStringRef get kCFURLCustomIconKey => _kCFURLCustomIconKey.value;
+
+  set kCFURLCustomIconKey(CFStringRef value) =>
+      _kCFURLCustomIconKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceIdentifierKey =
+      _lookup<CFStringRef>('kCFURLFileResourceIdentifierKey');
+
+  CFStringRef get kCFURLFileResourceIdentifierKey =>
+      _kCFURLFileResourceIdentifierKey.value;
+
+  set kCFURLFileResourceIdentifierKey(CFStringRef value) =>
+      _kCFURLFileResourceIdentifierKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIdentifierKey =
+      _lookup<CFStringRef>('kCFURLVolumeIdentifierKey');
+
+  CFStringRef get kCFURLVolumeIdentifierKey => _kCFURLVolumeIdentifierKey.value;
+
+  set kCFURLVolumeIdentifierKey(CFStringRef value) =>
+      _kCFURLVolumeIdentifierKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLPreferredIOBlockSizeKey =
+      _lookup<CFStringRef>('kCFURLPreferredIOBlockSizeKey');
+
+  CFStringRef get kCFURLPreferredIOBlockSizeKey =>
+      _kCFURLPreferredIOBlockSizeKey.value;
+
+  set kCFURLPreferredIOBlockSizeKey(CFStringRef value) =>
+      _kCFURLPreferredIOBlockSizeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsReadableKey =
+      _lookup<CFStringRef>('kCFURLIsReadableKey');
+
+  CFStringRef get kCFURLIsReadableKey => _kCFURLIsReadableKey.value;
+
+  set kCFURLIsReadableKey(CFStringRef value) =>
+      _kCFURLIsReadableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsWritableKey =
+      _lookup<CFStringRef>('kCFURLIsWritableKey');
+
+  CFStringRef get kCFURLIsWritableKey => _kCFURLIsWritableKey.value;
+
+  set kCFURLIsWritableKey(CFStringRef value) =>
+      _kCFURLIsWritableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsExecutableKey =
+      _lookup<CFStringRef>('kCFURLIsExecutableKey');
+
+  CFStringRef get kCFURLIsExecutableKey => _kCFURLIsExecutableKey.value;
+
+  set kCFURLIsExecutableKey(CFStringRef value) =>
+      _kCFURLIsExecutableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileSecurityKey =
+      _lookup<CFStringRef>('kCFURLFileSecurityKey');
+
+  CFStringRef get kCFURLFileSecurityKey => _kCFURLFileSecurityKey.value;
+
+  set kCFURLFileSecurityKey(CFStringRef value) =>
+      _kCFURLFileSecurityKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsExcludedFromBackupKey =
+      _lookup<CFStringRef>('kCFURLIsExcludedFromBackupKey');
+
+  CFStringRef get kCFURLIsExcludedFromBackupKey =>
+      _kCFURLIsExcludedFromBackupKey.value;
+
+  set kCFURLIsExcludedFromBackupKey(CFStringRef value) =>
+      _kCFURLIsExcludedFromBackupKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLTagNamesKey =
+      _lookup<CFStringRef>('kCFURLTagNamesKey');
+
+  CFStringRef get kCFURLTagNamesKey => _kCFURLTagNamesKey.value;
+
+  set kCFURLTagNamesKey(CFStringRef value) => _kCFURLTagNamesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLPathKey =
+      _lookup<CFStringRef>('kCFURLPathKey');
+
+  CFStringRef get kCFURLPathKey => _kCFURLPathKey.value;
+
+  set kCFURLPathKey(CFStringRef value) => _kCFURLPathKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLCanonicalPathKey =
+      _lookup<CFStringRef>('kCFURLCanonicalPathKey');
+
+  CFStringRef get kCFURLCanonicalPathKey => _kCFURLCanonicalPathKey.value;
+
+  set kCFURLCanonicalPathKey(CFStringRef value) =>
+      _kCFURLCanonicalPathKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsMountTriggerKey =
+      _lookup<CFStringRef>('kCFURLIsMountTriggerKey');
+
+  CFStringRef get kCFURLIsMountTriggerKey => _kCFURLIsMountTriggerKey.value;
+
+  set kCFURLIsMountTriggerKey(CFStringRef value) =>
+      _kCFURLIsMountTriggerKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLGenerationIdentifierKey =
+      _lookup<CFStringRef>('kCFURLGenerationIdentifierKey');
+
+  CFStringRef get kCFURLGenerationIdentifierKey =>
+      _kCFURLGenerationIdentifierKey.value;
+
+  set kCFURLGenerationIdentifierKey(CFStringRef value) =>
+      _kCFURLGenerationIdentifierKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLDocumentIdentifierKey =
+      _lookup<CFStringRef>('kCFURLDocumentIdentifierKey');
+
+  CFStringRef get kCFURLDocumentIdentifierKey =>
+      _kCFURLDocumentIdentifierKey.value;
+
+  set kCFURLDocumentIdentifierKey(CFStringRef value) =>
+      _kCFURLDocumentIdentifierKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLAddedToDirectoryDateKey =
+      _lookup<CFStringRef>('kCFURLAddedToDirectoryDateKey');
+
+  CFStringRef get kCFURLAddedToDirectoryDateKey =>
+      _kCFURLAddedToDirectoryDateKey.value;
+
+  set kCFURLAddedToDirectoryDateKey(CFStringRef value) =>
+      _kCFURLAddedToDirectoryDateKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLQuarantinePropertiesKey =
+      _lookup<CFStringRef>('kCFURLQuarantinePropertiesKey');
+
+  CFStringRef get kCFURLQuarantinePropertiesKey =>
+      _kCFURLQuarantinePropertiesKey.value;
+
+  set kCFURLQuarantinePropertiesKey(CFStringRef value) =>
+      _kCFURLQuarantinePropertiesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeKey =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeKey');
+
+  CFStringRef get kCFURLFileResourceTypeKey => _kCFURLFileResourceTypeKey.value;
+
+  set kCFURLFileResourceTypeKey(CFStringRef value) =>
+      _kCFURLFileResourceTypeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeNamedPipe =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeNamedPipe');
+
+  CFStringRef get kCFURLFileResourceTypeNamedPipe =>
+      _kCFURLFileResourceTypeNamedPipe.value;
+
+  set kCFURLFileResourceTypeNamedPipe(CFStringRef value) =>
+      _kCFURLFileResourceTypeNamedPipe.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeCharacterSpecial =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeCharacterSpecial');
+
+  CFStringRef get kCFURLFileResourceTypeCharacterSpecial =>
+      _kCFURLFileResourceTypeCharacterSpecial.value;
+
+  set kCFURLFileResourceTypeCharacterSpecial(CFStringRef value) =>
+      _kCFURLFileResourceTypeCharacterSpecial.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeDirectory =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeDirectory');
+
+  CFStringRef get kCFURLFileResourceTypeDirectory =>
+      _kCFURLFileResourceTypeDirectory.value;
+
+  set kCFURLFileResourceTypeDirectory(CFStringRef value) =>
+      _kCFURLFileResourceTypeDirectory.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeBlockSpecial =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeBlockSpecial');
+
+  CFStringRef get kCFURLFileResourceTypeBlockSpecial =>
+      _kCFURLFileResourceTypeBlockSpecial.value;
+
+  set kCFURLFileResourceTypeBlockSpecial(CFStringRef value) =>
+      _kCFURLFileResourceTypeBlockSpecial.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeRegular =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeRegular');
+
+  CFStringRef get kCFURLFileResourceTypeRegular =>
+      _kCFURLFileResourceTypeRegular.value;
+
+  set kCFURLFileResourceTypeRegular(CFStringRef value) =>
+      _kCFURLFileResourceTypeRegular.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeSymbolicLink =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeSymbolicLink');
+
+  CFStringRef get kCFURLFileResourceTypeSymbolicLink =>
+      _kCFURLFileResourceTypeSymbolicLink.value;
+
+  set kCFURLFileResourceTypeSymbolicLink(CFStringRef value) =>
+      _kCFURLFileResourceTypeSymbolicLink.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeSocket =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeSocket');
+
+  CFStringRef get kCFURLFileResourceTypeSocket =>
+      _kCFURLFileResourceTypeSocket.value;
+
+  set kCFURLFileResourceTypeSocket(CFStringRef value) =>
+      _kCFURLFileResourceTypeSocket.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileResourceTypeUnknown =
+      _lookup<CFStringRef>('kCFURLFileResourceTypeUnknown');
+
+  CFStringRef get kCFURLFileResourceTypeUnknown =>
+      _kCFURLFileResourceTypeUnknown.value;
+
+  set kCFURLFileResourceTypeUnknown(CFStringRef value) =>
+      _kCFURLFileResourceTypeUnknown.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileSizeKey =
+      _lookup<CFStringRef>('kCFURLFileSizeKey');
+
+  CFStringRef get kCFURLFileSizeKey => _kCFURLFileSizeKey.value;
+
+  set kCFURLFileSizeKey(CFStringRef value) => _kCFURLFileSizeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileAllocatedSizeKey =
+      _lookup<CFStringRef>('kCFURLFileAllocatedSizeKey');
+
+  CFStringRef get kCFURLFileAllocatedSizeKey =>
+      _kCFURLFileAllocatedSizeKey.value;
+
+  set kCFURLFileAllocatedSizeKey(CFStringRef value) =>
+      _kCFURLFileAllocatedSizeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLTotalFileSizeKey =
+      _lookup<CFStringRef>('kCFURLTotalFileSizeKey');
+
+  CFStringRef get kCFURLTotalFileSizeKey => _kCFURLTotalFileSizeKey.value;
+
+  set kCFURLTotalFileSizeKey(CFStringRef value) =>
+      _kCFURLTotalFileSizeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLTotalFileAllocatedSizeKey =
+      _lookup<CFStringRef>('kCFURLTotalFileAllocatedSizeKey');
+
+  CFStringRef get kCFURLTotalFileAllocatedSizeKey =>
+      _kCFURLTotalFileAllocatedSizeKey.value;
+
+  set kCFURLTotalFileAllocatedSizeKey(CFStringRef value) =>
+      _kCFURLTotalFileAllocatedSizeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsAliasFileKey =
+      _lookup<CFStringRef>('kCFURLIsAliasFileKey');
+
+  CFStringRef get kCFURLIsAliasFileKey => _kCFURLIsAliasFileKey.value;
+
+  set kCFURLIsAliasFileKey(CFStringRef value) =>
+      _kCFURLIsAliasFileKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileProtectionKey =
+      _lookup<CFStringRef>('kCFURLFileProtectionKey');
+
+  CFStringRef get kCFURLFileProtectionKey => _kCFURLFileProtectionKey.value;
+
+  set kCFURLFileProtectionKey(CFStringRef value) =>
+      _kCFURLFileProtectionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileProtectionNone =
+      _lookup<CFStringRef>('kCFURLFileProtectionNone');
+
+  CFStringRef get kCFURLFileProtectionNone => _kCFURLFileProtectionNone.value;
+
+  set kCFURLFileProtectionNone(CFStringRef value) =>
+      _kCFURLFileProtectionNone.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileProtectionComplete =
+      _lookup<CFStringRef>('kCFURLFileProtectionComplete');
+
+  CFStringRef get kCFURLFileProtectionComplete =>
+      _kCFURLFileProtectionComplete.value;
+
+  set kCFURLFileProtectionComplete(CFStringRef value) =>
+      _kCFURLFileProtectionComplete.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileProtectionCompleteUnlessOpen =
+      _lookup<CFStringRef>('kCFURLFileProtectionCompleteUnlessOpen');
+
+  CFStringRef get kCFURLFileProtectionCompleteUnlessOpen =>
+      _kCFURLFileProtectionCompleteUnlessOpen.value;
+
+  set kCFURLFileProtectionCompleteUnlessOpen(CFStringRef value) =>
+      _kCFURLFileProtectionCompleteUnlessOpen.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLFileProtectionCompleteUntilFirstUserAuthentication =
+      _lookup<CFStringRef>(
+          'kCFURLFileProtectionCompleteUntilFirstUserAuthentication');
+
+  CFStringRef get kCFURLFileProtectionCompleteUntilFirstUserAuthentication =>
+      _kCFURLFileProtectionCompleteUntilFirstUserAuthentication.value;
+
+  set kCFURLFileProtectionCompleteUntilFirstUserAuthentication(
+          CFStringRef value) =>
+      _kCFURLFileProtectionCompleteUntilFirstUserAuthentication.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeLocalizedFormatDescriptionKey =
+      _lookup<CFStringRef>('kCFURLVolumeLocalizedFormatDescriptionKey');
+
+  CFStringRef get kCFURLVolumeLocalizedFormatDescriptionKey =>
+      _kCFURLVolumeLocalizedFormatDescriptionKey.value;
+
+  set kCFURLVolumeLocalizedFormatDescriptionKey(CFStringRef value) =>
+      _kCFURLVolumeLocalizedFormatDescriptionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeTotalCapacityKey =
+      _lookup<CFStringRef>('kCFURLVolumeTotalCapacityKey');
+
+  CFStringRef get kCFURLVolumeTotalCapacityKey =>
+      _kCFURLVolumeTotalCapacityKey.value;
+
+  set kCFURLVolumeTotalCapacityKey(CFStringRef value) =>
+      _kCFURLVolumeTotalCapacityKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeAvailableCapacityKey =
+      _lookup<CFStringRef>('kCFURLVolumeAvailableCapacityKey');
+
+  CFStringRef get kCFURLVolumeAvailableCapacityKey =>
+      _kCFURLVolumeAvailableCapacityKey.value;
+
+  set kCFURLVolumeAvailableCapacityKey(CFStringRef value) =>
+      _kCFURLVolumeAvailableCapacityKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeAvailableCapacityForImportantUsageKey =
+      _lookup<CFStringRef>('kCFURLVolumeAvailableCapacityForImportantUsageKey');
+
+  CFStringRef get kCFURLVolumeAvailableCapacityForImportantUsageKey =>
+      _kCFURLVolumeAvailableCapacityForImportantUsageKey.value;
+
+  set kCFURLVolumeAvailableCapacityForImportantUsageKey(CFStringRef value) =>
+      _kCFURLVolumeAvailableCapacityForImportantUsageKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeAvailableCapacityForOpportunisticUsageKey =
+      _lookup<CFStringRef>(
+          'kCFURLVolumeAvailableCapacityForOpportunisticUsageKey');
+
+  CFStringRef get kCFURLVolumeAvailableCapacityForOpportunisticUsageKey =>
+      _kCFURLVolumeAvailableCapacityForOpportunisticUsageKey.value;
+
+  set kCFURLVolumeAvailableCapacityForOpportunisticUsageKey(
+          CFStringRef value) =>
+      _kCFURLVolumeAvailableCapacityForOpportunisticUsageKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeResourceCountKey =
+      _lookup<CFStringRef>('kCFURLVolumeResourceCountKey');
+
+  CFStringRef get kCFURLVolumeResourceCountKey =>
+      _kCFURLVolumeResourceCountKey.value;
+
+  set kCFURLVolumeResourceCountKey(CFStringRef value) =>
+      _kCFURLVolumeResourceCountKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsPersistentIDsKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsPersistentIDsKey');
+
+  CFStringRef get kCFURLVolumeSupportsPersistentIDsKey =>
+      _kCFURLVolumeSupportsPersistentIDsKey.value;
+
+  set kCFURLVolumeSupportsPersistentIDsKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsPersistentIDsKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsSymbolicLinksKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsSymbolicLinksKey');
+
+  CFStringRef get kCFURLVolumeSupportsSymbolicLinksKey =>
+      _kCFURLVolumeSupportsSymbolicLinksKey.value;
+
+  set kCFURLVolumeSupportsSymbolicLinksKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsSymbolicLinksKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsHardLinksKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsHardLinksKey');
+
+  CFStringRef get kCFURLVolumeSupportsHardLinksKey =>
+      _kCFURLVolumeSupportsHardLinksKey.value;
+
+  set kCFURLVolumeSupportsHardLinksKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsHardLinksKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsJournalingKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsJournalingKey');
+
+  CFStringRef get kCFURLVolumeSupportsJournalingKey =>
+      _kCFURLVolumeSupportsJournalingKey.value;
+
+  set kCFURLVolumeSupportsJournalingKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsJournalingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsJournalingKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsJournalingKey');
+
+  CFStringRef get kCFURLVolumeIsJournalingKey =>
+      _kCFURLVolumeIsJournalingKey.value;
+
+  set kCFURLVolumeIsJournalingKey(CFStringRef value) =>
+      _kCFURLVolumeIsJournalingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsSparseFilesKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsSparseFilesKey');
+
+  CFStringRef get kCFURLVolumeSupportsSparseFilesKey =>
+      _kCFURLVolumeSupportsSparseFilesKey.value;
+
+  set kCFURLVolumeSupportsSparseFilesKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsSparseFilesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsZeroRunsKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsZeroRunsKey');
+
+  CFStringRef get kCFURLVolumeSupportsZeroRunsKey =>
+      _kCFURLVolumeSupportsZeroRunsKey.value;
+
+  set kCFURLVolumeSupportsZeroRunsKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsZeroRunsKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeSupportsCaseSensitiveNamesKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsCaseSensitiveNamesKey');
+
+  CFStringRef get kCFURLVolumeSupportsCaseSensitiveNamesKey =>
+      _kCFURLVolumeSupportsCaseSensitiveNamesKey.value;
+
+  set kCFURLVolumeSupportsCaseSensitiveNamesKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsCaseSensitiveNamesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeSupportsCasePreservedNamesKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsCasePreservedNamesKey');
+
+  CFStringRef get kCFURLVolumeSupportsCasePreservedNamesKey =>
+      _kCFURLVolumeSupportsCasePreservedNamesKey.value;
+
+  set kCFURLVolumeSupportsCasePreservedNamesKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsCasePreservedNamesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeSupportsRootDirectoryDatesKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsRootDirectoryDatesKey');
+
+  CFStringRef get kCFURLVolumeSupportsRootDirectoryDatesKey =>
+      _kCFURLVolumeSupportsRootDirectoryDatesKey.value;
+
+  set kCFURLVolumeSupportsRootDirectoryDatesKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsRootDirectoryDatesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsVolumeSizesKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsVolumeSizesKey');
+
+  CFStringRef get kCFURLVolumeSupportsVolumeSizesKey =>
+      _kCFURLVolumeSupportsVolumeSizesKey.value;
+
+  set kCFURLVolumeSupportsVolumeSizesKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsVolumeSizesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsRenamingKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsRenamingKey');
+
+  CFStringRef get kCFURLVolumeSupportsRenamingKey =>
+      _kCFURLVolumeSupportsRenamingKey.value;
+
+  set kCFURLVolumeSupportsRenamingKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsRenamingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeSupportsAdvisoryFileLockingKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsAdvisoryFileLockingKey');
+
+  CFStringRef get kCFURLVolumeSupportsAdvisoryFileLockingKey =>
+      _kCFURLVolumeSupportsAdvisoryFileLockingKey.value;
+
+  set kCFURLVolumeSupportsAdvisoryFileLockingKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsAdvisoryFileLockingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsExtendedSecurityKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsExtendedSecurityKey');
+
+  CFStringRef get kCFURLVolumeSupportsExtendedSecurityKey =>
+      _kCFURLVolumeSupportsExtendedSecurityKey.value;
+
+  set kCFURLVolumeSupportsExtendedSecurityKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsExtendedSecurityKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsBrowsableKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsBrowsableKey');
+
+  CFStringRef get kCFURLVolumeIsBrowsableKey =>
+      _kCFURLVolumeIsBrowsableKey.value;
+
+  set kCFURLVolumeIsBrowsableKey(CFStringRef value) =>
+      _kCFURLVolumeIsBrowsableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeMaximumFileSizeKey =
+      _lookup<CFStringRef>('kCFURLVolumeMaximumFileSizeKey');
+
+  CFStringRef get kCFURLVolumeMaximumFileSizeKey =>
+      _kCFURLVolumeMaximumFileSizeKey.value;
+
+  set kCFURLVolumeMaximumFileSizeKey(CFStringRef value) =>
+      _kCFURLVolumeMaximumFileSizeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsEjectableKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsEjectableKey');
+
+  CFStringRef get kCFURLVolumeIsEjectableKey =>
+      _kCFURLVolumeIsEjectableKey.value;
+
+  set kCFURLVolumeIsEjectableKey(CFStringRef value) =>
+      _kCFURLVolumeIsEjectableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsRemovableKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsRemovableKey');
+
+  CFStringRef get kCFURLVolumeIsRemovableKey =>
+      _kCFURLVolumeIsRemovableKey.value;
+
+  set kCFURLVolumeIsRemovableKey(CFStringRef value) =>
+      _kCFURLVolumeIsRemovableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsInternalKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsInternalKey');
+
+  CFStringRef get kCFURLVolumeIsInternalKey => _kCFURLVolumeIsInternalKey.value;
+
+  set kCFURLVolumeIsInternalKey(CFStringRef value) =>
+      _kCFURLVolumeIsInternalKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsAutomountedKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsAutomountedKey');
+
+  CFStringRef get kCFURLVolumeIsAutomountedKey =>
+      _kCFURLVolumeIsAutomountedKey.value;
+
+  set kCFURLVolumeIsAutomountedKey(CFStringRef value) =>
+      _kCFURLVolumeIsAutomountedKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsLocalKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsLocalKey');
+
+  CFStringRef get kCFURLVolumeIsLocalKey => _kCFURLVolumeIsLocalKey.value;
+
+  set kCFURLVolumeIsLocalKey(CFStringRef value) =>
+      _kCFURLVolumeIsLocalKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsReadOnlyKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsReadOnlyKey');
+
+  CFStringRef get kCFURLVolumeIsReadOnlyKey => _kCFURLVolumeIsReadOnlyKey.value;
+
+  set kCFURLVolumeIsReadOnlyKey(CFStringRef value) =>
+      _kCFURLVolumeIsReadOnlyKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeCreationDateKey =
+      _lookup<CFStringRef>('kCFURLVolumeCreationDateKey');
+
+  CFStringRef get kCFURLVolumeCreationDateKey =>
+      _kCFURLVolumeCreationDateKey.value;
+
+  set kCFURLVolumeCreationDateKey(CFStringRef value) =>
+      _kCFURLVolumeCreationDateKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeURLForRemountingKey =
+      _lookup<CFStringRef>('kCFURLVolumeURLForRemountingKey');
+
+  CFStringRef get kCFURLVolumeURLForRemountingKey =>
+      _kCFURLVolumeURLForRemountingKey.value;
+
+  set kCFURLVolumeURLForRemountingKey(CFStringRef value) =>
+      _kCFURLVolumeURLForRemountingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeUUIDStringKey =
+      _lookup<CFStringRef>('kCFURLVolumeUUIDStringKey');
+
+  CFStringRef get kCFURLVolumeUUIDStringKey => _kCFURLVolumeUUIDStringKey.value;
+
+  set kCFURLVolumeUUIDStringKey(CFStringRef value) =>
+      _kCFURLVolumeUUIDStringKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeNameKey =
+      _lookup<CFStringRef>('kCFURLVolumeNameKey');
+
+  CFStringRef get kCFURLVolumeNameKey => _kCFURLVolumeNameKey.value;
+
+  set kCFURLVolumeNameKey(CFStringRef value) =>
+      _kCFURLVolumeNameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeLocalizedNameKey =
+      _lookup<CFStringRef>('kCFURLVolumeLocalizedNameKey');
+
+  CFStringRef get kCFURLVolumeLocalizedNameKey =>
+      _kCFURLVolumeLocalizedNameKey.value;
+
+  set kCFURLVolumeLocalizedNameKey(CFStringRef value) =>
+      _kCFURLVolumeLocalizedNameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsEncryptedKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsEncryptedKey');
+
+  CFStringRef get kCFURLVolumeIsEncryptedKey =>
+      _kCFURLVolumeIsEncryptedKey.value;
+
+  set kCFURLVolumeIsEncryptedKey(CFStringRef value) =>
+      _kCFURLVolumeIsEncryptedKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeIsRootFileSystemKey =
+      _lookup<CFStringRef>('kCFURLVolumeIsRootFileSystemKey');
+
+  CFStringRef get kCFURLVolumeIsRootFileSystemKey =>
+      _kCFURLVolumeIsRootFileSystemKey.value;
+
+  set kCFURLVolumeIsRootFileSystemKey(CFStringRef value) =>
+      _kCFURLVolumeIsRootFileSystemKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsCompressionKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsCompressionKey');
+
+  CFStringRef get kCFURLVolumeSupportsCompressionKey =>
+      _kCFURLVolumeSupportsCompressionKey.value;
+
+  set kCFURLVolumeSupportsCompressionKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsCompressionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsFileCloningKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsFileCloningKey');
+
+  CFStringRef get kCFURLVolumeSupportsFileCloningKey =>
+      _kCFURLVolumeSupportsFileCloningKey.value;
+
+  set kCFURLVolumeSupportsFileCloningKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsFileCloningKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsSwapRenamingKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsSwapRenamingKey');
+
+  CFStringRef get kCFURLVolumeSupportsSwapRenamingKey =>
+      _kCFURLVolumeSupportsSwapRenamingKey.value;
+
+  set kCFURLVolumeSupportsSwapRenamingKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsSwapRenamingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeSupportsExclusiveRenamingKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsExclusiveRenamingKey');
+
+  CFStringRef get kCFURLVolumeSupportsExclusiveRenamingKey =>
+      _kCFURLVolumeSupportsExclusiveRenamingKey.value;
+
+  set kCFURLVolumeSupportsExclusiveRenamingKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsExclusiveRenamingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsImmutableFilesKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsImmutableFilesKey');
+
+  CFStringRef get kCFURLVolumeSupportsImmutableFilesKey =>
+      _kCFURLVolumeSupportsImmutableFilesKey.value;
+
+  set kCFURLVolumeSupportsImmutableFilesKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsImmutableFilesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLVolumeSupportsAccessPermissionsKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsAccessPermissionsKey');
+
+  CFStringRef get kCFURLVolumeSupportsAccessPermissionsKey =>
+      _kCFURLVolumeSupportsAccessPermissionsKey.value;
+
+  set kCFURLVolumeSupportsAccessPermissionsKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsAccessPermissionsKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLVolumeSupportsFileProtectionKey =
+      _lookup<CFStringRef>('kCFURLVolumeSupportsFileProtectionKey');
+
+  CFStringRef get kCFURLVolumeSupportsFileProtectionKey =>
+      _kCFURLVolumeSupportsFileProtectionKey.value;
+
+  set kCFURLVolumeSupportsFileProtectionKey(CFStringRef value) =>
+      _kCFURLVolumeSupportsFileProtectionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLIsUbiquitousItemKey =
+      _lookup<CFStringRef>('kCFURLIsUbiquitousItemKey');
+
+  CFStringRef get kCFURLIsUbiquitousItemKey => _kCFURLIsUbiquitousItemKey.value;
+
+  set kCFURLIsUbiquitousItemKey(CFStringRef value) =>
+      _kCFURLIsUbiquitousItemKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLUbiquitousItemHasUnresolvedConflictsKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemHasUnresolvedConflictsKey');
+
+  CFStringRef get kCFURLUbiquitousItemHasUnresolvedConflictsKey =>
+      _kCFURLUbiquitousItemHasUnresolvedConflictsKey.value;
+
+  set kCFURLUbiquitousItemHasUnresolvedConflictsKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemHasUnresolvedConflictsKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLUbiquitousItemIsDownloadedKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemIsDownloadedKey');
+
+  CFStringRef get kCFURLUbiquitousItemIsDownloadedKey =>
+      _kCFURLUbiquitousItemIsDownloadedKey.value;
+
+  set kCFURLUbiquitousItemIsDownloadedKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemIsDownloadedKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLUbiquitousItemIsDownloadingKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemIsDownloadingKey');
+
+  CFStringRef get kCFURLUbiquitousItemIsDownloadingKey =>
+      _kCFURLUbiquitousItemIsDownloadingKey.value;
+
+  set kCFURLUbiquitousItemIsDownloadingKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemIsDownloadingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLUbiquitousItemIsUploadedKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemIsUploadedKey');
+
+  CFStringRef get kCFURLUbiquitousItemIsUploadedKey =>
+      _kCFURLUbiquitousItemIsUploadedKey.value;
+
+  set kCFURLUbiquitousItemIsUploadedKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemIsUploadedKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLUbiquitousItemIsUploadingKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemIsUploadingKey');
+
+  CFStringRef get kCFURLUbiquitousItemIsUploadingKey =>
+      _kCFURLUbiquitousItemIsUploadingKey.value;
+
+  set kCFURLUbiquitousItemIsUploadingKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemIsUploadingKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLUbiquitousItemPercentDownloadedKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemPercentDownloadedKey');
+
+  CFStringRef get kCFURLUbiquitousItemPercentDownloadedKey =>
+      _kCFURLUbiquitousItemPercentDownloadedKey.value;
+
+  set kCFURLUbiquitousItemPercentDownloadedKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemPercentDownloadedKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLUbiquitousItemPercentUploadedKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemPercentUploadedKey');
+
+  CFStringRef get kCFURLUbiquitousItemPercentUploadedKey =>
+      _kCFURLUbiquitousItemPercentUploadedKey.value;
+
+  set kCFURLUbiquitousItemPercentUploadedKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemPercentUploadedKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLUbiquitousItemDownloadingStatusKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemDownloadingStatusKey');
+
+  CFStringRef get kCFURLUbiquitousItemDownloadingStatusKey =>
+      _kCFURLUbiquitousItemDownloadingStatusKey.value;
+
+  set kCFURLUbiquitousItemDownloadingStatusKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemDownloadingStatusKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLUbiquitousItemDownloadingErrorKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemDownloadingErrorKey');
+
+  CFStringRef get kCFURLUbiquitousItemDownloadingErrorKey =>
+      _kCFURLUbiquitousItemDownloadingErrorKey.value;
+
+  set kCFURLUbiquitousItemDownloadingErrorKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemDownloadingErrorKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLUbiquitousItemUploadingErrorKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemUploadingErrorKey');
+
+  CFStringRef get kCFURLUbiquitousItemUploadingErrorKey =>
+      _kCFURLUbiquitousItemUploadingErrorKey.value;
+
+  set kCFURLUbiquitousItemUploadingErrorKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemUploadingErrorKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLUbiquitousItemIsExcludedFromSyncKey =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemIsExcludedFromSyncKey');
+
+  CFStringRef get kCFURLUbiquitousItemIsExcludedFromSyncKey =>
+      _kCFURLUbiquitousItemIsExcludedFromSyncKey.value;
+
+  set kCFURLUbiquitousItemIsExcludedFromSyncKey(CFStringRef value) =>
+      _kCFURLUbiquitousItemIsExcludedFromSyncKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLUbiquitousItemDownloadingStatusNotDownloaded =
+      _lookup<CFStringRef>(
+          'kCFURLUbiquitousItemDownloadingStatusNotDownloaded');
+
+  CFStringRef get kCFURLUbiquitousItemDownloadingStatusNotDownloaded =>
+      _kCFURLUbiquitousItemDownloadingStatusNotDownloaded.value;
+
+  set kCFURLUbiquitousItemDownloadingStatusNotDownloaded(CFStringRef value) =>
+      _kCFURLUbiquitousItemDownloadingStatusNotDownloaded.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLUbiquitousItemDownloadingStatusDownloaded =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemDownloadingStatusDownloaded');
+
+  CFStringRef get kCFURLUbiquitousItemDownloadingStatusDownloaded =>
+      _kCFURLUbiquitousItemDownloadingStatusDownloaded.value;
+
+  set kCFURLUbiquitousItemDownloadingStatusDownloaded(CFStringRef value) =>
+      _kCFURLUbiquitousItemDownloadingStatusDownloaded.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFURLUbiquitousItemDownloadingStatusCurrent =
+      _lookup<CFStringRef>('kCFURLUbiquitousItemDownloadingStatusCurrent');
+
+  CFStringRef get kCFURLUbiquitousItemDownloadingStatusCurrent =>
+      _kCFURLUbiquitousItemDownloadingStatusCurrent.value;
+
+  set kCFURLUbiquitousItemDownloadingStatusCurrent(CFStringRef value) =>
+      _kCFURLUbiquitousItemDownloadingStatusCurrent.value = value;
+
+  CFDataRef CFURLCreateBookmarkData(
+    CFAllocatorRef allocator,
+    CFURLRef url,
+    int options,
+    CFArrayRef resourcePropertiesToInclude,
+    CFURLRef relativeToURL,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLCreateBookmarkData(
+      allocator,
+      url,
+      options,
+      resourcePropertiesToInclude,
+      relativeToURL,
+      error,
+    );
+  }
+
+  late final _CFURLCreateBookmarkDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(CFAllocatorRef, CFURLRef, ffi.Int32, CFArrayRef,
+              CFURLRef, ffi.Pointer<CFErrorRef>)>>('CFURLCreateBookmarkData');
+  late final _CFURLCreateBookmarkData = _CFURLCreateBookmarkDataPtr.asFunction<
+      CFDataRef Function(CFAllocatorRef, CFURLRef, int, CFArrayRef, CFURLRef,
+          ffi.Pointer<CFErrorRef>)>();
+
+  CFURLRef CFURLCreateByResolvingBookmarkData(
+    CFAllocatorRef allocator,
+    CFDataRef bookmark,
+    int options,
+    CFURLRef relativeToURL,
+    CFArrayRef resourcePropertiesToInclude,
+    ffi.Pointer<Boolean> isStale,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLCreateByResolvingBookmarkData(
+      allocator,
+      bookmark,
+      options,
+      relativeToURL,
+      resourcePropertiesToInclude,
+      isStale,
+      error,
+    );
+  }
+
+  late final _CFURLCreateByResolvingBookmarkDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(
+              CFAllocatorRef,
+              CFDataRef,
+              ffi.Int32,
+              CFURLRef,
+              CFArrayRef,
+              ffi.Pointer<Boolean>,
+              ffi.Pointer<CFErrorRef>)>>('CFURLCreateByResolvingBookmarkData');
+  late final _CFURLCreateByResolvingBookmarkData =
+      _CFURLCreateByResolvingBookmarkDataPtr.asFunction<
+          CFURLRef Function(CFAllocatorRef, CFDataRef, int, CFURLRef,
+              CFArrayRef, ffi.Pointer<Boolean>, ffi.Pointer<CFErrorRef>)>();
+
+  CFDictionaryRef CFURLCreateResourcePropertiesForKeysFromBookmarkData(
+    CFAllocatorRef allocator,
+    CFArrayRef resourcePropertiesToReturn,
+    CFDataRef bookmark,
+  ) {
+    return _CFURLCreateResourcePropertiesForKeysFromBookmarkData(
+      allocator,
+      resourcePropertiesToReturn,
+      bookmark,
+    );
+  }
+
+  late final _CFURLCreateResourcePropertiesForKeysFromBookmarkDataPtr = _lookup<
+          ffi.NativeFunction<
+              CFDictionaryRef Function(CFAllocatorRef, CFArrayRef, CFDataRef)>>(
+      'CFURLCreateResourcePropertiesForKeysFromBookmarkData');
+  late final _CFURLCreateResourcePropertiesForKeysFromBookmarkData =
+      _CFURLCreateResourcePropertiesForKeysFromBookmarkDataPtr.asFunction<
+          CFDictionaryRef Function(CFAllocatorRef, CFArrayRef, CFDataRef)>();
+
+  CFTypeRef CFURLCreateResourcePropertyForKeyFromBookmarkData(
+    CFAllocatorRef allocator,
+    CFStringRef resourcePropertyKey,
+    CFDataRef bookmark,
+  ) {
+    return _CFURLCreateResourcePropertyForKeyFromBookmarkData(
+      allocator,
+      resourcePropertyKey,
+      bookmark,
+    );
+  }
+
+  late final _CFURLCreateResourcePropertyForKeyFromBookmarkDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFAllocatorRef, CFStringRef,
+              CFDataRef)>>('CFURLCreateResourcePropertyForKeyFromBookmarkData');
+  late final _CFURLCreateResourcePropertyForKeyFromBookmarkData =
+      _CFURLCreateResourcePropertyForKeyFromBookmarkDataPtr.asFunction<
+          CFTypeRef Function(CFAllocatorRef, CFStringRef, CFDataRef)>();
+
+  CFDataRef CFURLCreateBookmarkDataFromFile(
+    CFAllocatorRef allocator,
+    CFURLRef fileURL,
+    ffi.Pointer<CFErrorRef> errorRef,
+  ) {
+    return _CFURLCreateBookmarkDataFromFile(
+      allocator,
+      fileURL,
+      errorRef,
+    );
+  }
+
+  late final _CFURLCreateBookmarkDataFromFilePtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(CFAllocatorRef, CFURLRef,
+              ffi.Pointer<CFErrorRef>)>>('CFURLCreateBookmarkDataFromFile');
+  late final _CFURLCreateBookmarkDataFromFile =
+      _CFURLCreateBookmarkDataFromFilePtr.asFunction<
+          CFDataRef Function(
+              CFAllocatorRef, CFURLRef, ffi.Pointer<CFErrorRef>)>();
+
+  int CFURLWriteBookmarkDataToFile(
+    CFDataRef bookmarkRef,
+    CFURLRef fileURL,
+    int options,
+    ffi.Pointer<CFErrorRef> errorRef,
+  ) {
+    return _CFURLWriteBookmarkDataToFile(
+      bookmarkRef,
+      fileURL,
+      options,
+      errorRef,
+    );
+  }
+
+  late final _CFURLWriteBookmarkDataToFilePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFDataRef,
+              CFURLRef,
+              CFURLBookmarkFileCreationOptions,
+              ffi.Pointer<CFErrorRef>)>>('CFURLWriteBookmarkDataToFile');
+  late final _CFURLWriteBookmarkDataToFile =
+      _CFURLWriteBookmarkDataToFilePtr.asFunction<
+          int Function(CFDataRef, CFURLRef, int, ffi.Pointer<CFErrorRef>)>();
+
+  CFDataRef CFURLCreateBookmarkDataFromAliasRecord(
+    CFAllocatorRef allocatorRef,
+    CFDataRef aliasRecordDataRef,
+  ) {
+    return _CFURLCreateBookmarkDataFromAliasRecord(
+      allocatorRef,
+      aliasRecordDataRef,
+    );
+  }
+
+  late final _CFURLCreateBookmarkDataFromAliasRecordPtr = _lookup<
+          ffi.NativeFunction<CFDataRef Function(CFAllocatorRef, CFDataRef)>>(
+      'CFURLCreateBookmarkDataFromAliasRecord');
+  late final _CFURLCreateBookmarkDataFromAliasRecord =
+      _CFURLCreateBookmarkDataFromAliasRecordPtr.asFunction<
+          CFDataRef Function(CFAllocatorRef, CFDataRef)>();
+
+  int CFURLStartAccessingSecurityScopedResource(
+    CFURLRef url,
+  ) {
+    return _CFURLStartAccessingSecurityScopedResource(
+      url,
+    );
+  }
+
+  late final _CFURLStartAccessingSecurityScopedResourcePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFURLRef)>>(
+          'CFURLStartAccessingSecurityScopedResource');
+  late final _CFURLStartAccessingSecurityScopedResource =
+      _CFURLStartAccessingSecurityScopedResourcePtr.asFunction<
+          int Function(CFURLRef)>();
+
+  void CFURLStopAccessingSecurityScopedResource(
+    CFURLRef url,
+  ) {
+    return _CFURLStopAccessingSecurityScopedResource(
+      url,
+    );
+  }
+
+  late final _CFURLStopAccessingSecurityScopedResourcePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFURLRef)>>(
+          'CFURLStopAccessingSecurityScopedResource');
+  late final _CFURLStopAccessingSecurityScopedResource =
+      _CFURLStopAccessingSecurityScopedResourcePtr.asFunction<
+          void Function(CFURLRef)>();
+
+  late final ffi.Pointer<CFRunLoopMode> _kCFRunLoopDefaultMode =
+      _lookup<CFRunLoopMode>('kCFRunLoopDefaultMode');
+
+  CFRunLoopMode get kCFRunLoopDefaultMode => _kCFRunLoopDefaultMode.value;
+
+  set kCFRunLoopDefaultMode(CFRunLoopMode value) =>
+      _kCFRunLoopDefaultMode.value = value;
+
+  late final ffi.Pointer<CFRunLoopMode> _kCFRunLoopCommonModes =
+      _lookup<CFRunLoopMode>('kCFRunLoopCommonModes');
+
+  CFRunLoopMode get kCFRunLoopCommonModes => _kCFRunLoopCommonModes.value;
+
+  set kCFRunLoopCommonModes(CFRunLoopMode value) =>
+      _kCFRunLoopCommonModes.value = value;
+
+  int CFRunLoopGetTypeID() {
+    return _CFRunLoopGetTypeID();
+  }
+
+  late final _CFRunLoopGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFRunLoopGetTypeID');
+  late final _CFRunLoopGetTypeID =
+      _CFRunLoopGetTypeIDPtr.asFunction<int Function()>();
+
+  CFRunLoopRef CFRunLoopGetCurrent() {
+    return _CFRunLoopGetCurrent();
+  }
+
+  late final _CFRunLoopGetCurrentPtr =
+      _lookup<ffi.NativeFunction<CFRunLoopRef Function()>>(
+          'CFRunLoopGetCurrent');
+  late final _CFRunLoopGetCurrent =
+      _CFRunLoopGetCurrentPtr.asFunction<CFRunLoopRef Function()>();
+
+  CFRunLoopRef CFRunLoopGetMain() {
+    return _CFRunLoopGetMain();
+  }
+
+  late final _CFRunLoopGetMainPtr =
+      _lookup<ffi.NativeFunction<CFRunLoopRef Function()>>('CFRunLoopGetMain');
+  late final _CFRunLoopGetMain =
+      _CFRunLoopGetMainPtr.asFunction<CFRunLoopRef Function()>();
+
+  CFRunLoopMode CFRunLoopCopyCurrentMode(
+    CFRunLoopRef rl,
+  ) {
+    return _CFRunLoopCopyCurrentMode(
+      rl,
+    );
+  }
+
+  late final _CFRunLoopCopyCurrentModePtr =
+      _lookup<ffi.NativeFunction<CFRunLoopMode Function(CFRunLoopRef)>>(
+          'CFRunLoopCopyCurrentMode');
+  late final _CFRunLoopCopyCurrentMode = _CFRunLoopCopyCurrentModePtr
+      .asFunction<CFRunLoopMode Function(CFRunLoopRef)>();
+
+  CFArrayRef CFRunLoopCopyAllModes(
+    CFRunLoopRef rl,
+  ) {
+    return _CFRunLoopCopyAllModes(
+      rl,
+    );
+  }
+
+  late final _CFRunLoopCopyAllModesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFRunLoopRef)>>(
+          'CFRunLoopCopyAllModes');
+  late final _CFRunLoopCopyAllModes =
+      _CFRunLoopCopyAllModesPtr.asFunction<CFArrayRef Function(CFRunLoopRef)>();
+
+  void CFRunLoopAddCommonMode(
+    CFRunLoopRef rl,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopAddCommonMode(
+      rl,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopAddCommonModePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFRunLoopRef, CFRunLoopMode)>>(
+      'CFRunLoopAddCommonMode');
+  late final _CFRunLoopAddCommonMode = _CFRunLoopAddCommonModePtr.asFunction<
+      void Function(CFRunLoopRef, CFRunLoopMode)>();
+
+  double CFRunLoopGetNextTimerFireDate(
+    CFRunLoopRef rl,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopGetNextTimerFireDate(
+      rl,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopGetNextTimerFireDatePtr = _lookup<
+      ffi.NativeFunction<
+          CFAbsoluteTime Function(
+              CFRunLoopRef, CFRunLoopMode)>>('CFRunLoopGetNextTimerFireDate');
+  late final _CFRunLoopGetNextTimerFireDate = _CFRunLoopGetNextTimerFireDatePtr
+      .asFunction<double Function(CFRunLoopRef, CFRunLoopMode)>();
+
+  void CFRunLoopRun() {
+    return _CFRunLoopRun();
+  }
+
+  late final _CFRunLoopRunPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('CFRunLoopRun');
+  late final _CFRunLoopRun = _CFRunLoopRunPtr.asFunction<void Function()>();
+
+  int CFRunLoopRunInMode(
+    CFRunLoopMode mode,
+    double seconds,
+    int returnAfterSourceHandled,
+  ) {
+    return _CFRunLoopRunInMode(
+      mode,
+      seconds,
+      returnAfterSourceHandled,
+    );
+  }
+
+  late final _CFRunLoopRunInModePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              CFRunLoopMode, CFTimeInterval, Boolean)>>('CFRunLoopRunInMode');
+  late final _CFRunLoopRunInMode = _CFRunLoopRunInModePtr.asFunction<
+      int Function(CFRunLoopMode, double, int)>();
+
+  int CFRunLoopIsWaiting(
+    CFRunLoopRef rl,
+  ) {
+    return _CFRunLoopIsWaiting(
+      rl,
+    );
+  }
+
+  late final _CFRunLoopIsWaitingPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFRunLoopRef)>>(
+          'CFRunLoopIsWaiting');
+  late final _CFRunLoopIsWaiting =
+      _CFRunLoopIsWaitingPtr.asFunction<int Function(CFRunLoopRef)>();
+
+  void CFRunLoopWakeUp(
+    CFRunLoopRef rl,
+  ) {
+    return _CFRunLoopWakeUp(
+      rl,
+    );
+  }
+
+  late final _CFRunLoopWakeUpPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFRunLoopRef)>>(
+          'CFRunLoopWakeUp');
+  late final _CFRunLoopWakeUp =
+      _CFRunLoopWakeUpPtr.asFunction<void Function(CFRunLoopRef)>();
+
+  void CFRunLoopStop(
+    CFRunLoopRef rl,
+  ) {
+    return _CFRunLoopStop(
+      rl,
+    );
+  }
+
+  late final _CFRunLoopStopPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFRunLoopRef)>>(
+          'CFRunLoopStop');
+  late final _CFRunLoopStop =
+      _CFRunLoopStopPtr.asFunction<void Function(CFRunLoopRef)>();
+
+  void CFRunLoopPerformBlock(
+    CFRunLoopRef rl,
+    CFTypeRef mode,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return _CFRunLoopPerformBlock(
+      rl,
+      mode,
+      block,
+    );
+  }
+
+  late final _CFRunLoopPerformBlockPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopRef, CFTypeRef,
+              ffi.Pointer<_ObjCBlock>)>>('CFRunLoopPerformBlock');
+  late final _CFRunLoopPerformBlock = _CFRunLoopPerformBlockPtr.asFunction<
+      void Function(CFRunLoopRef, CFTypeRef, ffi.Pointer<_ObjCBlock>)>();
+
+  int CFRunLoopContainsSource(
+    CFRunLoopRef rl,
+    CFRunLoopSourceRef source,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopContainsSource(
+      rl,
+      source,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopContainsSourcePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFRunLoopRef, CFRunLoopSourceRef,
+              CFRunLoopMode)>>('CFRunLoopContainsSource');
+  late final _CFRunLoopContainsSource = _CFRunLoopContainsSourcePtr.asFunction<
+      int Function(CFRunLoopRef, CFRunLoopSourceRef, CFRunLoopMode)>();
+
+  void CFRunLoopAddSource(
+    CFRunLoopRef rl,
+    CFRunLoopSourceRef source,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopAddSource(
+      rl,
+      source,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopAddSourcePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopRef, CFRunLoopSourceRef,
+              CFRunLoopMode)>>('CFRunLoopAddSource');
+  late final _CFRunLoopAddSource = _CFRunLoopAddSourcePtr.asFunction<
+      void Function(CFRunLoopRef, CFRunLoopSourceRef, CFRunLoopMode)>();
+
+  void CFRunLoopRemoveSource(
+    CFRunLoopRef rl,
+    CFRunLoopSourceRef source,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopRemoveSource(
+      rl,
+      source,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopRemoveSourcePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopRef, CFRunLoopSourceRef,
+              CFRunLoopMode)>>('CFRunLoopRemoveSource');
+  late final _CFRunLoopRemoveSource = _CFRunLoopRemoveSourcePtr.asFunction<
+      void Function(CFRunLoopRef, CFRunLoopSourceRef, CFRunLoopMode)>();
+
+  int CFRunLoopContainsObserver(
+    CFRunLoopRef rl,
+    CFRunLoopObserverRef observer,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopContainsObserver(
+      rl,
+      observer,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopContainsObserverPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFRunLoopRef, CFRunLoopObserverRef,
+              CFRunLoopMode)>>('CFRunLoopContainsObserver');
+  late final _CFRunLoopContainsObserver =
+      _CFRunLoopContainsObserverPtr.asFunction<
+          int Function(CFRunLoopRef, CFRunLoopObserverRef, CFRunLoopMode)>();
+
+  void CFRunLoopAddObserver(
+    CFRunLoopRef rl,
+    CFRunLoopObserverRef observer,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopAddObserver(
+      rl,
+      observer,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopAddObserverPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopRef, CFRunLoopObserverRef,
+              CFRunLoopMode)>>('CFRunLoopAddObserver');
+  late final _CFRunLoopAddObserver = _CFRunLoopAddObserverPtr.asFunction<
+      void Function(CFRunLoopRef, CFRunLoopObserverRef, CFRunLoopMode)>();
+
+  void CFRunLoopRemoveObserver(
+    CFRunLoopRef rl,
+    CFRunLoopObserverRef observer,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopRemoveObserver(
+      rl,
+      observer,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopRemoveObserverPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopRef, CFRunLoopObserverRef,
+              CFRunLoopMode)>>('CFRunLoopRemoveObserver');
+  late final _CFRunLoopRemoveObserver = _CFRunLoopRemoveObserverPtr.asFunction<
+      void Function(CFRunLoopRef, CFRunLoopObserverRef, CFRunLoopMode)>();
+
+  int CFRunLoopContainsTimer(
+    CFRunLoopRef rl,
+    CFRunLoopTimerRef timer,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopContainsTimer(
+      rl,
+      timer,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopContainsTimerPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFRunLoopRef, CFRunLoopTimerRef,
+              CFRunLoopMode)>>('CFRunLoopContainsTimer');
+  late final _CFRunLoopContainsTimer = _CFRunLoopContainsTimerPtr.asFunction<
+      int Function(CFRunLoopRef, CFRunLoopTimerRef, CFRunLoopMode)>();
+
+  void CFRunLoopAddTimer(
+    CFRunLoopRef rl,
+    CFRunLoopTimerRef timer,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopAddTimer(
+      rl,
+      timer,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopAddTimerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopRef, CFRunLoopTimerRef,
+              CFRunLoopMode)>>('CFRunLoopAddTimer');
+  late final _CFRunLoopAddTimer = _CFRunLoopAddTimerPtr.asFunction<
+      void Function(CFRunLoopRef, CFRunLoopTimerRef, CFRunLoopMode)>();
+
+  void CFRunLoopRemoveTimer(
+    CFRunLoopRef rl,
+    CFRunLoopTimerRef timer,
+    CFRunLoopMode mode,
+  ) {
+    return _CFRunLoopRemoveTimer(
+      rl,
+      timer,
+      mode,
+    );
+  }
+
+  late final _CFRunLoopRemoveTimerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopRef, CFRunLoopTimerRef,
+              CFRunLoopMode)>>('CFRunLoopRemoveTimer');
+  late final _CFRunLoopRemoveTimer = _CFRunLoopRemoveTimerPtr.asFunction<
+      void Function(CFRunLoopRef, CFRunLoopTimerRef, CFRunLoopMode)>();
+
+  int CFRunLoopSourceGetTypeID() {
+    return _CFRunLoopSourceGetTypeID();
+  }
+
+  late final _CFRunLoopSourceGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFRunLoopSourceGetTypeID');
+  late final _CFRunLoopSourceGetTypeID =
+      _CFRunLoopSourceGetTypeIDPtr.asFunction<int Function()>();
+
+  CFRunLoopSourceRef CFRunLoopSourceCreate(
+    CFAllocatorRef allocator,
+    int order,
+    ffi.Pointer<CFRunLoopSourceContext> context,
+  ) {
+    return _CFRunLoopSourceCreate(
+      allocator,
+      order,
+      context,
+    );
+  }
+
+  late final _CFRunLoopSourceCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFIndex,
+              ffi.Pointer<CFRunLoopSourceContext>)>>('CFRunLoopSourceCreate');
+  late final _CFRunLoopSourceCreate = _CFRunLoopSourceCreatePtr.asFunction<
+      CFRunLoopSourceRef Function(
+          CFAllocatorRef, int, ffi.Pointer<CFRunLoopSourceContext>)>();
+
+  int CFRunLoopSourceGetOrder(
+    CFRunLoopSourceRef source,
+  ) {
+    return _CFRunLoopSourceGetOrder(
+      source,
+    );
+  }
+
+  late final _CFRunLoopSourceGetOrderPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFRunLoopSourceRef)>>(
+          'CFRunLoopSourceGetOrder');
+  late final _CFRunLoopSourceGetOrder = _CFRunLoopSourceGetOrderPtr.asFunction<
+      int Function(CFRunLoopSourceRef)>();
+
+  void CFRunLoopSourceInvalidate(
+    CFRunLoopSourceRef source,
+  ) {
+    return _CFRunLoopSourceInvalidate(
+      source,
+    );
+  }
+
+  late final _CFRunLoopSourceInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFRunLoopSourceRef)>>(
+          'CFRunLoopSourceInvalidate');
+  late final _CFRunLoopSourceInvalidate = _CFRunLoopSourceInvalidatePtr
+      .asFunction<void Function(CFRunLoopSourceRef)>();
+
+  int CFRunLoopSourceIsValid(
+    CFRunLoopSourceRef source,
+  ) {
+    return _CFRunLoopSourceIsValid(
+      source,
+    );
+  }
+
+  late final _CFRunLoopSourceIsValidPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFRunLoopSourceRef)>>(
+          'CFRunLoopSourceIsValid');
+  late final _CFRunLoopSourceIsValid =
+      _CFRunLoopSourceIsValidPtr.asFunction<int Function(CFRunLoopSourceRef)>();
+
+  void CFRunLoopSourceGetContext(
+    CFRunLoopSourceRef source,
+    ffi.Pointer<CFRunLoopSourceContext> context,
+  ) {
+    return _CFRunLoopSourceGetContext(
+      source,
+      context,
+    );
+  }
+
+  late final _CFRunLoopSourceGetContextPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFRunLoopSourceRef, ffi.Pointer<CFRunLoopSourceContext>)>>(
+      'CFRunLoopSourceGetContext');
+  late final _CFRunLoopSourceGetContext =
+      _CFRunLoopSourceGetContextPtr.asFunction<
+          void Function(
+              CFRunLoopSourceRef, ffi.Pointer<CFRunLoopSourceContext>)>();
+
+  void CFRunLoopSourceSignal(
+    CFRunLoopSourceRef source,
+  ) {
+    return _CFRunLoopSourceSignal(
+      source,
+    );
+  }
+
+  late final _CFRunLoopSourceSignalPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFRunLoopSourceRef)>>(
+          'CFRunLoopSourceSignal');
+  late final _CFRunLoopSourceSignal =
+      _CFRunLoopSourceSignalPtr.asFunction<void Function(CFRunLoopSourceRef)>();
+
+  int CFRunLoopObserverGetTypeID() {
+    return _CFRunLoopObserverGetTypeID();
+  }
+
+  late final _CFRunLoopObserverGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFRunLoopObserverGetTypeID');
+  late final _CFRunLoopObserverGetTypeID =
+      _CFRunLoopObserverGetTypeIDPtr.asFunction<int Function()>();
+
+  CFRunLoopObserverRef CFRunLoopObserverCreate(
+    CFAllocatorRef allocator,
+    int activities,
+    int repeats,
+    int order,
+    CFRunLoopObserverCallBack callout,
+    ffi.Pointer<CFRunLoopObserverContext> context,
+  ) {
+    return _CFRunLoopObserverCreate(
+      allocator,
+      activities,
+      repeats,
+      order,
+      callout,
+      context,
+    );
+  }
+
+  late final _CFRunLoopObserverCreatePtr = _lookup<
+          ffi.NativeFunction<
+              CFRunLoopObserverRef Function(
+                  CFAllocatorRef,
+                  CFOptionFlags,
+                  Boolean,
+                  CFIndex,
+                  CFRunLoopObserverCallBack,
+                  ffi.Pointer<CFRunLoopObserverContext>)>>(
+      'CFRunLoopObserverCreate');
+  late final _CFRunLoopObserverCreate = _CFRunLoopObserverCreatePtr.asFunction<
+      CFRunLoopObserverRef Function(CFAllocatorRef, int, int, int,
+          CFRunLoopObserverCallBack, ffi.Pointer<CFRunLoopObserverContext>)>();
+
+  CFRunLoopObserverRef CFRunLoopObserverCreateWithHandler(
+    CFAllocatorRef allocator,
+    int activities,
+    int repeats,
+    int order,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return _CFRunLoopObserverCreateWithHandler(
+      allocator,
+      activities,
+      repeats,
+      order,
+      block,
+    );
+  }
+
+  late final _CFRunLoopObserverCreateWithHandlerPtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopObserverRef Function(
+              CFAllocatorRef,
+              CFOptionFlags,
+              Boolean,
+              CFIndex,
+              ffi.Pointer<_ObjCBlock>)>>('CFRunLoopObserverCreateWithHandler');
+  late final _CFRunLoopObserverCreateWithHandler =
+      _CFRunLoopObserverCreateWithHandlerPtr.asFunction<
+          CFRunLoopObserverRef Function(
+              CFAllocatorRef, int, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  int CFRunLoopObserverGetActivities(
+    CFRunLoopObserverRef observer,
+  ) {
+    return _CFRunLoopObserverGetActivities(
+      observer,
+    );
+  }
+
+  late final _CFRunLoopObserverGetActivitiesPtr =
+      _lookup<ffi.NativeFunction<CFOptionFlags Function(CFRunLoopObserverRef)>>(
+          'CFRunLoopObserverGetActivities');
+  late final _CFRunLoopObserverGetActivities =
+      _CFRunLoopObserverGetActivitiesPtr.asFunction<
+          int Function(CFRunLoopObserverRef)>();
+
+  int CFRunLoopObserverDoesRepeat(
+    CFRunLoopObserverRef observer,
+  ) {
+    return _CFRunLoopObserverDoesRepeat(
+      observer,
+    );
+  }
+
+  late final _CFRunLoopObserverDoesRepeatPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFRunLoopObserverRef)>>(
+          'CFRunLoopObserverDoesRepeat');
+  late final _CFRunLoopObserverDoesRepeat = _CFRunLoopObserverDoesRepeatPtr
+      .asFunction<int Function(CFRunLoopObserverRef)>();
+
+  int CFRunLoopObserverGetOrder(
+    CFRunLoopObserverRef observer,
+  ) {
+    return _CFRunLoopObserverGetOrder(
+      observer,
+    );
+  }
+
+  late final _CFRunLoopObserverGetOrderPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFRunLoopObserverRef)>>(
+          'CFRunLoopObserverGetOrder');
+  late final _CFRunLoopObserverGetOrder = _CFRunLoopObserverGetOrderPtr
+      .asFunction<int Function(CFRunLoopObserverRef)>();
+
+  void CFRunLoopObserverInvalidate(
+    CFRunLoopObserverRef observer,
+  ) {
+    return _CFRunLoopObserverInvalidate(
+      observer,
+    );
+  }
+
+  late final _CFRunLoopObserverInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFRunLoopObserverRef)>>(
+          'CFRunLoopObserverInvalidate');
+  late final _CFRunLoopObserverInvalidate = _CFRunLoopObserverInvalidatePtr
+      .asFunction<void Function(CFRunLoopObserverRef)>();
+
+  int CFRunLoopObserverIsValid(
+    CFRunLoopObserverRef observer,
+  ) {
+    return _CFRunLoopObserverIsValid(
+      observer,
+    );
+  }
+
+  late final _CFRunLoopObserverIsValidPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFRunLoopObserverRef)>>(
+          'CFRunLoopObserverIsValid');
+  late final _CFRunLoopObserverIsValid = _CFRunLoopObserverIsValidPtr
+      .asFunction<int Function(CFRunLoopObserverRef)>();
+
+  void CFRunLoopObserverGetContext(
+    CFRunLoopObserverRef observer,
+    ffi.Pointer<CFRunLoopObserverContext> context,
+  ) {
+    return _CFRunLoopObserverGetContext(
+      observer,
+      context,
+    );
+  }
+
+  late final _CFRunLoopObserverGetContextPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(CFRunLoopObserverRef,
+                  ffi.Pointer<CFRunLoopObserverContext>)>>(
+      'CFRunLoopObserverGetContext');
+  late final _CFRunLoopObserverGetContext =
+      _CFRunLoopObserverGetContextPtr.asFunction<
+          void Function(
+              CFRunLoopObserverRef, ffi.Pointer<CFRunLoopObserverContext>)>();
+
+  int CFRunLoopTimerGetTypeID() {
+    return _CFRunLoopTimerGetTypeID();
+  }
+
+  late final _CFRunLoopTimerGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFRunLoopTimerGetTypeID');
+  late final _CFRunLoopTimerGetTypeID =
+      _CFRunLoopTimerGetTypeIDPtr.asFunction<int Function()>();
+
+  CFRunLoopTimerRef CFRunLoopTimerCreate(
+    CFAllocatorRef allocator,
+    double fireDate,
+    double interval,
+    int flags,
+    int order,
+    CFRunLoopTimerCallBack callout,
+    ffi.Pointer<CFRunLoopTimerContext> context,
+  ) {
+    return _CFRunLoopTimerCreate(
+      allocator,
+      fireDate,
+      interval,
+      flags,
+      order,
+      callout,
+      context,
+    );
+  }
+
+  late final _CFRunLoopTimerCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopTimerRef Function(
+              CFAllocatorRef,
+              CFAbsoluteTime,
+              CFTimeInterval,
+              CFOptionFlags,
+              CFIndex,
+              CFRunLoopTimerCallBack,
+              ffi.Pointer<CFRunLoopTimerContext>)>>('CFRunLoopTimerCreate');
+  late final _CFRunLoopTimerCreate = _CFRunLoopTimerCreatePtr.asFunction<
+      CFRunLoopTimerRef Function(CFAllocatorRef, double, double, int, int,
+          CFRunLoopTimerCallBack, ffi.Pointer<CFRunLoopTimerContext>)>();
+
+  CFRunLoopTimerRef CFRunLoopTimerCreateWithHandler(
+    CFAllocatorRef allocator,
+    double fireDate,
+    double interval,
+    int flags,
+    int order,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return _CFRunLoopTimerCreateWithHandler(
+      allocator,
+      fireDate,
+      interval,
+      flags,
+      order,
+      block,
+    );
+  }
+
+  late final _CFRunLoopTimerCreateWithHandlerPtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopTimerRef Function(
+              CFAllocatorRef,
+              CFAbsoluteTime,
+              CFTimeInterval,
+              CFOptionFlags,
+              CFIndex,
+              ffi.Pointer<_ObjCBlock>)>>('CFRunLoopTimerCreateWithHandler');
+  late final _CFRunLoopTimerCreateWithHandler =
+      _CFRunLoopTimerCreateWithHandlerPtr.asFunction<
+          CFRunLoopTimerRef Function(CFAllocatorRef, double, double, int, int,
+              ffi.Pointer<_ObjCBlock>)>();
+
+  double CFRunLoopTimerGetNextFireDate(
+    CFRunLoopTimerRef timer,
+  ) {
+    return _CFRunLoopTimerGetNextFireDate(
+      timer,
+    );
+  }
+
+  late final _CFRunLoopTimerGetNextFireDatePtr =
+      _lookup<ffi.NativeFunction<CFAbsoluteTime Function(CFRunLoopTimerRef)>>(
+          'CFRunLoopTimerGetNextFireDate');
+  late final _CFRunLoopTimerGetNextFireDate = _CFRunLoopTimerGetNextFireDatePtr
+      .asFunction<double Function(CFRunLoopTimerRef)>();
+
+  void CFRunLoopTimerSetNextFireDate(
+    CFRunLoopTimerRef timer,
+    double fireDate,
+  ) {
+    return _CFRunLoopTimerSetNextFireDate(
+      timer,
+      fireDate,
+    );
+  }
+
+  late final _CFRunLoopTimerSetNextFireDatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopTimerRef,
+              CFAbsoluteTime)>>('CFRunLoopTimerSetNextFireDate');
+  late final _CFRunLoopTimerSetNextFireDate = _CFRunLoopTimerSetNextFireDatePtr
+      .asFunction<void Function(CFRunLoopTimerRef, double)>();
+
+  double CFRunLoopTimerGetInterval(
+    CFRunLoopTimerRef timer,
+  ) {
+    return _CFRunLoopTimerGetInterval(
+      timer,
+    );
+  }
+
+  late final _CFRunLoopTimerGetIntervalPtr =
+      _lookup<ffi.NativeFunction<CFTimeInterval Function(CFRunLoopTimerRef)>>(
+          'CFRunLoopTimerGetInterval');
+  late final _CFRunLoopTimerGetInterval = _CFRunLoopTimerGetIntervalPtr
+      .asFunction<double Function(CFRunLoopTimerRef)>();
+
+  int CFRunLoopTimerDoesRepeat(
+    CFRunLoopTimerRef timer,
+  ) {
+    return _CFRunLoopTimerDoesRepeat(
+      timer,
+    );
+  }
+
+  late final _CFRunLoopTimerDoesRepeatPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFRunLoopTimerRef)>>(
+          'CFRunLoopTimerDoesRepeat');
+  late final _CFRunLoopTimerDoesRepeat = _CFRunLoopTimerDoesRepeatPtr
+      .asFunction<int Function(CFRunLoopTimerRef)>();
+
+  int CFRunLoopTimerGetOrder(
+    CFRunLoopTimerRef timer,
+  ) {
+    return _CFRunLoopTimerGetOrder(
+      timer,
+    );
+  }
+
+  late final _CFRunLoopTimerGetOrderPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFRunLoopTimerRef)>>(
+          'CFRunLoopTimerGetOrder');
+  late final _CFRunLoopTimerGetOrder =
+      _CFRunLoopTimerGetOrderPtr.asFunction<int Function(CFRunLoopTimerRef)>();
+
+  void CFRunLoopTimerInvalidate(
+    CFRunLoopTimerRef timer,
+  ) {
+    return _CFRunLoopTimerInvalidate(
+      timer,
+    );
+  }
+
+  late final _CFRunLoopTimerInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFRunLoopTimerRef)>>(
+          'CFRunLoopTimerInvalidate');
+  late final _CFRunLoopTimerInvalidate = _CFRunLoopTimerInvalidatePtr
+      .asFunction<void Function(CFRunLoopTimerRef)>();
+
+  int CFRunLoopTimerIsValid(
+    CFRunLoopTimerRef timer,
+  ) {
+    return _CFRunLoopTimerIsValid(
+      timer,
+    );
+  }
+
+  late final _CFRunLoopTimerIsValidPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFRunLoopTimerRef)>>(
+          'CFRunLoopTimerIsValid');
+  late final _CFRunLoopTimerIsValid =
+      _CFRunLoopTimerIsValidPtr.asFunction<int Function(CFRunLoopTimerRef)>();
+
+  void CFRunLoopTimerGetContext(
+    CFRunLoopTimerRef timer,
+    ffi.Pointer<CFRunLoopTimerContext> context,
+  ) {
+    return _CFRunLoopTimerGetContext(
+      timer,
+      context,
+    );
+  }
+
+  late final _CFRunLoopTimerGetContextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopTimerRef,
+              ffi.Pointer<CFRunLoopTimerContext>)>>('CFRunLoopTimerGetContext');
+  late final _CFRunLoopTimerGetContext =
+      _CFRunLoopTimerGetContextPtr.asFunction<
+          void Function(
+              CFRunLoopTimerRef, ffi.Pointer<CFRunLoopTimerContext>)>();
+
+  double CFRunLoopTimerGetTolerance(
+    CFRunLoopTimerRef timer,
+  ) {
+    return _CFRunLoopTimerGetTolerance(
+      timer,
+    );
+  }
+
+  late final _CFRunLoopTimerGetTolerancePtr =
+      _lookup<ffi.NativeFunction<CFTimeInterval Function(CFRunLoopTimerRef)>>(
+          'CFRunLoopTimerGetTolerance');
+  late final _CFRunLoopTimerGetTolerance = _CFRunLoopTimerGetTolerancePtr
+      .asFunction<double Function(CFRunLoopTimerRef)>();
+
+  void CFRunLoopTimerSetTolerance(
+    CFRunLoopTimerRef timer,
+    double tolerance,
+  ) {
+    return _CFRunLoopTimerSetTolerance(
+      timer,
+      tolerance,
+    );
+  }
+
+  late final _CFRunLoopTimerSetTolerancePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFRunLoopTimerRef,
+              CFTimeInterval)>>('CFRunLoopTimerSetTolerance');
+  late final _CFRunLoopTimerSetTolerance = _CFRunLoopTimerSetTolerancePtr
+      .asFunction<void Function(CFRunLoopTimerRef, double)>();
+
+  int CFSocketGetTypeID() {
+    return _CFSocketGetTypeID();
+  }
+
+  late final _CFSocketGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFSocketGetTypeID');
+  late final _CFSocketGetTypeID =
+      _CFSocketGetTypeIDPtr.asFunction<int Function()>();
+
+  CFSocketRef CFSocketCreate(
+    CFAllocatorRef allocator,
+    int protocolFamily,
+    int socketType,
+    int protocol,
+    int callBackTypes,
+    CFSocketCallBack callout,
+    ffi.Pointer<CFSocketContext> context,
+  ) {
+    return _CFSocketCreate(
+      allocator,
+      protocolFamily,
+      socketType,
+      protocol,
+      callBackTypes,
+      callout,
+      context,
+    );
+  }
+
+  late final _CFSocketCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFSocketRef Function(
+              CFAllocatorRef,
+              SInt32,
+              SInt32,
+              SInt32,
+              CFOptionFlags,
+              CFSocketCallBack,
+              ffi.Pointer<CFSocketContext>)>>('CFSocketCreate');
+  late final _CFSocketCreate = _CFSocketCreatePtr.asFunction<
+      CFSocketRef Function(CFAllocatorRef, int, int, int, int, CFSocketCallBack,
+          ffi.Pointer<CFSocketContext>)>();
+
+  CFSocketRef CFSocketCreateWithNative(
+    CFAllocatorRef allocator,
+    int sock,
+    int callBackTypes,
+    CFSocketCallBack callout,
+    ffi.Pointer<CFSocketContext> context,
+  ) {
+    return _CFSocketCreateWithNative(
+      allocator,
+      sock,
+      callBackTypes,
+      callout,
+      context,
+    );
+  }
+
+  late final _CFSocketCreateWithNativePtr = _lookup<
+      ffi.NativeFunction<
+          CFSocketRef Function(
+              CFAllocatorRef,
+              CFSocketNativeHandle,
+              CFOptionFlags,
+              CFSocketCallBack,
+              ffi.Pointer<CFSocketContext>)>>('CFSocketCreateWithNative');
+  late final _CFSocketCreateWithNative =
+      _CFSocketCreateWithNativePtr.asFunction<
+          CFSocketRef Function(CFAllocatorRef, int, int, CFSocketCallBack,
+              ffi.Pointer<CFSocketContext>)>();
+
+  CFSocketRef CFSocketCreateWithSocketSignature(
+    CFAllocatorRef allocator,
+    ffi.Pointer<CFSocketSignature> signature,
+    int callBackTypes,
+    CFSocketCallBack callout,
+    ffi.Pointer<CFSocketContext> context,
+  ) {
+    return _CFSocketCreateWithSocketSignature(
+      allocator,
+      signature,
+      callBackTypes,
+      callout,
+      context,
+    );
+  }
+
+  late final _CFSocketCreateWithSocketSignaturePtr = _lookup<
+          ffi.NativeFunction<
+              CFSocketRef Function(
+                  CFAllocatorRef,
+                  ffi.Pointer<CFSocketSignature>,
+                  CFOptionFlags,
+                  CFSocketCallBack,
+                  ffi.Pointer<CFSocketContext>)>>(
+      'CFSocketCreateWithSocketSignature');
+  late final _CFSocketCreateWithSocketSignature =
+      _CFSocketCreateWithSocketSignaturePtr.asFunction<
+          CFSocketRef Function(CFAllocatorRef, ffi.Pointer<CFSocketSignature>,
+              int, CFSocketCallBack, ffi.Pointer<CFSocketContext>)>();
+
+  CFSocketRef CFSocketCreateConnectedToSocketSignature(
+    CFAllocatorRef allocator,
+    ffi.Pointer<CFSocketSignature> signature,
+    int callBackTypes,
+    CFSocketCallBack callout,
+    ffi.Pointer<CFSocketContext> context,
+    double timeout,
+  ) {
+    return _CFSocketCreateConnectedToSocketSignature(
+      allocator,
+      signature,
+      callBackTypes,
+      callout,
+      context,
+      timeout,
+    );
+  }
+
+  late final _CFSocketCreateConnectedToSocketSignaturePtr = _lookup<
+      ffi.NativeFunction<
+          CFSocketRef Function(
+              CFAllocatorRef,
+              ffi.Pointer<CFSocketSignature>,
+              CFOptionFlags,
+              CFSocketCallBack,
+              ffi.Pointer<CFSocketContext>,
+              CFTimeInterval)>>('CFSocketCreateConnectedToSocketSignature');
+  late final _CFSocketCreateConnectedToSocketSignature =
+      _CFSocketCreateConnectedToSocketSignaturePtr.asFunction<
+          CFSocketRef Function(CFAllocatorRef, ffi.Pointer<CFSocketSignature>,
+              int, CFSocketCallBack, ffi.Pointer<CFSocketContext>, double)>();
+
+  int CFSocketSetAddress(
+    CFSocketRef s,
+    CFDataRef address,
+  ) {
+    return _CFSocketSetAddress(
+      s,
+      address,
+    );
+  }
+
+  late final _CFSocketSetAddressPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFSocketRef, CFDataRef)>>(
+          'CFSocketSetAddress');
+  late final _CFSocketSetAddress =
+      _CFSocketSetAddressPtr.asFunction<int Function(CFSocketRef, CFDataRef)>();
+
+  int CFSocketConnectToAddress(
+    CFSocketRef s,
+    CFDataRef address,
+    double timeout,
+  ) {
+    return _CFSocketConnectToAddress(
+      s,
+      address,
+      timeout,
+    );
+  }
+
+  late final _CFSocketConnectToAddressPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(CFSocketRef, CFDataRef,
+              CFTimeInterval)>>('CFSocketConnectToAddress');
+  late final _CFSocketConnectToAddress = _CFSocketConnectToAddressPtr
+      .asFunction<int Function(CFSocketRef, CFDataRef, double)>();
+
+  void CFSocketInvalidate(
+    CFSocketRef s,
+  ) {
+    return _CFSocketInvalidate(
+      s,
+    );
+  }
+
+  late final _CFSocketInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFSocketRef)>>(
+          'CFSocketInvalidate');
+  late final _CFSocketInvalidate =
+      _CFSocketInvalidatePtr.asFunction<void Function(CFSocketRef)>();
+
+  int CFSocketIsValid(
+    CFSocketRef s,
+  ) {
+    return _CFSocketIsValid(
+      s,
+    );
+  }
+
+  late final _CFSocketIsValidPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFSocketRef)>>(
+          'CFSocketIsValid');
+  late final _CFSocketIsValid =
+      _CFSocketIsValidPtr.asFunction<int Function(CFSocketRef)>();
+
+  CFDataRef CFSocketCopyAddress(
+    CFSocketRef s,
+  ) {
+    return _CFSocketCopyAddress(
+      s,
+    );
+  }
+
+  late final _CFSocketCopyAddressPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(CFSocketRef)>>(
+          'CFSocketCopyAddress');
+  late final _CFSocketCopyAddress =
+      _CFSocketCopyAddressPtr.asFunction<CFDataRef Function(CFSocketRef)>();
+
+  CFDataRef CFSocketCopyPeerAddress(
+    CFSocketRef s,
+  ) {
+    return _CFSocketCopyPeerAddress(
+      s,
+    );
+  }
+
+  late final _CFSocketCopyPeerAddressPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(CFSocketRef)>>(
+          'CFSocketCopyPeerAddress');
+  late final _CFSocketCopyPeerAddress =
+      _CFSocketCopyPeerAddressPtr.asFunction<CFDataRef Function(CFSocketRef)>();
+
+  void CFSocketGetContext(
+    CFSocketRef s,
+    ffi.Pointer<CFSocketContext> context,
+  ) {
+    return _CFSocketGetContext(
+      s,
+      context,
+    );
+  }
+
+  late final _CFSocketGetContextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFSocketRef,
+              ffi.Pointer<CFSocketContext>)>>('CFSocketGetContext');
+  late final _CFSocketGetContext = _CFSocketGetContextPtr.asFunction<
+      void Function(CFSocketRef, ffi.Pointer<CFSocketContext>)>();
+
+  int CFSocketGetNative(
+    CFSocketRef s,
+  ) {
+    return _CFSocketGetNative(
+      s,
+    );
+  }
+
+  late final _CFSocketGetNativePtr =
+      _lookup<ffi.NativeFunction<CFSocketNativeHandle Function(CFSocketRef)>>(
+          'CFSocketGetNative');
+  late final _CFSocketGetNative =
+      _CFSocketGetNativePtr.asFunction<int Function(CFSocketRef)>();
+
+  CFRunLoopSourceRef CFSocketCreateRunLoopSource(
+    CFAllocatorRef allocator,
+    CFSocketRef s,
+    int order,
+  ) {
+    return _CFSocketCreateRunLoopSource(
+      allocator,
+      s,
+      order,
+    );
+  }
+
+  late final _CFSocketCreateRunLoopSourcePtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFSocketRef,
+              CFIndex)>>('CFSocketCreateRunLoopSource');
+  late final _CFSocketCreateRunLoopSource =
+      _CFSocketCreateRunLoopSourcePtr.asFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFSocketRef, int)>();
+
+  int CFSocketGetSocketFlags(
+    CFSocketRef s,
+  ) {
+    return _CFSocketGetSocketFlags(
+      s,
+    );
+  }
+
+  late final _CFSocketGetSocketFlagsPtr =
+      _lookup<ffi.NativeFunction<CFOptionFlags Function(CFSocketRef)>>(
+          'CFSocketGetSocketFlags');
+  late final _CFSocketGetSocketFlags =
+      _CFSocketGetSocketFlagsPtr.asFunction<int Function(CFSocketRef)>();
+
+  void CFSocketSetSocketFlags(
+    CFSocketRef s,
+    int flags,
+  ) {
+    return _CFSocketSetSocketFlags(
+      s,
+      flags,
+    );
+  }
+
+  late final _CFSocketSetSocketFlagsPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFSocketRef, CFOptionFlags)>>(
+      'CFSocketSetSocketFlags');
+  late final _CFSocketSetSocketFlags =
+      _CFSocketSetSocketFlagsPtr.asFunction<void Function(CFSocketRef, int)>();
+
+  void CFSocketDisableCallBacks(
+    CFSocketRef s,
+    int callBackTypes,
+  ) {
+    return _CFSocketDisableCallBacks(
+      s,
+      callBackTypes,
+    );
+  }
+
+  late final _CFSocketDisableCallBacksPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFSocketRef, CFOptionFlags)>>(
+      'CFSocketDisableCallBacks');
+  late final _CFSocketDisableCallBacks = _CFSocketDisableCallBacksPtr
+      .asFunction<void Function(CFSocketRef, int)>();
+
+  void CFSocketEnableCallBacks(
+    CFSocketRef s,
+    int callBackTypes,
+  ) {
+    return _CFSocketEnableCallBacks(
+      s,
+      callBackTypes,
+    );
+  }
+
+  late final _CFSocketEnableCallBacksPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFSocketRef, CFOptionFlags)>>(
+      'CFSocketEnableCallBacks');
+  late final _CFSocketEnableCallBacks =
+      _CFSocketEnableCallBacksPtr.asFunction<void Function(CFSocketRef, int)>();
+
+  int CFSocketSendData(
+    CFSocketRef s,
+    CFDataRef address,
+    CFDataRef data,
+    double timeout,
+  ) {
+    return _CFSocketSendData(
+      s,
+      address,
+      data,
+      timeout,
+    );
+  }
+
+  late final _CFSocketSendDataPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(CFSocketRef, CFDataRef, CFDataRef,
+              CFTimeInterval)>>('CFSocketSendData');
+  late final _CFSocketSendData = _CFSocketSendDataPtr.asFunction<
+      int Function(CFSocketRef, CFDataRef, CFDataRef, double)>();
+
+  int CFSocketRegisterValue(
+    ffi.Pointer<CFSocketSignature> nameServerSignature,
+    double timeout,
+    CFStringRef name,
+    CFPropertyListRef value,
+  ) {
+    return _CFSocketRegisterValue(
+      nameServerSignature,
+      timeout,
+      name,
+      value,
+    );
+  }
+
+  late final _CFSocketRegisterValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<CFSocketSignature>, CFTimeInterval,
+              CFStringRef, CFPropertyListRef)>>('CFSocketRegisterValue');
+  late final _CFSocketRegisterValue = _CFSocketRegisterValuePtr.asFunction<
+      int Function(ffi.Pointer<CFSocketSignature>, double, CFStringRef,
+          CFPropertyListRef)>();
+
+  int CFSocketCopyRegisteredValue(
+    ffi.Pointer<CFSocketSignature> nameServerSignature,
+    double timeout,
+    CFStringRef name,
+    ffi.Pointer<CFPropertyListRef> value,
+    ffi.Pointer<CFDataRef> nameServerAddress,
+  ) {
+    return _CFSocketCopyRegisteredValue(
+      nameServerSignature,
+      timeout,
+      name,
+      value,
+      nameServerAddress,
+    );
+  }
+
+  late final _CFSocketCopyRegisteredValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<CFSocketSignature>,
+              CFTimeInterval,
+              CFStringRef,
+              ffi.Pointer<CFPropertyListRef>,
+              ffi.Pointer<CFDataRef>)>>('CFSocketCopyRegisteredValue');
+  late final _CFSocketCopyRegisteredValue =
+      _CFSocketCopyRegisteredValuePtr.asFunction<
+          int Function(ffi.Pointer<CFSocketSignature>, double, CFStringRef,
+              ffi.Pointer<CFPropertyListRef>, ffi.Pointer<CFDataRef>)>();
+
+  int CFSocketRegisterSocketSignature(
+    ffi.Pointer<CFSocketSignature> nameServerSignature,
+    double timeout,
+    CFStringRef name,
+    ffi.Pointer<CFSocketSignature> signature,
+  ) {
+    return _CFSocketRegisterSocketSignature(
+      nameServerSignature,
+      timeout,
+      name,
+      signature,
+    );
+  }
+
+  late final _CFSocketRegisterSocketSignaturePtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Int32 Function(ffi.Pointer<CFSocketSignature>, CFTimeInterval,
+                  CFStringRef, ffi.Pointer<CFSocketSignature>)>>(
+      'CFSocketRegisterSocketSignature');
+  late final _CFSocketRegisterSocketSignature =
+      _CFSocketRegisterSocketSignaturePtr.asFunction<
+          int Function(ffi.Pointer<CFSocketSignature>, double, CFStringRef,
+              ffi.Pointer<CFSocketSignature>)>();
+
+  int CFSocketCopyRegisteredSocketSignature(
+    ffi.Pointer<CFSocketSignature> nameServerSignature,
+    double timeout,
+    CFStringRef name,
+    ffi.Pointer<CFSocketSignature> signature,
+    ffi.Pointer<CFDataRef> nameServerAddress,
+  ) {
+    return _CFSocketCopyRegisteredSocketSignature(
+      nameServerSignature,
+      timeout,
+      name,
+      signature,
+      nameServerAddress,
+    );
+  }
+
+  late final _CFSocketCopyRegisteredSocketSignaturePtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Int32 Function(
+                  ffi.Pointer<CFSocketSignature>,
+                  CFTimeInterval,
+                  CFStringRef,
+                  ffi.Pointer<CFSocketSignature>,
+                  ffi.Pointer<CFDataRef>)>>(
+      'CFSocketCopyRegisteredSocketSignature');
+  late final _CFSocketCopyRegisteredSocketSignature =
+      _CFSocketCopyRegisteredSocketSignaturePtr.asFunction<
+          int Function(ffi.Pointer<CFSocketSignature>, double, CFStringRef,
+              ffi.Pointer<CFSocketSignature>, ffi.Pointer<CFDataRef>)>();
+
+  int CFSocketUnregister(
+    ffi.Pointer<CFSocketSignature> nameServerSignature,
+    double timeout,
+    CFStringRef name,
+  ) {
+    return _CFSocketUnregister(
+      nameServerSignature,
+      timeout,
+      name,
+    );
+  }
+
+  late final _CFSocketUnregisterPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<CFSocketSignature>, CFTimeInterval,
+              CFStringRef)>>('CFSocketUnregister');
+  late final _CFSocketUnregister = _CFSocketUnregisterPtr.asFunction<
+      int Function(ffi.Pointer<CFSocketSignature>, double, CFStringRef)>();
+
+  void CFSocketSetDefaultNameRegistryPortNumber(
+    int port,
+  ) {
+    return _CFSocketSetDefaultNameRegistryPortNumber(
+      port,
+    );
+  }
+
+  late final _CFSocketSetDefaultNameRegistryPortNumberPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(UInt16)>>(
+          'CFSocketSetDefaultNameRegistryPortNumber');
+  late final _CFSocketSetDefaultNameRegistryPortNumber =
+      _CFSocketSetDefaultNameRegistryPortNumberPtr.asFunction<
+          void Function(int)>();
+
+  int CFSocketGetDefaultNameRegistryPortNumber() {
+    return _CFSocketGetDefaultNameRegistryPortNumber();
+  }
+
+  late final _CFSocketGetDefaultNameRegistryPortNumberPtr =
+      _lookup<ffi.NativeFunction<UInt16 Function()>>(
+          'CFSocketGetDefaultNameRegistryPortNumber');
+  late final _CFSocketGetDefaultNameRegistryPortNumber =
+      _CFSocketGetDefaultNameRegistryPortNumberPtr.asFunction<int Function()>();
+
+  late final ffi.Pointer<CFStringRef> _kCFSocketCommandKey =
+      _lookup<CFStringRef>('kCFSocketCommandKey');
+
+  CFStringRef get kCFSocketCommandKey => _kCFSocketCommandKey.value;
+
+  set kCFSocketCommandKey(CFStringRef value) =>
+      _kCFSocketCommandKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSocketNameKey =
+      _lookup<CFStringRef>('kCFSocketNameKey');
+
+  CFStringRef get kCFSocketNameKey => _kCFSocketNameKey.value;
+
+  set kCFSocketNameKey(CFStringRef value) => _kCFSocketNameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSocketValueKey =
+      _lookup<CFStringRef>('kCFSocketValueKey');
+
+  CFStringRef get kCFSocketValueKey => _kCFSocketValueKey.value;
+
+  set kCFSocketValueKey(CFStringRef value) => _kCFSocketValueKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSocketResultKey =
+      _lookup<CFStringRef>('kCFSocketResultKey');
+
+  CFStringRef get kCFSocketResultKey => _kCFSocketResultKey.value;
+
+  set kCFSocketResultKey(CFStringRef value) =>
+      _kCFSocketResultKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSocketErrorKey =
+      _lookup<CFStringRef>('kCFSocketErrorKey');
+
+  CFStringRef get kCFSocketErrorKey => _kCFSocketErrorKey.value;
+
+  set kCFSocketErrorKey(CFStringRef value) => _kCFSocketErrorKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSocketRegisterCommand =
+      _lookup<CFStringRef>('kCFSocketRegisterCommand');
+
+  CFStringRef get kCFSocketRegisterCommand => _kCFSocketRegisterCommand.value;
+
+  set kCFSocketRegisterCommand(CFStringRef value) =>
+      _kCFSocketRegisterCommand.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSocketRetrieveCommand =
+      _lookup<CFStringRef>('kCFSocketRetrieveCommand');
+
+  CFStringRef get kCFSocketRetrieveCommand => _kCFSocketRetrieveCommand.value;
+
+  set kCFSocketRetrieveCommand(CFStringRef value) =>
+      _kCFSocketRetrieveCommand.value = value;
+
+  int getattrlistbulk(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+    int arg4,
+  ) {
+    return _getattrlistbulk(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _getattrlistbulkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>, ffi.Size, ffi.Uint64)>>('getattrlistbulk');
+  late final _getattrlistbulk = _getattrlistbulkPtr.asFunction<
+      int Function(
+          int, ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int, int)>();
+
+  int getattrlistat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    ffi.Pointer<ffi.Void> arg3,
+    int arg4,
+    int arg5,
+  ) {
+    return _getattrlistat(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+    );
+  }
+
+  late final _getattrlistatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.UnsignedLong)>>('getattrlistat');
+  late final _getattrlistat = _getattrlistatPtr.asFunction<
+      int Function(int, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>, int, int)>();
+
+  int setattrlistat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    ffi.Pointer<ffi.Void> arg3,
+    int arg4,
+    int arg5,
+  ) {
+    return _setattrlistat(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+    );
+  }
+
+  late final _setattrlistatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Uint32)>>('setattrlistat');
+  late final _setattrlistat = _setattrlistatPtr.asFunction<
+      int Function(int, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>, int, int)>();
+
+  int freadlink(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _freadlink(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _freadlinkPtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Size)>>('freadlink');
+  late final _freadlink =
+      _freadlinkPtr.asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int faccessat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _faccessat(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _faccessatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int, ffi.Int)>>('faccessat');
+  late final _faccessat = _faccessatPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int, int)>();
+
+  int fchownat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    int arg3,
+    int arg4,
+  ) {
+    return _fchownat(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _fchownatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, uid_t, gid_t,
+              ffi.Int)>>('fchownat');
+  late final _fchownat = _fchownatPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int, int, int)>();
+
+  int linkat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    ffi.Pointer<ffi.Char> arg3,
+    int arg4,
+  ) {
+    return _linkat(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _linkatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Pointer<ffi.Char>, ffi.Int)>>('linkat');
+  late final _linkat = _linkatPtr.asFunction<
+      int Function(
+          int, ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>, int)>();
+
+  int readlinkat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    ffi.Pointer<ffi.Char> arg2,
+    int arg3,
+  ) {
+    return _readlinkat(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _readlinkatPtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(ffi.Int, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('readlinkat');
+  late final _readlinkat = _readlinkatPtr.asFunction<
+      int Function(int, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int symlinkat(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+  ) {
+    return _symlinkat(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _symlinkatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Pointer<ffi.Char>)>>('symlinkat');
+  late final _symlinkat = _symlinkatPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>)>();
+
+  int unlinkat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _unlinkat(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _unlinkatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int)>>('unlinkat');
+  late final _unlinkat =
+      _unlinkatPtr.asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  void _exit(
+    int arg0,
+  ) {
+    return __exit(
+      arg0,
+    );
+  }
+
+  late final __exitPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>('_exit');
+  late final __exit = __exitPtr.asFunction<void Function(int)>();
+
+  int access(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _access(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _accessPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'access');
+  late final _access =
+      _accessPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int alarm(
+    int arg0,
+  ) {
+    return _alarm(
+      arg0,
+    );
+  }
+
+  late final _alarmPtr =
+      _lookup<ffi.NativeFunction<ffi.UnsignedInt Function(ffi.UnsignedInt)>>(
+          'alarm');
+  late final _alarm = _alarmPtr.asFunction<int Function(int)>();
+
+  int chdir(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _chdir(
+      arg0,
+    );
+  }
+
+  late final _chdirPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'chdir');
+  late final _chdir =
+      _chdirPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int chown(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _chown(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _chownPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, uid_t, gid_t)>>('chown');
+  late final _chown =
+      _chownPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int, int)>();
+
+  int close(
+    int arg0,
+  ) {
+    return _close(
+      arg0,
+    );
+  }
+
+  late final _closePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('close');
+  late final _close = _closePtr.asFunction<int Function(int)>();
+
+  int dup(
+    int arg0,
+  ) {
+    return _dup(
+      arg0,
+    );
+  }
+
+  late final _dupPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('dup');
+  late final _dup = _dupPtr.asFunction<int Function(int)>();
+
+  int dup2(
+    int arg0,
+    int arg1,
+  ) {
+    return _dup2(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _dup2Ptr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>('dup2');
+  late final _dup2 = _dup2Ptr.asFunction<int Function(int, int)>();
+
+  int execl(
+    ffi.Pointer<ffi.Char> __path,
+    ffi.Pointer<ffi.Char> __arg0,
+  ) {
+    return _execl(
+      __path,
+      __arg0,
+    );
+  }
+
+  late final _execlPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('execl');
+  late final _execl = _execlPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int execle(
+    ffi.Pointer<ffi.Char> __path,
+    ffi.Pointer<ffi.Char> __arg0,
+  ) {
+    return _execle(
+      __path,
+      __arg0,
+    );
+  }
+
+  late final _execlePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('execle');
+  late final _execle = _execlePtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int execlp(
+    ffi.Pointer<ffi.Char> __file,
+    ffi.Pointer<ffi.Char> __arg0,
+  ) {
+    return _execlp(
+      __file,
+      __arg0,
+    );
+  }
+
+  late final _execlpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('execlp');
+  late final _execlp = _execlpPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int execv(
+    ffi.Pointer<ffi.Char> __path,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __argv,
+  ) {
+    return _execv(
+      __path,
+      __argv,
+    );
+  }
+
+  late final _execvPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('execv');
+  late final _execv = _execvPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int execve(
+    ffi.Pointer<ffi.Char> __file,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __argv,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __envp,
+  ) {
+    return _execve(
+      __file,
+      __argv,
+      __envp,
+    );
+  }
+
+  late final _execvePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('execve');
+  late final _execve = _execvePtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int execvp(
+    ffi.Pointer<ffi.Char> __file,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __argv,
+  ) {
+    return _execvp(
+      __file,
+      __argv,
+    );
+  }
+
+  late final _execvpPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('execvp');
+  late final _execvp = _execvpPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  int fork() {
+    return _fork();
+  }
+
+  late final _forkPtr = _lookup<ffi.NativeFunction<pid_t Function()>>('fork');
+  late final _fork = _forkPtr.asFunction<int Function()>();
+
+  int fpathconf(
+    int arg0,
+    int arg1,
+  ) {
+    return _fpathconf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fpathconfPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Int, ffi.Int)>>(
+          'fpathconf');
+  late final _fpathconf = _fpathconfPtr.asFunction<int Function(int, int)>();
+
+  ffi.Pointer<ffi.Char> getcwd(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _getcwd(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getcwdPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Size)>>('getcwd');
+  late final _getcwd = _getcwdPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int getegid() {
+    return _getegid();
+  }
+
+  late final _getegidPtr =
+      _lookup<ffi.NativeFunction<gid_t Function()>>('getegid');
+  late final _getegid = _getegidPtr.asFunction<int Function()>();
+
+  int geteuid() {
+    return _geteuid();
+  }
+
+  late final _geteuidPtr =
+      _lookup<ffi.NativeFunction<uid_t Function()>>('geteuid');
+  late final _geteuid = _geteuidPtr.asFunction<int Function()>();
+
+  int getgid() {
+    return _getgid();
+  }
+
+  late final _getgidPtr =
+      _lookup<ffi.NativeFunction<gid_t Function()>>('getgid');
+  late final _getgid = _getgidPtr.asFunction<int Function()>();
+
+  int getgroups(
+    int arg0,
+    ffi.Pointer<gid_t> arg1,
+  ) {
+    return _getgroups(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getgroupsPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<gid_t>)>>(
+      'getgroups');
+  late final _getgroups =
+      _getgroupsPtr.asFunction<int Function(int, ffi.Pointer<gid_t>)>();
+
+  ffi.Pointer<ffi.Char> getlogin() {
+    return _getlogin();
+  }
+
+  late final _getloginPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function()>>('getlogin');
+  late final _getlogin =
+      _getloginPtr.asFunction<ffi.Pointer<ffi.Char> Function()>();
+
+  int getpgrp() {
+    return _getpgrp();
+  }
+
+  late final _getpgrpPtr =
+      _lookup<ffi.NativeFunction<pid_t Function()>>('getpgrp');
+  late final _getpgrp = _getpgrpPtr.asFunction<int Function()>();
+
+  int getpid() {
+    return _getpid();
+  }
+
+  late final _getpidPtr =
+      _lookup<ffi.NativeFunction<pid_t Function()>>('getpid');
+  late final _getpid = _getpidPtr.asFunction<int Function()>();
+
+  int getppid() {
+    return _getppid();
+  }
+
+  late final _getppidPtr =
+      _lookup<ffi.NativeFunction<pid_t Function()>>('getppid');
+  late final _getppid = _getppidPtr.asFunction<int Function()>();
+
+  int getuid() {
+    return _getuid();
+  }
+
+  late final _getuidPtr =
+      _lookup<ffi.NativeFunction<uid_t Function()>>('getuid');
+  late final _getuid = _getuidPtr.asFunction<int Function()>();
+
+  int isatty(
+    int arg0,
+  ) {
+    return _isatty(
+      arg0,
+    );
+  }
+
+  late final _isattyPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('isatty');
+  late final _isatty = _isattyPtr.asFunction<int Function(int)>();
+
+  int link(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _link(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _linkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('link');
+  late final _link = _linkPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int lseek(
+    int arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _lseek(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _lseekPtr =
+      _lookup<ffi.NativeFunction<off_t Function(ffi.Int, off_t, ffi.Int)>>(
+          'lseek');
+  late final _lseek = _lseekPtr.asFunction<int Function(int, int, int)>();
+
+  int pathconf(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _pathconf(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _pathconfPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Long Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'pathconf');
+  late final _pathconf =
+      _pathconfPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int pause() {
+    return _pause();
+  }
+
+  late final _pausePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('pause');
+  late final _pause = _pausePtr.asFunction<int Function()>();
+
+  int pipe(
+    ffi.Pointer<ffi.Int> arg0,
+  ) {
+    return _pipe(
+      arg0,
+    );
+  }
+
+  late final _pipePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Int>)>>(
+          'pipe');
+  late final _pipe = _pipePtr.asFunction<int Function(ffi.Pointer<ffi.Int>)>();
+
+  int read(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    int arg2,
+  ) {
+    return _read(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _readPtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(ffi.Int, ffi.Pointer<ffi.Void>, ffi.Size)>>('read');
+  late final _read =
+      _readPtr.asFunction<int Function(int, ffi.Pointer<ffi.Void>, int)>();
+
+  int rmdir(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _rmdir(
+      arg0,
+    );
+  }
+
+  late final _rmdirPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'rmdir');
+  late final _rmdir =
+      _rmdirPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int setgid(
+    int arg0,
+  ) {
+    return _setgid(
+      arg0,
+    );
+  }
+
+  late final _setgidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(gid_t)>>('setgid');
+  late final _setgid = _setgidPtr.asFunction<int Function(int)>();
+
+  int setpgid(
+    int arg0,
+    int arg1,
+  ) {
+    return _setpgid(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setpgidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(pid_t, pid_t)>>('setpgid');
+  late final _setpgid = _setpgidPtr.asFunction<int Function(int, int)>();
+
+  int setsid() {
+    return _setsid();
+  }
+
+  late final _setsidPtr =
+      _lookup<ffi.NativeFunction<pid_t Function()>>('setsid');
+  late final _setsid = _setsidPtr.asFunction<int Function()>();
+
+  int setuid(
+    int arg0,
+  ) {
+    return _setuid(
+      arg0,
+    );
+  }
+
+  late final _setuidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(uid_t)>>('setuid');
+  late final _setuid = _setuidPtr.asFunction<int Function(int)>();
+
+  int sleep(
+    int arg0,
+  ) {
+    return _sleep(
+      arg0,
+    );
+  }
+
+  late final _sleepPtr =
+      _lookup<ffi.NativeFunction<ffi.UnsignedInt Function(ffi.UnsignedInt)>>(
+          'sleep');
+  late final _sleep = _sleepPtr.asFunction<int Function(int)>();
+
+  int sysconf(
+    int arg0,
+  ) {
+    return _sysconf(
+      arg0,
+    );
+  }
+
+  late final _sysconfPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function(ffi.Int)>>('sysconf');
+  late final _sysconf = _sysconfPtr.asFunction<int Function(int)>();
+
+  int tcgetpgrp(
+    int arg0,
+  ) {
+    return _tcgetpgrp(
+      arg0,
+    );
+  }
+
+  late final _tcgetpgrpPtr =
+      _lookup<ffi.NativeFunction<pid_t Function(ffi.Int)>>('tcgetpgrp');
+  late final _tcgetpgrp = _tcgetpgrpPtr.asFunction<int Function(int)>();
+
+  int tcsetpgrp(
+    int arg0,
+    int arg1,
+  ) {
+    return _tcsetpgrp(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _tcsetpgrpPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, pid_t)>>(
+          'tcsetpgrp');
+  late final _tcsetpgrp = _tcsetpgrpPtr.asFunction<int Function(int, int)>();
+
+  ffi.Pointer<ffi.Char> ttyname(
+    int arg0,
+  ) {
+    return _ttyname(
+      arg0,
+    );
+  }
+
+  late final _ttynamePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.Int)>>(
+          'ttyname');
+  late final _ttyname =
+      _ttynamePtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  int ttyname_r(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _ttyname_r(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _ttyname_rPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Size)>>('ttyname_r');
+  late final _ttyname_r =
+      _ttyname_rPtr.asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int unlink(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _unlink(
+      arg0,
+    );
+  }
+
+  late final _unlinkPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'unlink');
+  late final _unlink =
+      _unlinkPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int write(
+    int __fd,
+    ffi.Pointer<ffi.Void> __buf,
+    int __nbyte,
+  ) {
+    return _write(
+      __fd,
+      __buf,
+      __nbyte,
+    );
+  }
+
+  late final _writePtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(ffi.Int, ffi.Pointer<ffi.Void>, ffi.Size)>>('write');
+  late final _write =
+      _writePtr.asFunction<int Function(int, ffi.Pointer<ffi.Void>, int)>();
+
+  int confstr(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _confstr(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _confstrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Size Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Size)>>('confstr');
+  late final _confstr =
+      _confstrPtr.asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int getopt(
+    int arg0,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg1,
+    ffi.Pointer<ffi.Char> arg2,
+  ) {
+    return _getopt(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _getoptPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Char>)>>('getopt');
+  late final _getopt = _getoptPtr.asFunction<
+      int Function(
+          int, ffi.Pointer<ffi.Pointer<ffi.Char>>, ffi.Pointer<ffi.Char>)>();
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _optarg =
+      _lookup<ffi.Pointer<ffi.Char>>('optarg');
+
+  ffi.Pointer<ffi.Char> get optarg => _optarg.value;
+
+  set optarg(ffi.Pointer<ffi.Char> value) => _optarg.value = value;
+
+  late final ffi.Pointer<ffi.Int> _optind = _lookup<ffi.Int>('optind');
+
+  int get optind => _optind.value;
+
+  set optind(int value) => _optind.value = value;
+
+  late final ffi.Pointer<ffi.Int> _opterr = _lookup<ffi.Int>('opterr');
+
+  int get opterr => _opterr.value;
+
+  set opterr(int value) => _opterr.value = value;
+
+  late final ffi.Pointer<ffi.Int> _optopt = _lookup<ffi.Int>('optopt');
+
+  int get optopt => _optopt.value;
+
+  set optopt(int value) => _optopt.value = value;
+
+  ffi.Pointer<ffi.Void> brk(
+    ffi.Pointer<ffi.Void> arg0,
+  ) {
+    return _brk(
+      arg0,
+    );
+  }
+
+  late final _brkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>>('brk');
+  late final _brk = _brkPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>();
+
+  int chroot(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _chroot(
+      arg0,
+    );
+  }
+
+  late final _chrootPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'chroot');
+  late final _chroot =
+      _chrootPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> crypt(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _crypt(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _cryptPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('crypt');
+  late final _crypt = _cryptPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  void encrypt(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _encrypt(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _encryptPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'encrypt');
+  late final _encrypt =
+      _encryptPtr.asFunction<void Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int fchdir(
+    int arg0,
+  ) {
+    return _fchdir(
+      arg0,
+    );
+  }
+
+  late final _fchdirPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('fchdir');
+  late final _fchdir = _fchdirPtr.asFunction<int Function(int)>();
+
+  int gethostid() {
+    return _gethostid();
+  }
+
+  late final _gethostidPtr =
+      _lookup<ffi.NativeFunction<ffi.Long Function()>>('gethostid');
+  late final _gethostid = _gethostidPtr.asFunction<int Function()>();
+
+  int getpgid(
+    int arg0,
+  ) {
+    return _getpgid(
+      arg0,
+    );
+  }
+
+  late final _getpgidPtr =
+      _lookup<ffi.NativeFunction<pid_t Function(pid_t)>>('getpgid');
+  late final _getpgid = _getpgidPtr.asFunction<int Function(int)>();
+
+  int getsid(
+    int arg0,
+  ) {
+    return _getsid(
+      arg0,
+    );
+  }
+
+  late final _getsidPtr =
+      _lookup<ffi.NativeFunction<pid_t Function(pid_t)>>('getsid');
+  late final _getsid = _getsidPtr.asFunction<int Function(int)>();
+
+  int getdtablesize() {
+    return _getdtablesize();
+  }
+
+  late final _getdtablesizePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('getdtablesize');
+  late final _getdtablesize = _getdtablesizePtr.asFunction<int Function()>();
+
+  int getpagesize() {
+    return _getpagesize();
+  }
+
+  late final _getpagesizePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('getpagesize');
+  late final _getpagesize = _getpagesizePtr.asFunction<int Function()>();
+
+  ffi.Pointer<ffi.Char> getpass(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _getpass(
+      arg0,
+    );
+  }
+
+  late final _getpassPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('getpass');
+  late final _getpass = _getpassPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Char> getwd(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _getwd(
+      arg0,
+    );
+  }
+
+  late final _getwdPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('getwd');
+  late final _getwd = _getwdPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  int lchown(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _lchown(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _lchownPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, uid_t, gid_t)>>('lchown');
+  late final _lchown =
+      _lchownPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int, int)>();
+
+  int lockf(
+    int arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _lockf(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _lockfPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int, off_t)>>(
+          'lockf');
+  late final _lockf = _lockfPtr.asFunction<int Function(int, int, int)>();
+
+  int nice(
+    int arg0,
+  ) {
+    return _nice(
+      arg0,
+    );
+  }
+
+  late final _nicePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('nice');
+  late final _nice = _nicePtr.asFunction<int Function(int)>();
+
+  int pread(
+    int __fd,
+    ffi.Pointer<ffi.Void> __buf,
+    int __nbyte,
+    int __offset,
+  ) {
+    return _pread(
+      __fd,
+      __buf,
+      __nbyte,
+      __offset,
+    );
+  }
+
+  late final _preadPtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(
+              ffi.Int, ffi.Pointer<ffi.Void>, ffi.Size, off_t)>>('pread');
+  late final _pread = _preadPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Void>, int, int)>();
+
+  int pwrite(
+    int __fd,
+    ffi.Pointer<ffi.Void> __buf,
+    int __nbyte,
+    int __offset,
+  ) {
+    return _pwrite(
+      __fd,
+      __buf,
+      __nbyte,
+      __offset,
+    );
+  }
+
+  late final _pwritePtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(
+              ffi.Int, ffi.Pointer<ffi.Void>, ffi.Size, off_t)>>('pwrite');
+  late final _pwrite = _pwritePtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Void>, int, int)>();
+
+  ffi.Pointer<ffi.Void> sbrk(
+    int arg0,
+  ) {
+    return _sbrk(
+      arg0,
+    );
+  }
+
+  late final _sbrkPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Int)>>(
+          'sbrk');
+  late final _sbrk = _sbrkPtr.asFunction<ffi.Pointer<ffi.Void> Function(int)>();
+
+  int setpgrp() {
+    return _setpgrp();
+  }
+
+  late final _setpgrpPtr =
+      _lookup<ffi.NativeFunction<pid_t Function()>>('setpgrp');
+  late final _setpgrp = _setpgrpPtr.asFunction<int Function()>();
+
+  int setregid(
+    int arg0,
+    int arg1,
+  ) {
+    return _setregid(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setregidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(gid_t, gid_t)>>('setregid');
+  late final _setregid = _setregidPtr.asFunction<int Function(int, int)>();
+
+  int setreuid(
+    int arg0,
+    int arg1,
+  ) {
+    return _setreuid(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setreuidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(uid_t, uid_t)>>('setreuid');
+  late final _setreuid = _setreuidPtr.asFunction<int Function(int, int)>();
+
+  void sync1() {
+    return _sync1();
+  }
+
+  late final _sync1Ptr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('sync');
+  late final _sync1 = _sync1Ptr.asFunction<void Function()>();
+
+  int truncate(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _truncate(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _truncatePtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, off_t)>>(
+      'truncate');
+  late final _truncate =
+      _truncatePtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int ualarm(
+    int arg0,
+    int arg1,
+  ) {
+    return _ualarm(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ualarmPtr =
+      _lookup<ffi.NativeFunction<useconds_t Function(useconds_t, useconds_t)>>(
+          'ualarm');
+  late final _ualarm = _ualarmPtr.asFunction<int Function(int, int)>();
+
+  int usleep(
+    int arg0,
+  ) {
+    return _usleep(
+      arg0,
+    );
+  }
+
+  late final _usleepPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(useconds_t)>>('usleep');
+  late final _usleep = _usleepPtr.asFunction<int Function(int)>();
+
+  int vfork() {
+    return _vfork();
+  }
+
+  late final _vforkPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('vfork');
+  late final _vfork = _vforkPtr.asFunction<int Function()>();
+
+  int fsync(
+    int arg0,
+  ) {
+    return _fsync(
+      arg0,
+    );
+  }
+
+  late final _fsyncPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('fsync');
+  late final _fsync = _fsyncPtr.asFunction<int Function(int)>();
+
+  int ftruncate(
+    int arg0,
+    int arg1,
+  ) {
+    return _ftruncate(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _ftruncatePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, off_t)>>(
+          'ftruncate');
+  late final _ftruncate = _ftruncatePtr.asFunction<int Function(int, int)>();
+
+  int getlogin_r(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _getlogin_r(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getlogin_rPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size)>>(
+      'getlogin_r');
+  late final _getlogin_r =
+      _getlogin_rPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int fchown(
+    int arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _fchown(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _fchownPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, uid_t, gid_t)>>(
+          'fchown');
+  late final _fchown = _fchownPtr.asFunction<int Function(int, int, int)>();
+
+  int gethostname(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _gethostname(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _gethostnamePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size)>>(
+      'gethostname');
+  late final _gethostname =
+      _gethostnamePtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int readlink(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _readlink(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _readlinkPtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Size)>>('readlink');
+  late final _readlink = _readlinkPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int setegid(
+    int arg0,
+  ) {
+    return _setegid(
+      arg0,
+    );
+  }
+
+  late final _setegidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(gid_t)>>('setegid');
+  late final _setegid = _setegidPtr.asFunction<int Function(int)>();
+
+  int seteuid(
+    int arg0,
+  ) {
+    return _seteuid(
+      arg0,
+    );
+  }
+
+  late final _seteuidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(uid_t)>>('seteuid');
+  late final _seteuid = _seteuidPtr.asFunction<int Function(int)>();
+
+  int symlink(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+  ) {
+    return _symlink(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _symlinkPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('symlink');
+  late final _symlink = _symlinkPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int pselect(
+    int arg0,
+    ffi.Pointer<fd_set> arg1,
+    ffi.Pointer<fd_set> arg2,
+    ffi.Pointer<fd_set> arg3,
+    ffi.Pointer<timespec> arg4,
+    ffi.Pointer<sigset_t> arg5,
+  ) {
+    return _pselect(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+    );
+  }
+
+  late final _pselectPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int,
+              ffi.Pointer<fd_set>,
+              ffi.Pointer<fd_set>,
+              ffi.Pointer<fd_set>,
+              ffi.Pointer<timespec>,
+              ffi.Pointer<sigset_t>)>>('pselect');
+  late final _pselect = _pselectPtr.asFunction<
+      int Function(int, ffi.Pointer<fd_set>, ffi.Pointer<fd_set>,
+          ffi.Pointer<fd_set>, ffi.Pointer<timespec>, ffi.Pointer<sigset_t>)>();
+
+  int select(
+    int arg0,
+    ffi.Pointer<fd_set> arg1,
+    ffi.Pointer<fd_set> arg2,
+    ffi.Pointer<fd_set> arg3,
+    ffi.Pointer<timeval> arg4,
+  ) {
+    return _select(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _selectPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<fd_set>, ffi.Pointer<fd_set>,
+              ffi.Pointer<fd_set>, ffi.Pointer<timeval>)>>('select');
+  late final _select = _selectPtr.asFunction<
+      int Function(int, ffi.Pointer<fd_set>, ffi.Pointer<fd_set>,
+          ffi.Pointer<fd_set>, ffi.Pointer<timeval>)>();
+
+  int accessx_np(
+    ffi.Pointer<accessx_descriptor> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Int> arg2,
+    int arg3,
+  ) {
+    return _accessx_np(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _accessx_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<accessx_descriptor>, ffi.Size,
+              ffi.Pointer<ffi.Int>, uid_t)>>('accessx_np');
+  late final _accessx_np = _accessx_npPtr.asFunction<
+      int Function(
+          ffi.Pointer<accessx_descriptor>, int, ffi.Pointer<ffi.Int>, int)>();
+
+  int acct(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _acct(
+      arg0,
+    );
+  }
+
+  late final _acctPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'acct');
+  late final _acct = _acctPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int add_profil(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _add_profil(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _add_profilPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size, ffi.UnsignedLong,
+              ffi.UnsignedInt)>>('add_profil');
+  late final _add_profil = _add_profilPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, int, int)>();
+
+  void endusershell() {
+    return _endusershell();
+  }
+
+  late final _endusershellPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('endusershell');
+  late final _endusershell = _endusershellPtr.asFunction<void Function()>();
+
+  int execvP(
+    ffi.Pointer<ffi.Char> __file,
+    ffi.Pointer<ffi.Char> __searchpath,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> __argv,
+  ) {
+    return _execvP(
+      __file,
+      __searchpath,
+      __argv,
+    );
+  }
+
+  late final _execvPPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('execvP');
+  late final _execvP = _execvPPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  ffi.Pointer<ffi.Char> fflagstostr(
+    int arg0,
+  ) {
+    return _fflagstostr(
+      arg0,
+    );
+  }
+
+  late final _fflagstostrPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(ffi.UnsignedLong)>>(
+      'fflagstostr');
+  late final _fflagstostr =
+      _fflagstostrPtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  int getdomainname(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _getdomainname(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getdomainnamePtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'getdomainname');
+  late final _getdomainname =
+      _getdomainnamePtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int getgrouplist(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Int> arg2,
+    ffi.Pointer<ffi.Int> arg3,
+  ) {
+    return _getgrouplist(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _getgrouplistPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int, ffi.Pointer<ffi.Int>,
+              ffi.Pointer<ffi.Int>)>>('getgrouplist');
+  late final _getgrouplist = _getgrouplistPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Int>,
+          ffi.Pointer<ffi.Int>)>();
+
+  int gethostuuid(
+    ffi.Pointer<ffi.UnsignedChar> arg0,
+    ffi.Pointer<timespec> arg1,
+  ) {
+    return _gethostuuid(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _gethostuuidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.UnsignedChar>,
+              ffi.Pointer<timespec>)>>('gethostuuid');
+  late final _gethostuuid = _gethostuuidPtr.asFunction<
+      int Function(ffi.Pointer<ffi.UnsignedChar>, ffi.Pointer<timespec>)>();
+
+  int getmode(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+  ) {
+    return _getmode(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getmodePtr = _lookup<
+          ffi.NativeFunction<mode_t Function(ffi.Pointer<ffi.Void>, mode_t)>>(
+      'getmode');
+  late final _getmode =
+      _getmodePtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int)>();
+
+  int getpeereid(
+    int arg0,
+    ffi.Pointer<uid_t> arg1,
+    ffi.Pointer<gid_t> arg2,
+  ) {
+    return _getpeereid(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _getpeereidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<uid_t>, ffi.Pointer<gid_t>)>>('getpeereid');
+  late final _getpeereid = _getpeereidPtr
+      .asFunction<int Function(int, ffi.Pointer<uid_t>, ffi.Pointer<gid_t>)>();
+
+  int getsgroups_np(
+    ffi.Pointer<ffi.Int> arg0,
+    ffi.Pointer<ffi.UnsignedChar> arg1,
+  ) {
+    return _getsgroups_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getsgroups_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Int>,
+              ffi.Pointer<ffi.UnsignedChar>)>>('getsgroups_np');
+  late final _getsgroups_np = _getsgroups_npPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  ffi.Pointer<ffi.Char> getusershell() {
+    return _getusershell();
+  }
+
+  late final _getusershellPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function()>>(
+          'getusershell');
+  late final _getusershell =
+      _getusershellPtr.asFunction<ffi.Pointer<ffi.Char> Function()>();
+
+  int getwgroups_np(
+    ffi.Pointer<ffi.Int> arg0,
+    ffi.Pointer<ffi.UnsignedChar> arg1,
+  ) {
+    return _getwgroups_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getwgroups_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Int>,
+              ffi.Pointer<ffi.UnsignedChar>)>>('getwgroups_np');
+  late final _getwgroups_np = _getwgroups_npPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Int>, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  int initgroups(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _initgroups(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _initgroupsPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'initgroups');
+  late final _initgroups =
+      _initgroupsPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int issetugid() {
+    return _issetugid();
+  }
+
+  late final _issetugidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('issetugid');
+  late final _issetugid = _issetugidPtr.asFunction<int Function()>();
+
+  ffi.Pointer<ffi.Char> mkdtemp(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _mkdtemp(
+      arg0,
+    );
+  }
+
+  late final _mkdtempPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>>('mkdtemp');
+  late final _mkdtemp = _mkdtempPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>)>();
+
+  int mknod(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _mknod(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _mknodPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, mode_t, dev_t)>>('mknod');
+  late final _mknod =
+      _mknodPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int, int)>();
+
+  int mkpath_np(
+    ffi.Pointer<ffi.Char> path,
+    int omode,
+  ) {
+    return _mkpath_np(
+      path,
+      omode,
+    );
+  }
+
+  late final _mkpath_npPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, mode_t)>>(
+      'mkpath_np');
+  late final _mkpath_np =
+      _mkpath_npPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int mkpathat_np(
+    int dfd,
+    ffi.Pointer<ffi.Char> path,
+    int omode,
+  ) {
+    return _mkpathat_np(
+      dfd,
+      path,
+      omode,
+    );
+  }
+
+  late final _mkpathat_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, mode_t)>>('mkpathat_np');
+  late final _mkpathat_np = _mkpathat_npPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int mkstemps(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _mkstemps(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _mkstempsPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'mkstemps');
+  late final _mkstemps =
+      _mkstempsPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int mkostemp(
+    ffi.Pointer<ffi.Char> path,
+    int oflags,
+  ) {
+    return _mkostemp(
+      path,
+      oflags,
+    );
+  }
+
+  late final _mkostempPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'mkostemp');
+  late final _mkostemp =
+      _mkostempPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int mkostemps(
+    ffi.Pointer<ffi.Char> path,
+    int slen,
+    int oflags,
+  ) {
+    return _mkostemps(
+      path,
+      slen,
+      oflags,
+    );
+  }
+
+  late final _mkostempsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Int, ffi.Int)>>('mkostemps');
+  late final _mkostemps =
+      _mkostempsPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int, int)>();
+
+  int mkstemp_dprotected_np(
+    ffi.Pointer<ffi.Char> path,
+    int dpclass,
+    int dpflags,
+  ) {
+    return _mkstemp_dprotected_np(
+      path,
+      dpclass,
+      dpflags,
+    );
+  }
+
+  late final _mkstemp_dprotected_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Int)>>('mkstemp_dprotected_np');
+  late final _mkstemp_dprotected_np = _mkstemp_dprotected_npPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, int)>();
+
+  ffi.Pointer<ffi.Char> mkdtempat_np(
+    int dfd,
+    ffi.Pointer<ffi.Char> path,
+  ) {
+    return _mkdtempat_np(
+      dfd,
+      path,
+    );
+  }
+
+  late final _mkdtempat_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Int, ffi.Pointer<ffi.Char>)>>('mkdtempat_np');
+  late final _mkdtempat_np = _mkdtempat_npPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(int, ffi.Pointer<ffi.Char>)>();
+
+  int mkstempsat_np(
+    int dfd,
+    ffi.Pointer<ffi.Char> path,
+    int slen,
+  ) {
+    return _mkstempsat_np(
+      dfd,
+      path,
+      slen,
+    );
+  }
+
+  late final _mkstempsat_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int)>>('mkstempsat_np');
+  late final _mkstempsat_np = _mkstempsat_npPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int mkostempsat_np(
+    int dfd,
+    ffi.Pointer<ffi.Char> path,
+    int slen,
+    int oflags,
+  ) {
+    return _mkostempsat_np(
+      dfd,
+      path,
+      slen,
+      oflags,
+    );
+  }
+
+  late final _mkostempsat_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Int)>>('mkostempsat_np');
+  late final _mkostempsat_np = _mkostempsat_npPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int, int)>();
+
+  int nfssvc(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+  ) {
+    return _nfssvc(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _nfssvcPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Void>)>>(
+      'nfssvc');
+  late final _nfssvc =
+      _nfssvcPtr.asFunction<int Function(int, ffi.Pointer<ffi.Void>)>();
+
+  int profil(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _profil(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _profilPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Size, ffi.UnsignedLong,
+              ffi.UnsignedInt)>>('profil');
+  late final _profil = _profilPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, int, int)>();
+
+  int pthread_setugid_np(
+    int arg0,
+    int arg1,
+  ) {
+    return _pthread_setugid_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _pthread_setugid_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(uid_t, gid_t)>>(
+          'pthread_setugid_np');
+  late final _pthread_setugid_np =
+      _pthread_setugid_npPtr.asFunction<int Function(int, int)>();
+
+  int pthread_getugid_np(
+    ffi.Pointer<uid_t> arg0,
+    ffi.Pointer<gid_t> arg1,
+  ) {
+    return _pthread_getugid_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _pthread_getugid_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<uid_t>, ffi.Pointer<gid_t>)>>('pthread_getugid_np');
+  late final _pthread_getugid_np = _pthread_getugid_npPtr
+      .asFunction<int Function(ffi.Pointer<uid_t>, ffi.Pointer<gid_t>)>();
+
+  int reboot(
+    int arg0,
+  ) {
+    return _reboot(
+      arg0,
+    );
+  }
+
+  late final _rebootPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('reboot');
+  late final _reboot = _rebootPtr.asFunction<int Function(int)>();
+
+  int revoke(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _revoke(
+      arg0,
+    );
+  }
+
+  late final _revokePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'revoke');
+  late final _revoke =
+      _revokePtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int rcmd(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+    ffi.Pointer<ffi.Char> arg3,
+    ffi.Pointer<ffi.Char> arg4,
+    ffi.Pointer<ffi.Int> arg5,
+  ) {
+    return _rcmd(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+    );
+  }
+
+  late final _rcmdPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Int,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Int>)>>('rcmd');
+  late final _rcmd = _rcmdPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          int,
+          ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Int>)>();
+
+  int rcmd_af(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+    ffi.Pointer<ffi.Char> arg3,
+    ffi.Pointer<ffi.Char> arg4,
+    ffi.Pointer<ffi.Int> arg5,
+    int arg6,
+  ) {
+    return _rcmd_af(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+      arg6,
+    );
+  }
+
+  late final _rcmd_afPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Int,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Int>,
+              ffi.Int)>>('rcmd_af');
+  late final _rcmd_af = _rcmd_afPtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          int,
+          ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Int>,
+          int)>();
+
+  int rresvport(
+    ffi.Pointer<ffi.Int> arg0,
+  ) {
+    return _rresvport(
+      arg0,
+    );
+  }
+
+  late final _rresvportPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Int>)>>(
+          'rresvport');
+  late final _rresvport =
+      _rresvportPtr.asFunction<int Function(ffi.Pointer<ffi.Int>)>();
+
+  int rresvport_af(
+    ffi.Pointer<ffi.Int> arg0,
+    int arg1,
+  ) {
+    return _rresvport_af(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _rresvport_afPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Int>, ffi.Int)>>(
+      'rresvport_af');
+  late final _rresvport_af =
+      _rresvport_afPtr.asFunction<int Function(ffi.Pointer<ffi.Int>, int)>();
+
+  int iruserok(
+    int arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+    ffi.Pointer<ffi.Char> arg3,
+  ) {
+    return _iruserok(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _iruserokPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.UnsignedLong, ffi.Int, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>)>>('iruserok');
+  late final _iruserok = _iruserokPtr.asFunction<
+      int Function(int, int, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  int iruserok_sa(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    int arg2,
+    ffi.Pointer<ffi.Char> arg3,
+    ffi.Pointer<ffi.Char> arg4,
+  ) {
+    return _iruserok_sa(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _iruserok_saPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Int, ffi.Int,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('iruserok_sa');
+  late final _iruserok_sa = _iruserok_saPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Char>)>();
+
+  int ruserok(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+    ffi.Pointer<ffi.Char> arg3,
+  ) {
+    return _ruserok(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _ruserokPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>>('ruserok');
+  late final _ruserok = _ruserokPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.Char>)>();
+
+  int setdomainname(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _setdomainname(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setdomainnamePtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'setdomainname');
+  late final _setdomainname =
+      _setdomainnamePtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int setgroups(
+    int arg0,
+    ffi.Pointer<gid_t> arg1,
+  ) {
+    return _setgroups(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setgroupsPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Pointer<gid_t>)>>(
+      'setgroups');
+  late final _setgroups =
+      _setgroupsPtr.asFunction<int Function(int, ffi.Pointer<gid_t>)>();
+
+  void sethostid(
+    int arg0,
+  ) {
+    return _sethostid(
+      arg0,
+    );
+  }
+
+  late final _sethostidPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Long)>>('sethostid');
+  late final _sethostid = _sethostidPtr.asFunction<void Function(int)>();
+
+  int sethostname(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _sethostname(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sethostnamePtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'sethostname');
+  late final _sethostname =
+      _sethostnamePtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int setlogin(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _setlogin(
+      arg0,
+    );
+  }
+
+  late final _setloginPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'setlogin');
+  late final _setlogin =
+      _setloginPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ffi.Void> setmode(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _setmode(
+      arg0,
+    );
+  }
+
+  late final _setmodePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Char>)>>('setmode');
+  late final _setmode = _setmodePtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Char>)>();
+
+  int setrgid(
+    int arg0,
+  ) {
+    return _setrgid(
+      arg0,
+    );
+  }
+
+  late final _setrgidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(gid_t)>>('setrgid');
+  late final _setrgid = _setrgidPtr.asFunction<int Function(int)>();
+
+  int setruid(
+    int arg0,
+  ) {
+    return _setruid(
+      arg0,
+    );
+  }
+
+  late final _setruidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(uid_t)>>('setruid');
+  late final _setruid = _setruidPtr.asFunction<int Function(int)>();
+
+  int setsgroups_np(
+    int arg0,
+    ffi.Pointer<ffi.UnsignedChar> arg1,
+  ) {
+    return _setsgroups_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setsgroups_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.UnsignedChar>)>>('setsgroups_np');
+  late final _setsgroups_np = _setsgroups_npPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  void setusershell() {
+    return _setusershell();
+  }
+
+  late final _setusershellPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('setusershell');
+  late final _setusershell = _setusershellPtr.asFunction<void Function()>();
+
+  int setwgroups_np(
+    int arg0,
+    ffi.Pointer<ffi.UnsignedChar> arg1,
+  ) {
+    return _setwgroups_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setwgroups_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.UnsignedChar>)>>('setwgroups_np');
+  late final _setwgroups_np = _setwgroups_npPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  int strtofflags(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg0,
+    ffi.Pointer<ffi.UnsignedLong> arg1,
+    ffi.Pointer<ffi.UnsignedLong> arg2,
+  ) {
+    return _strtofflags(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _strtofflagsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.UnsignedLong>,
+              ffi.Pointer<ffi.UnsignedLong>)>>('strtofflags');
+  late final _strtofflags = _strtofflagsPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.UnsignedLong>, ffi.Pointer<ffi.UnsignedLong>)>();
+
+  int swapon(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _swapon(
+      arg0,
+    );
+  }
+
+  late final _swaponPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'swapon');
+  late final _swapon =
+      _swaponPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int ttyslot() {
+    return _ttyslot();
+  }
+
+  late final _ttyslotPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('ttyslot');
+  late final _ttyslot = _ttyslotPtr.asFunction<int Function()>();
+
+  int undelete(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _undelete(
+      arg0,
+    );
+  }
+
+  late final _undeletePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'undelete');
+  late final _undelete =
+      _undeletePtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int unwhiteout(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _unwhiteout(
+      arg0,
+    );
+  }
+
+  late final _unwhiteoutPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'unwhiteout');
+  late final _unwhiteout =
+      _unwhiteoutPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int syscall(
+    int arg0,
+  ) {
+    return _syscall(
+      arg0,
+    );
+  }
+
+  late final _syscallPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('syscall');
+  late final _syscall = _syscallPtr.asFunction<int Function(int)>();
+
+  int fgetattrlist(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+    int arg4,
+  ) {
+    return _fgetattrlist(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _fgetattrlistPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.UnsignedInt)>>('fgetattrlist');
+  late final _fgetattrlist = _fgetattrlistPtr.asFunction<
+      int Function(
+          int, ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int, int)>();
+
+  int fsetattrlist(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+    int arg4,
+  ) {
+    return _fsetattrlist(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _fsetattrlistPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.UnsignedInt)>>('fsetattrlist');
+  late final _fsetattrlist = _fsetattrlistPtr.asFunction<
+      int Function(
+          int, ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int, int)>();
+
+  int getattrlist(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+    int arg4,
+  ) {
+    return _getattrlist(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _getattrlistPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.UnsignedInt)>>('getattrlist');
+  late final _getattrlist = _getattrlistPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>, int, int)>();
+
+  int setattrlist(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+    int arg4,
+  ) {
+    return _setattrlist(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _setattrlistPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.UnsignedInt)>>('setattrlist');
+  late final _setattrlist = _setattrlistPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>, int, int)>();
+
+  int exchangedata(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _exchangedata(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _exchangedataPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.UnsignedInt)>>('exchangedata');
+  late final _exchangedata = _exchangedataPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int getdirentriesattr(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+    ffi.Pointer<ffi.UnsignedInt> arg4,
+    ffi.Pointer<ffi.UnsignedInt> arg5,
+    ffi.Pointer<ffi.UnsignedInt> arg6,
+    int arg7,
+  ) {
+    return _getdirentriesattr(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+      arg6,
+      arg7,
+    );
+  }
+
+  late final _getdirentriesattrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Size,
+              ffi.Pointer<ffi.UnsignedInt>,
+              ffi.Pointer<ffi.UnsignedInt>,
+              ffi.Pointer<ffi.UnsignedInt>,
+              ffi.UnsignedInt)>>('getdirentriesattr');
+  late final _getdirentriesattr = _getdirentriesattrPtr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>,
+          int,
+          ffi.Pointer<ffi.UnsignedInt>,
+          ffi.Pointer<ffi.UnsignedInt>,
+          ffi.Pointer<ffi.UnsignedInt>,
+          int)>();
+
+  int searchfs(
+    ffi.Pointer<ffi.Char> arg0,
+    ffi.Pointer<fssearchblock> arg1,
+    ffi.Pointer<ffi.UnsignedLong> arg2,
+    int arg3,
+    int arg4,
+    ffi.Pointer<searchstate> arg5,
+  ) {
+    return _searchfs(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+    );
+  }
+
+  late final _searchfsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<fssearchblock>,
+              ffi.Pointer<ffi.UnsignedLong>,
+              ffi.UnsignedInt,
+              ffi.UnsignedInt,
+              ffi.Pointer<searchstate>)>>('searchfs');
+  late final _searchfs = _searchfsPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<fssearchblock>,
+          ffi.Pointer<ffi.UnsignedLong>, int, int, ffi.Pointer<searchstate>)>();
+
+  int fsctl(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+  ) {
+    return _fsctl(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _fsctlPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.UnsignedLong,
+              ffi.Pointer<ffi.Void>, ffi.UnsignedInt)>>('fsctl');
+  late final _fsctl = _fsctlPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Void>, int)>();
+
+  int ffsctl(
+    int arg0,
+    int arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3,
+  ) {
+    return _ffsctl(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _ffsctlPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.UnsignedLong, ffi.Pointer<ffi.Void>,
+              ffi.UnsignedInt)>>('ffsctl');
+  late final _ffsctl = _ffsctlPtr
+      .asFunction<int Function(int, int, ffi.Pointer<ffi.Void>, int)>();
+
+  int fsync_volume_np(
+    int arg0,
+    int arg1,
+  ) {
+    return _fsync_volume_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fsync_volume_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>(
+          'fsync_volume_np');
+  late final _fsync_volume_np =
+      _fsync_volume_npPtr.asFunction<int Function(int, int)>();
+
+  int sync_volume_np(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _sync_volume_np(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _sync_volume_npPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'sync_volume_np');
+  late final _sync_volume_np =
+      _sync_volume_npPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  late final ffi.Pointer<ffi.Int> _optreset = _lookup<ffi.Int>('optreset');
+
+  int get optreset => _optreset.value;
+
+  set optreset(int value) => _optreset.value = value;
+
+  int open(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _open(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _openPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'open');
+  late final _open =
+      _openPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int openat(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+  ) {
+    return _openat(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _openatPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int)>>('openat');
+  late final _openat =
+      _openatPtr.asFunction<int Function(int, ffi.Pointer<ffi.Char>, int)>();
+
+  int creat(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _creat(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _creatPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, mode_t)>>(
+      'creat');
+  late final _creat =
+      _creatPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int fcntl(
+    int arg0,
+    int arg1,
+  ) {
+    return _fcntl(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _fcntlPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>('fcntl');
+  late final _fcntl = _fcntlPtr.asFunction<int Function(int, int)>();
+
+  int openx_np(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    filesec_t arg2,
+  ) {
+    return _openx_np(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _openx_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Int, filesec_t)>>('openx_np');
+  late final _openx_np = _openx_npPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, filesec_t)>();
+
+  int open_dprotected_np(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _open_dprotected_np(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _open_dprotected_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int, ffi.Int,
+              ffi.Int)>>('open_dprotected_np');
+  late final _open_dprotected_np = _open_dprotected_npPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, int, int)>();
+
+  int openat_dprotected_np(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    int arg3,
+    int arg4,
+  ) {
+    return _openat_dprotected_np(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+    );
+  }
+
+  late final _openat_dprotected_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int, ffi.Int,
+              ffi.Int)>>('openat_dprotected_np');
+  late final _openat_dprotected_np = _openat_dprotected_npPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int, int, int)>();
+
+  int openat_authenticated_np(
+    int arg0,
+    ffi.Pointer<ffi.Char> arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _openat_authenticated_np(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _openat_authenticated_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Int, ffi.Pointer<ffi.Char>, ffi.Int,
+              ffi.Int)>>('openat_authenticated_np');
+  late final _openat_authenticated_np = _openat_authenticated_npPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>, int, int)>();
+
+  int flock1(
+    int arg0,
+    int arg1,
+  ) {
+    return _flock1(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _flock1Ptr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>('flock');
+  late final _flock1 = _flock1Ptr.asFunction<int Function(int, int)>();
+
+  filesec_t filesec_init() {
+    return _filesec_init();
+  }
+
+  late final _filesec_initPtr =
+      _lookup<ffi.NativeFunction<filesec_t Function()>>('filesec_init');
+  late final _filesec_init =
+      _filesec_initPtr.asFunction<filesec_t Function()>();
+
+  filesec_t filesec_dup(
+    filesec_t arg0,
+  ) {
+    return _filesec_dup(
+      arg0,
+    );
+  }
+
+  late final _filesec_dupPtr =
+      _lookup<ffi.NativeFunction<filesec_t Function(filesec_t)>>('filesec_dup');
+  late final _filesec_dup =
+      _filesec_dupPtr.asFunction<filesec_t Function(filesec_t)>();
+
+  void filesec_free(
+    filesec_t arg0,
+  ) {
+    return _filesec_free(
+      arg0,
+    );
+  }
+
+  late final _filesec_freePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(filesec_t)>>('filesec_free');
+  late final _filesec_free =
+      _filesec_freePtr.asFunction<void Function(filesec_t)>();
+
+  int filesec_get_property(
+    filesec_t arg0,
+    int arg1,
+    ffi.Pointer<ffi.Void> arg2,
+  ) {
+    return _filesec_get_property(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _filesec_get_propertyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(filesec_t, ffi.Int32,
+              ffi.Pointer<ffi.Void>)>>('filesec_get_property');
+  late final _filesec_get_property = _filesec_get_propertyPtr
+      .asFunction<int Function(filesec_t, int, ffi.Pointer<ffi.Void>)>();
+
+  int filesec_query_property(
+    filesec_t arg0,
+    int arg1,
+    ffi.Pointer<ffi.Int> arg2,
+  ) {
+    return _filesec_query_property(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _filesec_query_propertyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(filesec_t, ffi.Int32,
+              ffi.Pointer<ffi.Int>)>>('filesec_query_property');
+  late final _filesec_query_property = _filesec_query_propertyPtr
+      .asFunction<int Function(filesec_t, int, ffi.Pointer<ffi.Int>)>();
+
+  int filesec_set_property(
+    filesec_t arg0,
+    int arg1,
+    ffi.Pointer<ffi.Void> arg2,
+  ) {
+    return _filesec_set_property(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _filesec_set_propertyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(filesec_t, ffi.Int32,
+              ffi.Pointer<ffi.Void>)>>('filesec_set_property');
+  late final _filesec_set_property = _filesec_set_propertyPtr
+      .asFunction<int Function(filesec_t, int, ffi.Pointer<ffi.Void>)>();
+
+  int filesec_unset_property(
+    filesec_t arg0,
+    int arg1,
+  ) {
+    return _filesec_unset_property(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _filesec_unset_propertyPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(filesec_t, ffi.Int32)>>(
+          'filesec_unset_property');
+  late final _filesec_unset_property =
+      _filesec_unset_propertyPtr.asFunction<int Function(filesec_t, int)>();
+
+  /// Returns the name of the method specified by a given selector.
+  ///
+  /// @param sel A pointer of type \c SEL. Pass the selector whose name you wish to determine.
+  ///
+  /// @return A C string indicating the name of the selector.
+  ffi.Pointer<ffi.Char> sel_getName(
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return _sel_getName(
+      sel,
+    );
+  }
+
+  late final _sel_getNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ObjCSel>)>>('sel_getName');
+  late final _sel_getName = _sel_getNamePtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ObjCSel>)>();
+
+  /// Registers a method with the Objective-C runtime system, maps the method
+  /// name to a selector, and returns the selector value.
+  ///
+  /// @param str A pointer to a C string. Pass the name of the method you wish to register.
+  ///
+  /// @return A pointer of type SEL specifying the selector for the named method.
+  ///
+  /// @note You must register a method name with the Objective-C runtime system to obtain the
+  /// method’s selector before you can add the method to a class definition. If the method name
+  /// has already been registered, this function simply returns the selector.
+  ffi.Pointer<ObjCSel> sel_registerName(
+    ffi.Pointer<ffi.Char> str,
+  ) {
+    return _sel_registerName1(
+      str,
+    );
+  }
+
+  late final _sel_registerNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCSel> Function(
+              ffi.Pointer<ffi.Char>)>>('sel_registerName');
+  late final _sel_registerName1 = _sel_registerNamePtr
+      .asFunction<ffi.Pointer<ObjCSel> Function(ffi.Pointer<ffi.Char>)>();
+
+  /// Returns the class name of a given object.
+  ///
+  /// @param obj An Objective-C object.
+  ///
+  /// @return The name of the class of which \e obj is an instance.
+  ffi.Pointer<ffi.Char> object_getClassName(
+    ffi.Pointer<ObjCObject> obj,
+  ) {
+    return _object_getClassName(
+      obj,
+    );
+  }
+
+  late final _object_getClassNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ObjCObject>)>>('object_getClassName');
+  late final _object_getClassName = _object_getClassNamePtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(ffi.Pointer<ObjCObject>)>();
+
+  /// Returns a pointer to any extra bytes allocated with an instance given object.
+  ///
+  /// @param obj An Objective-C object.
+  ///
+  /// @return A pointer to any extra bytes allocated with \e obj. If \e obj was
+  /// not allocated with any extra bytes, then dereferencing the returned pointer is undefined.
+  ///
+  /// @note This function returns a pointer to any extra bytes allocated with the instance
+  /// (as specified by \c class_createInstance with extraBytes>0). This memory follows the
+  /// object's ordinary ivars, but may not be adjacent to the last ivar.
+  /// @note The returned pointer is guaranteed to be pointer-size aligned, even if the area following
+  /// the object's last ivar is less aligned than that. Alignment greater than pointer-size is never
+  /// guaranteed, even if the area following the object's last ivar is more aligned than that.
+  /// @note In a garbage-collected environment, the memory is scanned conservatively.
+  ffi.Pointer<ffi.Void> object_getIndexedIvars(
+    ffi.Pointer<ObjCObject> obj,
+  ) {
+    return _object_getIndexedIvars(
+      obj,
+    );
+  }
+
+  late final _object_getIndexedIvarsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ObjCObject>)>>('object_getIndexedIvars');
+  late final _object_getIndexedIvars = _object_getIndexedIvarsPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ObjCObject>)>();
+
+  /// Identifies a selector as being valid or invalid.
+  ///
+  /// @param sel The selector you want to identify.
+  ///
+  /// @return YES if selector is valid and has a function implementation, NO otherwise.
+  ///
+  /// @warning On some platforms, an invalid reference (to invalid memory addresses) can cause
+  /// a crash.
+  bool sel_isMapped(
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return _sel_isMapped(
+      sel,
+    );
+  }
+
+  late final _sel_isMappedPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(ffi.Pointer<ObjCSel>)>>(
+          'sel_isMapped');
+  late final _sel_isMapped =
+      _sel_isMappedPtr.asFunction<bool Function(ffi.Pointer<ObjCSel>)>();
+
+  /// Registers a method name with the Objective-C runtime system.
+  ///
+  /// @param str A pointer to a C string. Pass the name of the method you wish to register.
+  ///
+  /// @return A pointer of type SEL specifying the selector for the named method.
+  ///
+  /// @note The implementation of this method is identical to the implementation of \c sel_registerName.
+  /// @note Prior to OS X version 10.0, this method tried to find the selector mapped to the given name
+  /// and returned \c NULL if the selector was not found. This was changed for safety, because it was
+  /// observed that many of the callers of this function did not check the return value for \c NULL.
+  ffi.Pointer<ObjCSel> sel_getUid(
+    ffi.Pointer<ffi.Char> str,
+  ) {
+    return _sel_getUid(
+      str,
+    );
+  }
+
+  late final _sel_getUidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCSel> Function(ffi.Pointer<ffi.Char>)>>('sel_getUid');
+  late final _sel_getUid = _sel_getUidPtr
+      .asFunction<ffi.Pointer<ObjCSel> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ObjCObject> objc_retainedObject(
+    objc_objectptr_t obj,
+  ) {
+    return _objc_retainedObject(
+      obj,
+    );
+  }
+
+  late final _objc_retainedObjectPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ObjCObject> Function(objc_objectptr_t)>>(
+      'objc_retainedObject');
+  late final _objc_retainedObject = _objc_retainedObjectPtr
+      .asFunction<ffi.Pointer<ObjCObject> Function(objc_objectptr_t)>();
+
+  ffi.Pointer<ObjCObject> objc_unretainedObject(
+    objc_objectptr_t obj,
+  ) {
+    return _objc_unretainedObject(
+      obj,
+    );
+  }
+
+  late final _objc_unretainedObjectPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ObjCObject> Function(objc_objectptr_t)>>(
+      'objc_unretainedObject');
+  late final _objc_unretainedObject = _objc_unretainedObjectPtr
+      .asFunction<ffi.Pointer<ObjCObject> Function(objc_objectptr_t)>();
+
+  objc_objectptr_t objc_unretainedPointer(
+    ffi.Pointer<ObjCObject> obj,
+  ) {
+    return _objc_unretainedPointer(
+      obj,
+    );
+  }
+
+  late final _objc_unretainedPointerPtr = _lookup<
+          ffi
+          .NativeFunction<objc_objectptr_t Function(ffi.Pointer<ObjCObject>)>>(
+      'objc_unretainedPointer');
+  late final _objc_unretainedPointer = _objc_unretainedPointerPtr
+      .asFunction<objc_objectptr_t Function(ffi.Pointer<ObjCObject>)>();
+
+  /// !
+  /// @function os_retain
+  ///
+  /// @abstract
+  /// Increment the reference count of an os_object.
+  ///
+  /// @discussion
+  /// On a platform with the modern Objective-C runtime this is exactly equivalent
+  /// to sending the object the -[retain] message.
+  ///
+  /// @param object
+  /// The object to retain.
+  ///
+  /// @result
+  /// The retained object.
+  ffi.Pointer<ffi.Void> os_retain(
+    ffi.Pointer<ffi.Void> object,
+  ) {
+    return _os_retain(
+      object,
+    );
+  }
+
+  late final _os_retainPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>>('os_retain');
+  late final _os_retain = _os_retainPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function os_release
+  ///
+  /// @abstract
+  /// Decrement the reference count of a os_object.
+  ///
+  /// @discussion
+  /// On a platform with the modern Objective-C runtime this is exactly equivalent
+  /// to sending the object the -[release] message.
+  ///
+  /// @param object
+  /// The object to release.
+  void os_release(
+    ffi.Pointer<ffi.Void> object,
+  ) {
+    return _os_release(
+      object,
+    );
+  }
+
+  late final _os_releasePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
+          'os_release');
+  late final _os_release =
+      _os_releasePtr.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function os_workgroup_copy_port
+  ///
+  /// @abstract
+  /// Returns a reference to a send right representing this workgroup that is to be
+  /// sent to other processes. This port is to be passed to
+  /// os_workgroup_create_with_port() to create a workgroup object.
+  ///
+  /// It is the client's responsibility to release the send right reference.
+  ///
+  /// If an error is encountered, errno is set and returned.
+  int os_workgroup_copy_port(
+    os_workgroup_t wg,
+    ffi.Pointer<mach_port_t> mach_port_out,
+  ) {
+    return _os_workgroup_copy_port(
+      wg,
+      mach_port_out,
+    );
+  }
+
+  late final _os_workgroup_copy_portPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(os_workgroup_t,
+              ffi.Pointer<mach_port_t>)>>('os_workgroup_copy_port');
+  late final _os_workgroup_copy_port = _os_workgroup_copy_portPtr
+      .asFunction<int Function(os_workgroup_t, ffi.Pointer<mach_port_t>)>();
+
+  ffi.Pointer<ObjCSel> _registerName1(String name) {
+    final cstr = name.toNativeUtf8();
+    final sel = _sel_registerName(cstr.cast());
+    pkg_ffi.calloc.free(cstr);
+    return sel;
+  }
+
+  ffi.Pointer<ObjCSel> _sel_registerName(
+    ffi.Pointer<ffi.Char> str,
+  ) {
+    return __sel_registerName(
+      str,
+    );
+  }
+
+  late final __sel_registerNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCSel> Function(
+              ffi.Pointer<ffi.Char>)>>('sel_registerName');
+  late final __sel_registerName = __sel_registerNamePtr
+      .asFunction<ffi.Pointer<ObjCSel> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ObjCObject> _getClass1(String name) {
+    final cstr = name.toNativeUtf8();
+    final clazz = _objc_getClass(cstr.cast());
+    pkg_ffi.calloc.free(cstr);
+    if (clazz == ffi.nullptr) {
+      throw Exception('Failed to load Objective-C class: $name');
+    }
+    return clazz;
+  }
+
+  ffi.Pointer<ObjCObject> _objc_getClass(
+    ffi.Pointer<ffi.Char> str,
+  ) {
+    return __objc_getClass(
+      str,
+    );
+  }
+
+  late final __objc_getClassPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ffi.Char>)>>('objc_getClass');
+  late final __objc_getClass = __objc_getClassPtr
+      .asFunction<ffi.Pointer<ObjCObject> Function(ffi.Pointer<ffi.Char>)>();
+
+  ffi.Pointer<ObjCObject> _objc_retain(
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_retain(
+      value,
+    );
+  }
+
+  late final __objc_retainPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('objc_retain');
+  late final __objc_retain = __objc_retainPtr
+      .asFunction<ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  void _objc_release(
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_release(
+      value,
+    );
+  }
+
+  late final __objc_releasePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'objc_release');
+  late final __objc_release =
+      __objc_releasePtr.asFunction<void Function(ffi.Pointer<ObjCObject>)>();
+
+  late final _objc_releaseFinalizer11 =
+      ffi.NativeFinalizer(__objc_releasePtr.cast());
+  late final _class_OS_os_workgroup1 = _getClass1("OS_os_workgroup");
+  bool _objc_msgSend_0(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> clazz,
+  ) {
+    return __objc_msgSend_0(
+      obj,
+      sel,
+      clazz,
+    );
+  }
+
+  late final __objc_msgSend_0Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_0 = __objc_msgSend_0Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isKindOfClass_1 = _registerName1("isKindOfClass:");
+  late final _class_OS_object1 = _getClass1("OS_object");
+  late final _class_NSObject1 = _getClass1("NSObject");
+  late final _sel_load1 = _registerName1("load");
+  void _objc_msgSend_1(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_1(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_1Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_1 = __objc_msgSend_1Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_initialize1 = _registerName1("initialize");
+  late final _sel_init1 = _registerName1("init");
+  instancetype _objc_msgSend_2(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_2(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_2Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_2 = __objc_msgSend_2Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_new1 = _registerName1("new");
+  late final _sel_allocWithZone_1 = _registerName1("allocWithZone:");
+  instancetype _objc_msgSend_3(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_NSZone> zone,
+  ) {
+    return __objc_msgSend_3(
+      obj,
+      sel,
+      zone,
+    );
+  }
+
+  late final __objc_msgSend_3Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_NSZone>)>>('objc_msgSend');
+  late final __objc_msgSend_3 = __objc_msgSend_3Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_NSZone>)>();
+
+  late final _sel_alloc1 = _registerName1("alloc");
+  late final _sel_dealloc1 = _registerName1("dealloc");
+  late final _sel_finalize1 = _registerName1("finalize");
+  late final _sel_copy1 = _registerName1("copy");
+  late final _sel_mutableCopy1 = _registerName1("mutableCopy");
+  late final _sel_copyWithZone_1 = _registerName1("copyWithZone:");
+  late final _sel_mutableCopyWithZone_1 =
+      _registerName1("mutableCopyWithZone:");
+  late final _sel_instancesRespondToSelector_1 =
+      _registerName1("instancesRespondToSelector:");
+  bool _objc_msgSend_4(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+  ) {
+    return __objc_msgSend_4(
+      obj,
+      sel,
+      aSelector,
+    );
+  }
+
+  late final __objc_msgSend_4Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_4 = __objc_msgSend_4Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>)>();
+
+  late final _class_Protocol1 = _getClass1("Protocol");
+  late final _sel_conformsToProtocol_1 = _registerName1("conformsToProtocol:");
+  bool _objc_msgSend_5(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> protocol,
+  ) {
+    return __objc_msgSend_5(
+      obj,
+      sel,
+      protocol,
+    );
+  }
+
+  late final __objc_msgSend_5Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_5 = __objc_msgSend_5Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_methodForSelector_1 = _registerName1("methodForSelector:");
+  IMP _objc_msgSend_6(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+  ) {
+    return __objc_msgSend_6(
+      obj,
+      sel,
+      aSelector,
+    );
+  }
+
+  late final __objc_msgSend_6Ptr = _lookup<
+      ffi.NativeFunction<
+          IMP Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_6 = __objc_msgSend_6Ptr.asFunction<
+      IMP Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_instanceMethodForSelector_1 =
+      _registerName1("instanceMethodForSelector:");
+  late final _sel_doesNotRecognizeSelector_1 =
+      _registerName1("doesNotRecognizeSelector:");
+  void _objc_msgSend_7(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+  ) {
+    return __objc_msgSend_7(
+      obj,
+      sel,
+      aSelector,
+    );
+  }
+
+  late final __objc_msgSend_7Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_7 = __objc_msgSend_7Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_forwardingTargetForSelector_1 =
+      _registerName1("forwardingTargetForSelector:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_8(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+  ) {
+    return __objc_msgSend_8(
+      obj,
+      sel,
+      aSelector,
+    );
+  }
+
+  late final __objc_msgSend_8Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_8 = __objc_msgSend_8Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCSel>)>();
+
+  late final _class_NSInvocation1 = _getClass1("NSInvocation");
+  late final _class_NSMethodSignature1 = _getClass1("NSMethodSignature");
+  late final _sel_signatureWithObjCTypes_1 =
+      _registerName1("signatureWithObjCTypes:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_9(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> types,
+  ) {
+    return __objc_msgSend_9(
+      obj,
+      sel,
+      types,
+    );
+  }
+
+  late final __objc_msgSend_9Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Char>)>>('objc_msgSend');
+  late final __objc_msgSend_9 = __objc_msgSend_9Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Char>)>();
+
+  late final _sel_numberOfArguments1 = _registerName1("numberOfArguments");
+  int _objc_msgSend_10(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_10(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_10Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_10 = __objc_msgSend_10Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_getArgumentTypeAtIndex_1 =
+      _registerName1("getArgumentTypeAtIndex:");
+  ffi.Pointer<ffi.Char> _objc_msgSend_11(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int idx,
+  ) {
+    return __objc_msgSend_11(
+      obj,
+      sel,
+      idx,
+    );
+  }
+
+  late final __objc_msgSend_11Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_11 = __objc_msgSend_11Ptr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_frameLength1 = _registerName1("frameLength");
+  late final _sel_isOneway1 = _registerName1("isOneway");
+  bool _objc_msgSend_12(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_12(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_12Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_12 = __objc_msgSend_12Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_methodReturnType1 = _registerName1("methodReturnType");
+  ffi.Pointer<ffi.Char> _objc_msgSend_13(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_13(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_13Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_13 = __objc_msgSend_13Ptr.asFunction<
+      ffi.Pointer<ffi.Char> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_methodReturnLength1 = _registerName1("methodReturnLength");
+  late final _sel_cancelPreviousPerformRequestsWithTarget_selector_object_1 =
+      _registerName1(
+          "cancelPreviousPerformRequestsWithTarget:selector:object:");
+  void _objc_msgSend_14(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aTarget,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> anArgument,
+  ) {
+    return __objc_msgSend_14(
+      obj,
+      sel,
+      aTarget,
+      aSelector,
+      anArgument,
+    );
+  }
+
+  late final __objc_msgSend_14Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_14 = __objc_msgSend_14Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_cancelPreviousPerformRequestsWithTarget_1 =
+      _registerName1("cancelPreviousPerformRequestsWithTarget:");
+  void _objc_msgSend_15(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aTarget,
+  ) {
+    return __objc_msgSend_15(
+      obj,
+      sel,
+      aTarget,
+    );
+  }
+
+  late final __objc_msgSend_15Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_15 = __objc_msgSend_15Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_accessInstanceVariablesDirectly1 =
+      _registerName1("accessInstanceVariablesDirectly");
+  late final _class_NSSet1 = _getClass1("NSSet");
+  late final _sel_count1 = _registerName1("count");
+  late final _sel_member_1 = _registerName1("member:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_16(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> object,
+  ) {
+    return __objc_msgSend_16(
+      obj,
+      sel,
+      object,
+    );
+  }
+
+  late final __objc_msgSend_16Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_16 = __objc_msgSend_16Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSEnumerator1 = _getClass1("NSEnumerator");
+  late final _sel_nextObject1 = _registerName1("nextObject");
+  late final _sel_allObjects1 = _registerName1("allObjects");
+  late final _class_NSString1 = _getClass1("NSString");
+  late final _sel_length1 = _registerName1("length");
+  late final _sel_characterAtIndex_1 = _registerName1("characterAtIndex:");
+  int _objc_msgSend_17(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+  ) {
+    return __objc_msgSend_17(
+      obj,
+      sel,
+      index,
+    );
+  }
+
+  late final __objc_msgSend_17Ptr = _lookup<
+      ffi.NativeFunction<
+          unichar Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_17 = __objc_msgSend_17Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _class_NSCoder1 = _getClass1("NSCoder");
+  late final _sel_encodeValueOfObjCType_at_1 =
+      _registerName1("encodeValueOfObjCType:at:");
+  void _objc_msgSend_18(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> type,
+    ffi.Pointer<ffi.Void> addr,
+  ) {
+    return __objc_msgSend_18(
+      obj,
+      sel,
+      type,
+      addr,
+    );
+  }
+
+  late final __objc_msgSend_18Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_18 = __objc_msgSend_18Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>)>();
+
+  late final _class_NSData1 = _getClass1("NSData");
+  late final _sel_bytes1 = _registerName1("bytes");
+  ffi.Pointer<ffi.Void> _objc_msgSend_19(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_19(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_19Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_19 = __objc_msgSend_19Ptr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_description1 = _registerName1("description");
+  ffi.Pointer<ObjCObject> _objc_msgSend_20(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_20(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_20Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_20 = __objc_msgSend_20Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_getBytes_length_1 = _registerName1("getBytes:length:");
+  void _objc_msgSend_21(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> buffer,
+    int length,
+  ) {
+    return __objc_msgSend_21(
+      obj,
+      sel,
+      buffer,
+      length,
+    );
+  }
+
+  late final __objc_msgSend_21Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_21 = __objc_msgSend_21Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int)>();
+
+  late final _sel_getBytes_range_1 = _registerName1("getBytes:range:");
+  void _objc_msgSend_22(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> buffer,
+    NSRange range,
+  ) {
+    return __objc_msgSend_22(
+      obj,
+      sel,
+      buffer,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_22Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_22 = __objc_msgSend_22Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, NSRange)>();
+
+  late final _sel_isEqualToData_1 = _registerName1("isEqualToData:");
+  bool _objc_msgSend_23(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_23(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_23Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_23 = __objc_msgSend_23Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_subdataWithRange_1 = _registerName1("subdataWithRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_24(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_24(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_24Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_24 = __objc_msgSend_24Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_writeToFile_atomically_1 =
+      _registerName1("writeToFile:atomically:");
+  bool _objc_msgSend_25(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool useAuxiliaryFile,
+  ) {
+    return __objc_msgSend_25(
+      obj,
+      sel,
+      path,
+      useAuxiliaryFile,
+    );
+  }
+
+  late final __objc_msgSend_25Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_25 = __objc_msgSend_25Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _class_NSURL1 = _getClass1("NSURL");
+  late final _sel_initWithScheme_host_path_1 =
+      _registerName1("initWithScheme:host:path:");
+  instancetype _objc_msgSend_26(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> scheme,
+    ffi.Pointer<ObjCObject> host,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_26(
+      obj,
+      sel,
+      scheme,
+      host,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_26Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_26 = __objc_msgSend_26Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initFileURLWithPath_isDirectory_relativeToURL_1 =
+      _registerName1("initFileURLWithPath:isDirectory:relativeToURL:");
+  instancetype _objc_msgSend_27(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool isDir,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_27(
+      obj,
+      sel,
+      path,
+      isDir,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_27Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_27 = __objc_msgSend_27Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initFileURLWithPath_relativeToURL_1 =
+      _registerName1("initFileURLWithPath:relativeToURL:");
+  instancetype _objc_msgSend_28(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_28(
+      obj,
+      sel,
+      path,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_28Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_28 = __objc_msgSend_28Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initFileURLWithPath_isDirectory_1 =
+      _registerName1("initFileURLWithPath:isDirectory:");
+  instancetype _objc_msgSend_29(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool isDir,
+  ) {
+    return __objc_msgSend_29(
+      obj,
+      sel,
+      path,
+      isDir,
+    );
+  }
+
+  late final __objc_msgSend_29Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_29 = __objc_msgSend_29Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_initFileURLWithPath_1 =
+      _registerName1("initFileURLWithPath:");
+  instancetype _objc_msgSend_30(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_30(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_30Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_30 = __objc_msgSend_30Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_fileURLWithPath_isDirectory_relativeToURL_1 =
+      _registerName1("fileURLWithPath:isDirectory:relativeToURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_31(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool isDir,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_31(
+      obj,
+      sel,
+      path,
+      isDir,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_31Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_31 = __objc_msgSend_31Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_fileURLWithPath_relativeToURL_1 =
+      _registerName1("fileURLWithPath:relativeToURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_32(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_32(
+      obj,
+      sel,
+      path,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_32Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_32 = __objc_msgSend_32Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_fileURLWithPath_isDirectory_1 =
+      _registerName1("fileURLWithPath:isDirectory:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_33(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool isDir,
+  ) {
+    return __objc_msgSend_33(
+      obj,
+      sel,
+      path,
+      isDir,
+    );
+  }
+
+  late final __objc_msgSend_33Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_33 = __objc_msgSend_33Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_fileURLWithPath_1 = _registerName1("fileURLWithPath:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_34(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_34(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_34Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_34 = __objc_msgSend_34Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 =
+      _registerName1(
+          "initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL:");
+  instancetype _objc_msgSend_35(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> path,
+    bool isDir,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_35(
+      obj,
+      sel,
+      path,
+      isDir,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_35Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_35 = __objc_msgSend_35Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, bool, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 =
+      _registerName1(
+          "fileURLWithFileSystemRepresentation:isDirectory:relativeToURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_36(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> path,
+    bool isDir,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_36(
+      obj,
+      sel,
+      path,
+      isDir,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_36Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_36 = __objc_msgSend_36Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>,
+          bool,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithString_1 = _registerName1("initWithString:");
+  late final _sel_initWithString_relativeToURL_1 =
+      _registerName1("initWithString:relativeToURL:");
+  late final _sel_URLWithString_1 = _registerName1("URLWithString:");
+  late final _sel_URLWithString_relativeToURL_1 =
+      _registerName1("URLWithString:relativeToURL:");
+  late final _sel_initWithDataRepresentation_relativeToURL_1 =
+      _registerName1("initWithDataRepresentation:relativeToURL:");
+  instancetype _objc_msgSend_37(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_37(
+      obj,
+      sel,
+      data,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_37Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_37 = __objc_msgSend_37Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLWithDataRepresentation_relativeToURL_1 =
+      _registerName1("URLWithDataRepresentation:relativeToURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_38(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+    ffi.Pointer<ObjCObject> baseURL,
+  ) {
+    return __objc_msgSend_38(
+      obj,
+      sel,
+      data,
+      baseURL,
+    );
+  }
+
+  late final __objc_msgSend_38Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_38 = __objc_msgSend_38Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1 =
+      _registerName1("initAbsoluteURLWithDataRepresentation:relativeToURL:");
+  late final _sel_absoluteURLWithDataRepresentation_relativeToURL_1 =
+      _registerName1("absoluteURLWithDataRepresentation:relativeToURL:");
+  late final _sel_dataRepresentation1 = _registerName1("dataRepresentation");
+  ffi.Pointer<ObjCObject> _objc_msgSend_39(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_39(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_39Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_39 = __objc_msgSend_39Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_absoluteString1 = _registerName1("absoluteString");
+  late final _sel_relativeString1 = _registerName1("relativeString");
+  late final _sel_baseURL1 = _registerName1("baseURL");
+  ffi.Pointer<ObjCObject> _objc_msgSend_40(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_40(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_40Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_40 = __objc_msgSend_40Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_absoluteURL1 = _registerName1("absoluteURL");
+  late final _sel_scheme1 = _registerName1("scheme");
+  late final _sel_resourceSpecifier1 = _registerName1("resourceSpecifier");
+  late final _sel_host1 = _registerName1("host");
+  late final _class_NSNumber1 = _getClass1("NSNumber");
+  late final _class_NSValue1 = _getClass1("NSValue");
+  late final _sel_getValue_size_1 = _registerName1("getValue:size:");
+  late final _sel_objCType1 = _registerName1("objCType");
+  late final _sel_initWithBytes_objCType_1 =
+      _registerName1("initWithBytes:objCType:");
+  instancetype _objc_msgSend_41(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> value,
+    ffi.Pointer<ffi.Char> type,
+  ) {
+    return __objc_msgSend_41(
+      obj,
+      sel,
+      value,
+      type,
+    );
+  }
+
+  late final __objc_msgSend_41Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>)>>('objc_msgSend');
+  late final __objc_msgSend_41 = __objc_msgSend_41Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>)>();
+
+  late final _sel_initWithCoder_1 = _registerName1("initWithCoder:");
+  instancetype _objc_msgSend_42(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> coder,
+  ) {
+    return __objc_msgSend_42(
+      obj,
+      sel,
+      coder,
+    );
+  }
+
+  late final __objc_msgSend_42Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_42 = __objc_msgSend_42Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_valueWithBytes_objCType_1 =
+      _registerName1("valueWithBytes:objCType:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_43(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> value,
+    ffi.Pointer<ffi.Char> type,
+  ) {
+    return __objc_msgSend_43(
+      obj,
+      sel,
+      value,
+      type,
+    );
+  }
+
+  late final __objc_msgSend_43Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Char>)>>('objc_msgSend');
+  late final __objc_msgSend_43 = __objc_msgSend_43Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Char>)>();
+
+  late final _sel_value_withObjCType_1 = _registerName1("value:withObjCType:");
+  late final _sel_valueWithNonretainedObject_1 =
+      _registerName1("valueWithNonretainedObject:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_44(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+  ) {
+    return __objc_msgSend_44(
+      obj,
+      sel,
+      anObject,
+    );
+  }
+
+  late final __objc_msgSend_44Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_44 = __objc_msgSend_44Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_nonretainedObjectValue1 =
+      _registerName1("nonretainedObjectValue");
+  late final _sel_valueWithPointer_1 = _registerName1("valueWithPointer:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_45(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> pointer,
+  ) {
+    return __objc_msgSend_45(
+      obj,
+      sel,
+      pointer,
+    );
+  }
+
+  late final __objc_msgSend_45Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_45 = __objc_msgSend_45Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_pointerValue1 = _registerName1("pointerValue");
+  late final _sel_isEqualToValue_1 = _registerName1("isEqualToValue:");
+  bool _objc_msgSend_46(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_46(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_46Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_46 = __objc_msgSend_46Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_getValue_1 = _registerName1("getValue:");
+  void _objc_msgSend_47(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return __objc_msgSend_47(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_47Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_47 = __objc_msgSend_47Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_valueWithRange_1 = _registerName1("valueWithRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_48(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_48(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_48Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_48 = __objc_msgSend_48Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_rangeValue1 = _registerName1("rangeValue");
+  NSRange _objc_msgSend_49(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_49(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_49Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_49 = __objc_msgSend_49Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_keyPathsForValuesAffectingValueForKey_1 =
+      _registerName1("keyPathsForValuesAffectingValueForKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_50(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_50(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_50Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_50 = __objc_msgSend_50Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_automaticallyNotifiesObserversForKey_1 =
+      _registerName1("automaticallyNotifiesObserversForKey:");
+  bool _objc_msgSend_51(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_51(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_51Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_51 = __objc_msgSend_51Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSArray1 = _getClass1("NSArray");
+  late final _sel_objectAtIndex_1 = _registerName1("objectAtIndex:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_52(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+  ) {
+    return __objc_msgSend_52(
+      obj,
+      sel,
+      index,
+    );
+  }
+
+  late final __objc_msgSend_52Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_52 = __objc_msgSend_52Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithObjects_count_1 =
+      _registerName1("initWithObjects:count:");
+  instancetype _objc_msgSend_53(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+    int cnt,
+  ) {
+    return __objc_msgSend_53(
+      obj,
+      sel,
+      objects,
+      cnt,
+    );
+  }
+
+  late final __objc_msgSend_53Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_53 = __objc_msgSend_53Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>, int)>();
+
+  late final _sel_arrayByAddingObject_1 =
+      _registerName1("arrayByAddingObject:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_54(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+  ) {
+    return __objc_msgSend_54(
+      obj,
+      sel,
+      anObject,
+    );
+  }
+
+  late final __objc_msgSend_54Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_54 = __objc_msgSend_54Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_arrayByAddingObjectsFromArray_1 =
+      _registerName1("arrayByAddingObjectsFromArray:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_55(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherArray,
+  ) {
+    return __objc_msgSend_55(
+      obj,
+      sel,
+      otherArray,
+    );
+  }
+
+  late final __objc_msgSend_55Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_55 = __objc_msgSend_55Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_componentsJoinedByString_1 =
+      _registerName1("componentsJoinedByString:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_56(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> separator,
+  ) {
+    return __objc_msgSend_56(
+      obj,
+      sel,
+      separator,
+    );
+  }
+
+  late final __objc_msgSend_56Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_56 = __objc_msgSend_56Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_containsObject_1 = _registerName1("containsObject:");
+  late final _sel_descriptionWithLocale_1 =
+      _registerName1("descriptionWithLocale:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_57(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_57(
+      obj,
+      sel,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_57Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_57 = __objc_msgSend_57Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_descriptionWithLocale_indent_1 =
+      _registerName1("descriptionWithLocale:indent:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_58(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> locale,
+    int level,
+  ) {
+    return __objc_msgSend_58(
+      obj,
+      sel,
+      locale,
+      level,
+    );
+  }
+
+  late final __objc_msgSend_58Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_58 = __objc_msgSend_58Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_firstObjectCommonWithArray_1 =
+      _registerName1("firstObjectCommonWithArray:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_59(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherArray,
+  ) {
+    return __objc_msgSend_59(
+      obj,
+      sel,
+      otherArray,
+    );
+  }
+
+  late final __objc_msgSend_59Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_59 = __objc_msgSend_59Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_getObjects_range_1 = _registerName1("getObjects:range:");
+  void _objc_msgSend_60(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+    NSRange range,
+  ) {
+    return __objc_msgSend_60(
+      obj,
+      sel,
+      objects,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_60Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_60 = __objc_msgSend_60Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>, NSRange)>();
+
+  late final _sel_indexOfObject_1 = _registerName1("indexOfObject:");
+  int _objc_msgSend_61(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+  ) {
+    return __objc_msgSend_61(
+      obj,
+      sel,
+      anObject,
+    );
+  }
+
+  late final __objc_msgSend_61Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_61 = __objc_msgSend_61Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_indexOfObject_inRange_1 =
+      _registerName1("indexOfObject:inRange:");
+  int _objc_msgSend_62(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+    NSRange range,
+  ) {
+    return __objc_msgSend_62(
+      obj,
+      sel,
+      anObject,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_62Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_62 = __objc_msgSend_62Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRange)>();
+
+  late final _sel_indexOfObjectIdenticalTo_1 =
+      _registerName1("indexOfObjectIdenticalTo:");
+  late final _sel_indexOfObjectIdenticalTo_inRange_1 =
+      _registerName1("indexOfObjectIdenticalTo:inRange:");
+  late final _sel_isEqualToArray_1 = _registerName1("isEqualToArray:");
+  bool _objc_msgSend_63(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherArray,
+  ) {
+    return __objc_msgSend_63(
+      obj,
+      sel,
+      otherArray,
+    );
+  }
+
+  late final __objc_msgSend_63Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_63 = __objc_msgSend_63Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_firstObject1 = _registerName1("firstObject");
+  late final _sel_lastObject1 = _registerName1("lastObject");
+  late final _sel_objectEnumerator1 = _registerName1("objectEnumerator");
+  ffi.Pointer<ObjCObject> _objc_msgSend_64(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_64(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_64Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_64 = __objc_msgSend_64Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_reverseObjectEnumerator1 =
+      _registerName1("reverseObjectEnumerator");
+  late final _sel_sortedArrayHint1 = _registerName1("sortedArrayHint");
+  late final _sel_sortedArrayUsingFunction_context_1 =
+      _registerName1("sortedArrayUsingFunction:context:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_65(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                NSInteger Function(ffi.Pointer<ObjCObject>,
+                    ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>
+        comparator,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return __objc_msgSend_65(
+      obj,
+      sel,
+      comparator,
+      context,
+    );
+  }
+
+  late final __objc_msgSend_65Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      NSInteger Function(ffi.Pointer<ObjCObject>,
+                          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_65 = __objc_msgSend_65Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  NSInteger Function(ffi.Pointer<ObjCObject>,
+                      ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_sortedArrayUsingFunction_context_hint_1 =
+      _registerName1("sortedArrayUsingFunction:context:hint:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_66(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                NSInteger Function(ffi.Pointer<ObjCObject>,
+                    ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>
+        comparator,
+    ffi.Pointer<ffi.Void> context,
+    ffi.Pointer<ObjCObject> hint,
+  ) {
+    return __objc_msgSend_66(
+      obj,
+      sel,
+      comparator,
+      context,
+      hint,
+    );
+  }
+
+  late final __objc_msgSend_66Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      NSInteger Function(ffi.Pointer<ObjCObject>,
+                          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_66 = __objc_msgSend_66Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  NSInteger Function(ffi.Pointer<ObjCObject>,
+                      ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>,
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_sortedArrayUsingSelector_1 =
+      _registerName1("sortedArrayUsingSelector:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_67(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> comparator,
+  ) {
+    return __objc_msgSend_67(
+      obj,
+      sel,
+      comparator,
+    );
+  }
+
+  late final __objc_msgSend_67Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_67 = __objc_msgSend_67Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_subarrayWithRange_1 = _registerName1("subarrayWithRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_68(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_68(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_68Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_68 = __objc_msgSend_68Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _class_NSError1 = _getClass1("NSError");
+  late final _sel_initWithDomain_code_userInfo_1 =
+      _registerName1("initWithDomain:code:userInfo:");
+  instancetype _objc_msgSend_69(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSErrorDomain domain,
+    int code,
+    ffi.Pointer<ObjCObject> dict,
+  ) {
+    return __objc_msgSend_69(
+      obj,
+      sel,
+      domain,
+      code,
+      dict,
+    );
+  }
+
+  late final __objc_msgSend_69Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSErrorDomain,
+              NSInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_69 = __objc_msgSend_69Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSErrorDomain, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_errorWithDomain_code_userInfo_1 =
+      _registerName1("errorWithDomain:code:userInfo:");
+  late final _sel_domain1 = _registerName1("domain");
+  late final _sel_code1 = _registerName1("code");
+  int _objc_msgSend_70(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_70(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_70Ptr = _lookup<
+      ffi.NativeFunction<
+          NSInteger Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_70 = __objc_msgSend_70Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_userInfo1 = _registerName1("userInfo");
+  late final _sel_localizedDescription1 =
+      _registerName1("localizedDescription");
+  late final _sel_localizedFailureReason1 =
+      _registerName1("localizedFailureReason");
+  late final _sel_localizedRecoverySuggestion1 =
+      _registerName1("localizedRecoverySuggestion");
+  late final _sel_localizedRecoveryOptions1 =
+      _registerName1("localizedRecoveryOptions");
+  ffi.Pointer<ObjCObject> _objc_msgSend_71(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_71(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_71Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_71 = __objc_msgSend_71Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_recoveryAttempter1 = _registerName1("recoveryAttempter");
+  late final _sel_helpAnchor1 = _registerName1("helpAnchor");
+  late final _sel_underlyingErrors1 = _registerName1("underlyingErrors");
+  late final _sel_setUserInfoValueProviderForDomain_provider_1 =
+      _registerName1("setUserInfoValueProviderForDomain:provider:");
+  void _objc_msgSend_72(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSErrorDomain errorDomain,
+    ffi.Pointer<_ObjCBlock> provider,
+  ) {
+    return __objc_msgSend_72(
+      obj,
+      sel,
+      errorDomain,
+      provider,
+    );
+  }
+
+  late final __objc_msgSend_72Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSErrorDomain, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_72 = __objc_msgSend_72Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSErrorDomain, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_userInfoValueProviderForDomain_1 =
+      _registerName1("userInfoValueProviderForDomain:");
+  ffi.Pointer<_ObjCBlock> _objc_msgSend_73(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> err,
+    NSErrorUserInfoKey userInfoKey,
+    NSErrorDomain errorDomain,
+  ) {
+    return __objc_msgSend_73(
+      obj,
+      sel,
+      err,
+      userInfoKey,
+      errorDomain,
+    );
+  }
+
+  late final __objc_msgSend_73Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<_ObjCBlock> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSErrorUserInfoKey,
+              NSErrorDomain)>>('objc_msgSend');
+  late final __objc_msgSend_73 = __objc_msgSend_73Ptr.asFunction<
+      ffi.Pointer<_ObjCBlock> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          NSErrorUserInfoKey,
+          NSErrorDomain)>();
+
+  late final _sel_classFallbacksForKeyedArchiver1 =
+      _registerName1("classFallbacksForKeyedArchiver");
+  late final _sel_classForKeyedUnarchiver1 =
+      _registerName1("classForKeyedUnarchiver");
+  late final _sel_writeToURL_error_1 = _registerName1("writeToURL:error:");
+  bool _objc_msgSend_74(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_74(
+      obj,
+      sel,
+      url,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_74Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_74 = __objc_msgSend_74Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_makeObjectsPerformSelector_1 =
+      _registerName1("makeObjectsPerformSelector:");
+  late final _sel_makeObjectsPerformSelector_withObject_1 =
+      _registerName1("makeObjectsPerformSelector:withObject:");
+  void _objc_msgSend_75(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> argument,
+  ) {
+    return __objc_msgSend_75(
+      obj,
+      sel,
+      aSelector,
+      argument,
+    );
+  }
+
+  late final __objc_msgSend_75Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_75 = __objc_msgSend_75Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSIndexSet1 = _getClass1("NSIndexSet");
+  late final _sel_indexSet1 = _registerName1("indexSet");
+  late final _sel_indexSetWithIndex_1 = _registerName1("indexSetWithIndex:");
+  late final _sel_indexSetWithIndexesInRange_1 =
+      _registerName1("indexSetWithIndexesInRange:");
+  instancetype _objc_msgSend_76(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_76(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_76Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_76 = __objc_msgSend_76Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_initWithIndexesInRange_1 =
+      _registerName1("initWithIndexesInRange:");
+  late final _sel_initWithIndexSet_1 = _registerName1("initWithIndexSet:");
+  instancetype _objc_msgSend_77(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> indexSet,
+  ) {
+    return __objc_msgSend_77(
+      obj,
+      sel,
+      indexSet,
+    );
+  }
+
+  late final __objc_msgSend_77Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_77 = __objc_msgSend_77Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithIndex_1 = _registerName1("initWithIndex:");
+  late final _sel_isEqualToIndexSet_1 = _registerName1("isEqualToIndexSet:");
+  bool _objc_msgSend_78(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> indexSet,
+  ) {
+    return __objc_msgSend_78(
+      obj,
+      sel,
+      indexSet,
+    );
+  }
+
+  late final __objc_msgSend_78Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_78 = __objc_msgSend_78Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_firstIndex1 = _registerName1("firstIndex");
+  late final _sel_lastIndex1 = _registerName1("lastIndex");
+  late final _sel_indexGreaterThanIndex_1 =
+      _registerName1("indexGreaterThanIndex:");
+  int _objc_msgSend_79(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_79(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_79Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_79 = __objc_msgSend_79Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_indexLessThanIndex_1 = _registerName1("indexLessThanIndex:");
+  late final _sel_indexGreaterThanOrEqualToIndex_1 =
+      _registerName1("indexGreaterThanOrEqualToIndex:");
+  late final _sel_indexLessThanOrEqualToIndex_1 =
+      _registerName1("indexLessThanOrEqualToIndex:");
+  late final _sel_getIndexes_maxCount_inIndexRange_1 =
+      _registerName1("getIndexes:maxCount:inIndexRange:");
+  int _objc_msgSend_80(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSUInteger> indexBuffer,
+    int bufferSize,
+    NSRangePointer range,
+  ) {
+    return __objc_msgSend_80(
+      obj,
+      sel,
+      indexBuffer,
+      bufferSize,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_80Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSUInteger>,
+              NSUInteger,
+              NSRangePointer)>>('objc_msgSend');
+  late final __objc_msgSend_80 = __objc_msgSend_80Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSUInteger>, int, NSRangePointer)>();
+
+  late final _sel_countOfIndexesInRange_1 =
+      _registerName1("countOfIndexesInRange:");
+  int _objc_msgSend_81(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_81(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_81Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_81 = __objc_msgSend_81Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_containsIndex_1 = _registerName1("containsIndex:");
+  bool _objc_msgSend_82(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_82(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_82Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_82 = __objc_msgSend_82Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_containsIndexesInRange_1 =
+      _registerName1("containsIndexesInRange:");
+  bool _objc_msgSend_83(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_83(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_83Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_83 = __objc_msgSend_83Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_containsIndexes_1 = _registerName1("containsIndexes:");
+  late final _sel_intersectsIndexesInRange_1 =
+      _registerName1("intersectsIndexesInRange:");
+  late final _sel_enumerateIndexesUsingBlock_1 =
+      _registerName1("enumerateIndexesUsingBlock:");
+  void _objc_msgSend_84(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_84(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_84Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_84 = __objc_msgSend_84Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateIndexesWithOptions_usingBlock_1 =
+      _registerName1("enumerateIndexesWithOptions:usingBlock:");
+  void _objc_msgSend_85(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_85(
+      obj,
+      sel,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_85Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_85 = __objc_msgSend_85Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateIndexesInRange_options_usingBlock_1 =
+      _registerName1("enumerateIndexesInRange:options:usingBlock:");
+  void _objc_msgSend_86(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_86(
+      obj,
+      sel,
+      range,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_86Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_86 = __objc_msgSend_86Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexPassingTest_1 = _registerName1("indexPassingTest:");
+  int _objc_msgSend_87(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_87(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_87Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_87 = __objc_msgSend_87Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexWithOptions_passingTest_1 =
+      _registerName1("indexWithOptions:passingTest:");
+  int _objc_msgSend_88(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_88(
+      obj,
+      sel,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_88Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_88 = __objc_msgSend_88Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexInRange_options_passingTest_1 =
+      _registerName1("indexInRange:options:passingTest:");
+  int _objc_msgSend_89(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_89(
+      obj,
+      sel,
+      range,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_89Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_89 = __objc_msgSend_89Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexesPassingTest_1 = _registerName1("indexesPassingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_90(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_90(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_90Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_90 = __objc_msgSend_90Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexesWithOptions_passingTest_1 =
+      _registerName1("indexesWithOptions:passingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_91(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_91(
+      obj,
+      sel,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_91Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_91 = __objc_msgSend_91Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexesInRange_options_passingTest_1 =
+      _registerName1("indexesInRange:options:passingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_92(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_92(
+      obj,
+      sel,
+      range,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_92Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_92 = __objc_msgSend_92Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateRangesUsingBlock_1 =
+      _registerName1("enumerateRangesUsingBlock:");
+  void _objc_msgSend_93(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_93(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_93Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_93 = __objc_msgSend_93Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateRangesWithOptions_usingBlock_1 =
+      _registerName1("enumerateRangesWithOptions:usingBlock:");
+  void _objc_msgSend_94(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_94(
+      obj,
+      sel,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_94Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_94 = __objc_msgSend_94Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateRangesInRange_options_usingBlock_1 =
+      _registerName1("enumerateRangesInRange:options:usingBlock:");
+  void _objc_msgSend_95(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_95(
+      obj,
+      sel,
+      range,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_95Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_95 = __objc_msgSend_95Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_objectsAtIndexes_1 = _registerName1("objectsAtIndexes:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_96(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> indexes,
+  ) {
+    return __objc_msgSend_96(
+      obj,
+      sel,
+      indexes,
+    );
+  }
+
+  late final __objc_msgSend_96Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_96 = __objc_msgSend_96Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_objectAtIndexedSubscript_1 =
+      _registerName1("objectAtIndexedSubscript:");
+  late final _sel_enumerateObjectsUsingBlock_1 =
+      _registerName1("enumerateObjectsUsingBlock:");
+  void _objc_msgSend_97(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_97(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_97Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_97 = __objc_msgSend_97Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateObjectsWithOptions_usingBlock_1 =
+      _registerName1("enumerateObjectsWithOptions:usingBlock:");
+  void _objc_msgSend_98(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_98(
+      obj,
+      sel,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_98Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_98 = __objc_msgSend_98Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateObjectsAtIndexes_options_usingBlock_1 =
+      _registerName1("enumerateObjectsAtIndexes:options:usingBlock:");
+  void _objc_msgSend_99(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> s,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_99(
+      obj,
+      sel,
+      s,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_99Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_99 = __objc_msgSend_99Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexOfObjectPassingTest_1 =
+      _registerName1("indexOfObjectPassingTest:");
+  int _objc_msgSend_100(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_100(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_100Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_100 = __objc_msgSend_100Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexOfObjectWithOptions_passingTest_1 =
+      _registerName1("indexOfObjectWithOptions:passingTest:");
+  int _objc_msgSend_101(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_101(
+      obj,
+      sel,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_101Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_101 = __objc_msgSend_101Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexOfObjectAtIndexes_options_passingTest_1 =
+      _registerName1("indexOfObjectAtIndexes:options:passingTest:");
+  int _objc_msgSend_102(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> s,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_102(
+      obj,
+      sel,
+      s,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_102Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_102 = __objc_msgSend_102Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexesOfObjectsPassingTest_1 =
+      _registerName1("indexesOfObjectsPassingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_103(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_103(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_103Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_103 = __objc_msgSend_103Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexesOfObjectsWithOptions_passingTest_1 =
+      _registerName1("indexesOfObjectsWithOptions:passingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_104(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_104(
+      obj,
+      sel,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_104Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_104 = __objc_msgSend_104Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_indexesOfObjectsAtIndexes_options_passingTest_1 =
+      _registerName1("indexesOfObjectsAtIndexes:options:passingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_105(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> s,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_105(
+      obj,
+      sel,
+      s,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_105Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_105 = __objc_msgSend_105Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_sortedArrayUsingComparator_1 =
+      _registerName1("sortedArrayUsingComparator:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_106(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSComparator cmptr,
+  ) {
+    return __objc_msgSend_106(
+      obj,
+      sel,
+      cmptr,
+    );
+  }
+
+  late final __objc_msgSend_106Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSComparator)>>('objc_msgSend');
+  late final __objc_msgSend_106 = __objc_msgSend_106Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSComparator)>();
+
+  late final _sel_sortedArrayWithOptions_usingComparator_1 =
+      _registerName1("sortedArrayWithOptions:usingComparator:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_107(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    NSComparator cmptr,
+  ) {
+    return __objc_msgSend_107(
+      obj,
+      sel,
+      opts,
+      cmptr,
+    );
+  }
+
+  late final __objc_msgSend_107Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32, NSComparator)>>('objc_msgSend');
+  late final __objc_msgSend_107 = __objc_msgSend_107Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, NSComparator)>();
+
+  late final _sel_indexOfObject_inSortedRange_options_usingComparator_1 =
+      _registerName1("indexOfObject:inSortedRange:options:usingComparator:");
+  int _objc_msgSend_108(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> obj1,
+    NSRange r,
+    int opts,
+    NSComparator cmp,
+  ) {
+    return __objc_msgSend_108(
+      obj,
+      sel,
+      obj1,
+      r,
+      opts,
+      cmp,
+    );
+  }
+
+  late final __objc_msgSend_108Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSRange,
+              ffi.Int32,
+              NSComparator)>>('objc_msgSend');
+  late final __objc_msgSend_108 = __objc_msgSend_108Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRange, int, NSComparator)>();
+
+  late final _sel_array1 = _registerName1("array");
+  late final _sel_arrayWithObject_1 = _registerName1("arrayWithObject:");
+  late final _sel_arrayWithObjects_count_1 =
+      _registerName1("arrayWithObjects:count:");
+  late final _sel_arrayWithObjects_1 = _registerName1("arrayWithObjects:");
+  late final _sel_arrayWithArray_1 = _registerName1("arrayWithArray:");
+  late final _sel_initWithObjects_1 = _registerName1("initWithObjects:");
+  late final _sel_initWithArray_1 = _registerName1("initWithArray:");
+  late final _sel_initWithArray_copyItems_1 =
+      _registerName1("initWithArray:copyItems:");
+  instancetype _objc_msgSend_109(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> array,
+    bool flag,
+  ) {
+    return __objc_msgSend_109(
+      obj,
+      sel,
+      array,
+      flag,
+    );
+  }
+
+  late final __objc_msgSend_109Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_109 = __objc_msgSend_109Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_initWithContentsOfURL_error_1 =
+      _registerName1("initWithContentsOfURL:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_110(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_110(
+      obj,
+      sel,
+      url,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_110Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_110 = __objc_msgSend_110Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_arrayWithContentsOfURL_error_1 =
+      _registerName1("arrayWithContentsOfURL:error:");
+  late final _sel_differenceFromArray_withOptions_usingEquivalenceTest_1 =
+      _registerName1("differenceFromArray:withOptions:usingEquivalenceTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_111(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+    int options,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_111(
+      obj,
+      sel,
+      other,
+      options,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_111Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_111 = __objc_msgSend_111Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_differenceFromArray_withOptions_1 =
+      _registerName1("differenceFromArray:withOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_112(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+    int options,
+  ) {
+    return __objc_msgSend_112(
+      obj,
+      sel,
+      other,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_112Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_112 = __objc_msgSend_112Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_differenceFromArray_1 =
+      _registerName1("differenceFromArray:");
+  late final _sel_arrayByApplyingDifference_1 =
+      _registerName1("arrayByApplyingDifference:");
+  late final _sel_getObjects_1 = _registerName1("getObjects:");
+  void _objc_msgSend_113(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+  ) {
+    return __objc_msgSend_113(
+      obj,
+      sel,
+      objects,
+    );
+  }
+
+  late final __objc_msgSend_113Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_113 = __objc_msgSend_113Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_arrayWithContentsOfFile_1 =
+      _registerName1("arrayWithContentsOfFile:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_114(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_114(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_114Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_114 = __objc_msgSend_114Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_arrayWithContentsOfURL_1 =
+      _registerName1("arrayWithContentsOfURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_115(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_115(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_115Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_115 = __objc_msgSend_115Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithContentsOfFile_1 =
+      _registerName1("initWithContentsOfFile:");
+  late final _sel_initWithContentsOfURL_1 =
+      _registerName1("initWithContentsOfURL:");
+  late final _sel_writeToURL_atomically_1 =
+      _registerName1("writeToURL:atomically:");
+  bool _objc_msgSend_116(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    bool atomically,
+  ) {
+    return __objc_msgSend_116(
+      obj,
+      sel,
+      url,
+      atomically,
+    );
+  }
+
+  late final __objc_msgSend_116Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_116 = __objc_msgSend_116Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_pathsMatchingExtensions_1 =
+      _registerName1("pathsMatchingExtensions:");
+  late final _sel_valueForKey_1 = _registerName1("valueForKey:");
+  late final _sel_setValue_forKey_1 = _registerName1("setValue:forKey:");
+  void _objc_msgSend_117(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_117(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_117Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_117 = __objc_msgSend_117Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_addObserver_toObjectsAtIndexes_forKeyPath_options_context_1 =
+      _registerName1(
+          "addObserver:toObjectsAtIndexes:forKeyPath:options:context:");
+  void _objc_msgSend_118(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> observer,
+    ffi.Pointer<ObjCObject> indexes,
+    ffi.Pointer<ObjCObject> keyPath,
+    int options,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return __objc_msgSend_118(
+      obj,
+      sel,
+      observer,
+      indexes,
+      keyPath,
+      options,
+      context,
+    );
+  }
+
+  late final __objc_msgSend_118Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_118 = __objc_msgSend_118Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_removeObserver_fromObjectsAtIndexes_forKeyPath_context_1 =
+      _registerName1("removeObserver:fromObjectsAtIndexes:forKeyPath:context:");
+  void _objc_msgSend_119(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> observer,
+    ffi.Pointer<ObjCObject> indexes,
+    ffi.Pointer<ObjCObject> keyPath,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return __objc_msgSend_119(
+      obj,
+      sel,
+      observer,
+      indexes,
+      keyPath,
+      context,
+    );
+  }
+
+  late final __objc_msgSend_119Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_119 = __objc_msgSend_119Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_removeObserver_fromObjectsAtIndexes_forKeyPath_1 =
+      _registerName1("removeObserver:fromObjectsAtIndexes:forKeyPath:");
+  void _objc_msgSend_120(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> observer,
+    ffi.Pointer<ObjCObject> indexes,
+    ffi.Pointer<ObjCObject> keyPath,
+  ) {
+    return __objc_msgSend_120(
+      obj,
+      sel,
+      observer,
+      indexes,
+      keyPath,
+    );
+  }
+
+  late final __objc_msgSend_120Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_120 = __objc_msgSend_120Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_addObserver_forKeyPath_options_context_1 =
+      _registerName1("addObserver:forKeyPath:options:context:");
+  void _objc_msgSend_121(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> observer,
+    ffi.Pointer<ObjCObject> keyPath,
+    int options,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return __objc_msgSend_121(
+      obj,
+      sel,
+      observer,
+      keyPath,
+      options,
+      context,
+    );
+  }
+
+  late final __objc_msgSend_121Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_121 = __objc_msgSend_121Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_removeObserver_forKeyPath_context_1 =
+      _registerName1("removeObserver:forKeyPath:context:");
+  void _objc_msgSend_122(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> observer,
+    ffi.Pointer<ObjCObject> keyPath,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return __objc_msgSend_122(
+      obj,
+      sel,
+      observer,
+      keyPath,
+      context,
+    );
+  }
+
+  late final __objc_msgSend_122Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_122 = __objc_msgSend_122Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_removeObserver_forKeyPath_1 =
+      _registerName1("removeObserver:forKeyPath:");
+  void _objc_msgSend_123(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> observer,
+    ffi.Pointer<ObjCObject> keyPath,
+  ) {
+    return __objc_msgSend_123(
+      obj,
+      sel,
+      observer,
+      keyPath,
+    );
+  }
+
+  late final __objc_msgSend_123Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_123 = __objc_msgSend_123Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_sortedArrayUsingDescriptors_1 =
+      _registerName1("sortedArrayUsingDescriptors:");
+  late final _class_NSPredicate1 = _getClass1("NSPredicate");
+  late final _sel_predicateWithFormat_argumentArray_1 =
+      _registerName1("predicateWithFormat:argumentArray:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_124(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> predicateFormat,
+    ffi.Pointer<ObjCObject> arguments,
+  ) {
+    return __objc_msgSend_124(
+      obj,
+      sel,
+      predicateFormat,
+      arguments,
+    );
+  }
+
+  late final __objc_msgSend_124Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_124 = __objc_msgSend_124Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_predicateWithFormat_1 =
+      _registerName1("predicateWithFormat:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_125(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> predicateFormat,
+  ) {
+    return __objc_msgSend_125(
+      obj,
+      sel,
+      predicateFormat,
+    );
+  }
+
+  late final __objc_msgSend_125Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_125 = __objc_msgSend_125Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_predicateWithFormat_arguments_1 =
+      _registerName1("predicateWithFormat:arguments:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_126(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> predicateFormat,
+    ffi.Pointer<__va_list_tag> argList,
+  ) {
+    return __objc_msgSend_126(
+      obj,
+      sel,
+      predicateFormat,
+      argList,
+    );
+  }
+
+  late final __objc_msgSend_126Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<__va_list_tag>)>>('objc_msgSend');
+  late final __objc_msgSend_126 = __objc_msgSend_126Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  late final _sel_predicateFromMetadataQueryString_1 =
+      _registerName1("predicateFromMetadataQueryString:");
+  late final _sel_predicateWithValue_1 = _registerName1("predicateWithValue:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_127(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    bool value,
+  ) {
+    return __objc_msgSend_127(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_127Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_127 = __objc_msgSend_127Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, bool)>();
+
+  late final _class_NSDictionary1 = _getClass1("NSDictionary");
+  late final _sel_objectForKey_1 = _registerName1("objectForKey:");
+  late final _sel_keyEnumerator1 = _registerName1("keyEnumerator");
+  late final _sel_initWithObjects_forKeys_count_1 =
+      _registerName1("initWithObjects:forKeys:count:");
+  instancetype _objc_msgSend_128(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> keys,
+    int cnt,
+  ) {
+    return __objc_msgSend_128(
+      obj,
+      sel,
+      objects,
+      keys,
+      cnt,
+    );
+  }
+
+  late final __objc_msgSend_128Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_128 = __objc_msgSend_128Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          int)>();
+
+  late final _sel_allKeys1 = _registerName1("allKeys");
+  late final _sel_allKeysForObject_1 = _registerName1("allKeysForObject:");
+  late final _sel_allValues1 = _registerName1("allValues");
+  late final _sel_descriptionInStringsFileFormat1 =
+      _registerName1("descriptionInStringsFileFormat");
+  late final _sel_isEqualToDictionary_1 =
+      _registerName1("isEqualToDictionary:");
+  bool _objc_msgSend_129(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherDictionary,
+  ) {
+    return __objc_msgSend_129(
+      obj,
+      sel,
+      otherDictionary,
+    );
+  }
+
+  late final __objc_msgSend_129Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_129 = __objc_msgSend_129Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_objectsForKeys_notFoundMarker_1 =
+      _registerName1("objectsForKeys:notFoundMarker:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_130(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keys,
+    ffi.Pointer<ObjCObject> marker,
+  ) {
+    return __objc_msgSend_130(
+      obj,
+      sel,
+      keys,
+      marker,
+    );
+  }
+
+  late final __objc_msgSend_130Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_130 = __objc_msgSend_130Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_keysSortedByValueUsingSelector_1 =
+      _registerName1("keysSortedByValueUsingSelector:");
+  late final _sel_getObjects_andKeys_count_1 =
+      _registerName1("getObjects:andKeys:count:");
+  void _objc_msgSend_131(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> keys,
+    int count,
+  ) {
+    return __objc_msgSend_131(
+      obj,
+      sel,
+      objects,
+      keys,
+      count,
+    );
+  }
+
+  late final __objc_msgSend_131Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_131 = __objc_msgSend_131Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          int)>();
+
+  late final _sel_objectForKeyedSubscript_1 =
+      _registerName1("objectForKeyedSubscript:");
+  late final _sel_enumerateKeysAndObjectsUsingBlock_1 =
+      _registerName1("enumerateKeysAndObjectsUsingBlock:");
+  void _objc_msgSend_132(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_132(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_132Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_132 = __objc_msgSend_132Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateKeysAndObjectsWithOptions_usingBlock_1 =
+      _registerName1("enumerateKeysAndObjectsWithOptions:usingBlock:");
+  void _objc_msgSend_133(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_133(
+      obj,
+      sel,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_133Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_133 = __objc_msgSend_133Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_keysSortedByValueUsingComparator_1 =
+      _registerName1("keysSortedByValueUsingComparator:");
+  late final _sel_keysSortedByValueWithOptions_usingComparator_1 =
+      _registerName1("keysSortedByValueWithOptions:usingComparator:");
+  late final _sel_keysOfEntriesPassingTest_1 =
+      _registerName1("keysOfEntriesPassingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_134(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_134(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_134Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_134 = __objc_msgSend_134Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_keysOfEntriesWithOptions_passingTest_1 =
+      _registerName1("keysOfEntriesWithOptions:passingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_135(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_135(
+      obj,
+      sel,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_135Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_135 = __objc_msgSend_135Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_getObjects_andKeys_1 = _registerName1("getObjects:andKeys:");
+  void _objc_msgSend_136(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> keys,
+  ) {
+    return __objc_msgSend_136(
+      obj,
+      sel,
+      objects,
+      keys,
+    );
+  }
+
+  late final __objc_msgSend_136Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_136 = __objc_msgSend_136Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_dictionaryWithContentsOfFile_1 =
+      _registerName1("dictionaryWithContentsOfFile:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_137(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_137(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_137Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_137 = __objc_msgSend_137Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dictionaryWithContentsOfURL_1 =
+      _registerName1("dictionaryWithContentsOfURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_138(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_138(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_138Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_138 = __objc_msgSend_138Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dictionary1 = _registerName1("dictionary");
+  late final _sel_dictionaryWithObject_forKey_1 =
+      _registerName1("dictionaryWithObject:forKey:");
+  instancetype _objc_msgSend_139(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> object,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_139(
+      obj,
+      sel,
+      object,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_139Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_139 = __objc_msgSend_139Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dictionaryWithObjects_forKeys_count_1 =
+      _registerName1("dictionaryWithObjects:forKeys:count:");
+  late final _sel_dictionaryWithObjectsAndKeys_1 =
+      _registerName1("dictionaryWithObjectsAndKeys:");
+  late final _sel_dictionaryWithDictionary_1 =
+      _registerName1("dictionaryWithDictionary:");
+  instancetype _objc_msgSend_140(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> dict,
+  ) {
+    return __objc_msgSend_140(
+      obj,
+      sel,
+      dict,
+    );
+  }
+
+  late final __objc_msgSend_140Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_140 = __objc_msgSend_140Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dictionaryWithObjects_forKeys_1 =
+      _registerName1("dictionaryWithObjects:forKeys:");
+  instancetype _objc_msgSend_141(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> objects,
+    ffi.Pointer<ObjCObject> keys,
+  ) {
+    return __objc_msgSend_141(
+      obj,
+      sel,
+      objects,
+      keys,
+    );
+  }
+
+  late final __objc_msgSend_141Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_141 = __objc_msgSend_141Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithObjectsAndKeys_1 =
+      _registerName1("initWithObjectsAndKeys:");
+  late final _sel_initWithDictionary_1 = _registerName1("initWithDictionary:");
+  late final _sel_initWithDictionary_copyItems_1 =
+      _registerName1("initWithDictionary:copyItems:");
+  instancetype _objc_msgSend_142(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherDictionary,
+    bool flag,
+  ) {
+    return __objc_msgSend_142(
+      obj,
+      sel,
+      otherDictionary,
+      flag,
+    );
+  }
+
+  late final __objc_msgSend_142Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_142 = __objc_msgSend_142Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_initWithObjects_forKeys_1 =
+      _registerName1("initWithObjects:forKeys:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_143(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_143(
+      obj,
+      sel,
+      url,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_143Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_143 = __objc_msgSend_143Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_dictionaryWithContentsOfURL_error_1 =
+      _registerName1("dictionaryWithContentsOfURL:error:");
+  late final _sel_sharedKeySetForKeys_1 =
+      _registerName1("sharedKeySetForKeys:");
+  late final _sel_countByEnumeratingWithState_objects_count_1 =
+      _registerName1("countByEnumeratingWithState:objects:count:");
+  int _objc_msgSend_144(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSFastEnumerationState> state,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> buffer,
+    int len,
+  ) {
+    return __objc_msgSend_144(
+      obj,
+      sel,
+      state,
+      buffer,
+      len,
+    );
+  }
+
+  late final __objc_msgSend_144Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSFastEnumerationState>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_144 = __objc_msgSend_144Ptr.asFunction<
+      int Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSFastEnumerationState>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          int)>();
+
+  late final _sel_fileSize1 = _registerName1("fileSize");
+  int _objc_msgSend_145(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_145(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_145Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedLongLong Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_145 = __objc_msgSend_145Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _class_NSDate1 = _getClass1("NSDate");
+  late final _sel_timeIntervalSinceReferenceDate1 =
+      _registerName1("timeIntervalSinceReferenceDate");
+  double _objc_msgSend_146(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_146(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_146Ptr = _lookup<
+      ffi.NativeFunction<
+          NSTimeInterval Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_146 = __objc_msgSend_146Ptr.asFunction<
+      double Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_initWithTimeIntervalSinceReferenceDate_1 =
+      _registerName1("initWithTimeIntervalSinceReferenceDate:");
+  instancetype _objc_msgSend_147(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double ti,
+  ) {
+    return __objc_msgSend_147(
+      obj,
+      sel,
+      ti,
+    );
+  }
+
+  late final __objc_msgSend_147Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSTimeInterval)>>('objc_msgSend');
+  late final __objc_msgSend_147 = __objc_msgSend_147Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double)>();
+
+  late final _sel_timeIntervalSinceDate_1 =
+      _registerName1("timeIntervalSinceDate:");
+  double _objc_msgSend_148(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anotherDate,
+  ) {
+    return __objc_msgSend_148(
+      obj,
+      sel,
+      anotherDate,
+    );
+  }
+
+  late final __objc_msgSend_148Ptr = _lookup<
+      ffi.NativeFunction<
+          NSTimeInterval Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_148 = __objc_msgSend_148Ptr.asFunction<
+      double Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_timeIntervalSinceNow1 =
+      _registerName1("timeIntervalSinceNow");
+  late final _sel_timeIntervalSince19701 =
+      _registerName1("timeIntervalSince1970");
+  late final _sel_addTimeInterval_1 = _registerName1("addTimeInterval:");
+  late final _sel_dateByAddingTimeInterval_1 =
+      _registerName1("dateByAddingTimeInterval:");
+  late final _sel_earlierDate_1 = _registerName1("earlierDate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_149(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anotherDate,
+  ) {
+    return __objc_msgSend_149(
+      obj,
+      sel,
+      anotherDate,
+    );
+  }
+
+  late final __objc_msgSend_149Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_149 = __objc_msgSend_149Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_laterDate_1 = _registerName1("laterDate:");
+  late final _sel_compare_1 = _registerName1("compare:");
+  int _objc_msgSend_150(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_150(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_150Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_150 = __objc_msgSend_150Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isEqualToDate_1 = _registerName1("isEqualToDate:");
+  bool _objc_msgSend_151(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherDate,
+  ) {
+    return __objc_msgSend_151(
+      obj,
+      sel,
+      otherDate,
+    );
+  }
+
+  late final __objc_msgSend_151Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_151 = __objc_msgSend_151Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_date1 = _registerName1("date");
+  late final _sel_dateWithTimeIntervalSinceNow_1 =
+      _registerName1("dateWithTimeIntervalSinceNow:");
+  late final _sel_dateWithTimeIntervalSinceReferenceDate_1 =
+      _registerName1("dateWithTimeIntervalSinceReferenceDate:");
+  late final _sel_dateWithTimeIntervalSince1970_1 =
+      _registerName1("dateWithTimeIntervalSince1970:");
+  late final _sel_dateWithTimeInterval_sinceDate_1 =
+      _registerName1("dateWithTimeInterval:sinceDate:");
+  instancetype _objc_msgSend_152(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double secsToBeAdded,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_152(
+      obj,
+      sel,
+      secsToBeAdded,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_152Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSTimeInterval, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_152 = __objc_msgSend_152Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          double, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_distantFuture1 = _registerName1("distantFuture");
+  ffi.Pointer<ObjCObject> _objc_msgSend_153(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_153(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_153Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_153 = __objc_msgSend_153Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_distantPast1 = _registerName1("distantPast");
+  late final _sel_now1 = _registerName1("now");
+  late final _sel_initWithTimeIntervalSinceNow_1 =
+      _registerName1("initWithTimeIntervalSinceNow:");
+  late final _sel_initWithTimeIntervalSince1970_1 =
+      _registerName1("initWithTimeIntervalSince1970:");
+  late final _sel_initWithTimeInterval_sinceDate_1 =
+      _registerName1("initWithTimeInterval:sinceDate:");
+  late final _sel_fileModificationDate1 =
+      _registerName1("fileModificationDate");
+  late final _sel_fileType1 = _registerName1("fileType");
+  late final _sel_filePosixPermissions1 =
+      _registerName1("filePosixPermissions");
+  late final _sel_fileOwnerAccountName1 =
+      _registerName1("fileOwnerAccountName");
+  late final _sel_fileGroupOwnerAccountName1 =
+      _registerName1("fileGroupOwnerAccountName");
+  late final _sel_fileSystemNumber1 = _registerName1("fileSystemNumber");
+  late final _sel_fileSystemFileNumber1 =
+      _registerName1("fileSystemFileNumber");
+  late final _sel_fileExtensionHidden1 = _registerName1("fileExtensionHidden");
+  late final _sel_fileHFSCreatorCode1 = _registerName1("fileHFSCreatorCode");
+  int _objc_msgSend_154(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_154(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_154Ptr = _lookup<
+      ffi.NativeFunction<
+          OSType Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_154 = __objc_msgSend_154Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_fileHFSTypeCode1 = _registerName1("fileHFSTypeCode");
+  late final _sel_fileIsImmutable1 = _registerName1("fileIsImmutable");
+  late final _sel_fileIsAppendOnly1 = _registerName1("fileIsAppendOnly");
+  late final _sel_fileCreationDate1 = _registerName1("fileCreationDate");
+  late final _sel_fileOwnerAccountID1 = _registerName1("fileOwnerAccountID");
+  ffi.Pointer<ObjCObject> _objc_msgSend_155(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_155(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_155Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_155 = __objc_msgSend_155Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_fileGroupOwnerAccountID1 =
+      _registerName1("fileGroupOwnerAccountID");
+  late final _sel_predicateWithBlock_1 = _registerName1("predicateWithBlock:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_156(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_156(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_156Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_156 = __objc_msgSend_156Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_predicateFormat1 = _registerName1("predicateFormat");
+  late final _sel_predicateWithSubstitutionVariables_1 =
+      _registerName1("predicateWithSubstitutionVariables:");
+  late final _sel_evaluateWithObject_1 = _registerName1("evaluateWithObject:");
+  late final _sel_evaluateWithObject_substitutionVariables_1 =
+      _registerName1("evaluateWithObject:substitutionVariables:");
+  bool _objc_msgSend_157(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> object,
+    ffi.Pointer<ObjCObject> bindings,
+  ) {
+    return __objc_msgSend_157(
+      obj,
+      sel,
+      object,
+      bindings,
+    );
+  }
+
+  late final __objc_msgSend_157Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_157 = __objc_msgSend_157Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_allowEvaluation1 = _registerName1("allowEvaluation");
+  late final _sel_filteredArrayUsingPredicate_1 =
+      _registerName1("filteredArrayUsingPredicate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_158(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> predicate,
+  ) {
+    return __objc_msgSend_158(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_158Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_158 = __objc_msgSend_158Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithChar_1 = _registerName1("initWithChar:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_159(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_159(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_159Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Char)>>('objc_msgSend');
+  late final __objc_msgSend_159 = __objc_msgSend_159Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithUnsignedChar_1 =
+      _registerName1("initWithUnsignedChar:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_160(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_160(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_160Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.UnsignedChar)>>('objc_msgSend');
+  late final __objc_msgSend_160 = __objc_msgSend_160Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithShort_1 = _registerName1("initWithShort:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_161(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_161(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_161Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Short)>>('objc_msgSend');
+  late final __objc_msgSend_161 = __objc_msgSend_161Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithUnsignedShort_1 =
+      _registerName1("initWithUnsignedShort:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_162(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_162(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_162Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.UnsignedShort)>>('objc_msgSend');
+  late final __objc_msgSend_162 = __objc_msgSend_162Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithInt_1 = _registerName1("initWithInt:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_163(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_163(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_163Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int)>>('objc_msgSend');
+  late final __objc_msgSend_163 = __objc_msgSend_163Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithUnsignedInt_1 =
+      _registerName1("initWithUnsignedInt:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_164(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_164(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_164Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.UnsignedInt)>>('objc_msgSend');
+  late final __objc_msgSend_164 = __objc_msgSend_164Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithLong_1 = _registerName1("initWithLong:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_165(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_165(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_165Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Long)>>('objc_msgSend');
+  late final __objc_msgSend_165 = __objc_msgSend_165Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithUnsignedLong_1 =
+      _registerName1("initWithUnsignedLong:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_166(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_166(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_166Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.UnsignedLong)>>('objc_msgSend');
+  late final __objc_msgSend_166 = __objc_msgSend_166Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithLongLong_1 = _registerName1("initWithLongLong:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_167(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_167(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_167Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.LongLong)>>('objc_msgSend');
+  late final __objc_msgSend_167 = __objc_msgSend_167Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithUnsignedLongLong_1 =
+      _registerName1("initWithUnsignedLongLong:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_168(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_168(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_168Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.UnsignedLongLong)>>('objc_msgSend');
+  late final __objc_msgSend_168 = __objc_msgSend_168Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithFloat_1 = _registerName1("initWithFloat:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_169(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double value,
+  ) {
+    return __objc_msgSend_169(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_169Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Float)>>('objc_msgSend');
+  late final __objc_msgSend_169 = __objc_msgSend_169Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double)>();
+
+  late final _sel_initWithDouble_1 = _registerName1("initWithDouble:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_170(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double value,
+  ) {
+    return __objc_msgSend_170(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_170Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Double)>>('objc_msgSend');
+  late final __objc_msgSend_170 = __objc_msgSend_170Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double)>();
+
+  late final _sel_initWithBool_1 = _registerName1("initWithBool:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_171(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    bool value,
+  ) {
+    return __objc_msgSend_171(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_171Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_171 = __objc_msgSend_171Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, bool)>();
+
+  late final _sel_initWithInteger_1 = _registerName1("initWithInteger:");
+  late final _sel_initWithUnsignedInteger_1 =
+      _registerName1("initWithUnsignedInteger:");
+  late final _sel_charValue1 = _registerName1("charValue");
+  int _objc_msgSend_172(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_172(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_172Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Char Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_172 = __objc_msgSend_172Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_unsignedCharValue1 = _registerName1("unsignedCharValue");
+  int _objc_msgSend_173(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_173(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_173Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedChar Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_173 = __objc_msgSend_173Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_shortValue1 = _registerName1("shortValue");
+  int _objc_msgSend_174(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_174(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_174Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Short Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_174 = __objc_msgSend_174Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_unsignedShortValue1 = _registerName1("unsignedShortValue");
+  int _objc_msgSend_175(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_175(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_175Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.UnsignedShort Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_175 = __objc_msgSend_175Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_intValue1 = _registerName1("intValue");
+  int _objc_msgSend_176(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_176(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_176Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_176 = __objc_msgSend_176Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_unsignedIntValue1 = _registerName1("unsignedIntValue");
+  late final _sel_longValue1 = _registerName1("longValue");
+  late final _sel_unsignedLongValue1 = _registerName1("unsignedLongValue");
+  late final _sel_longLongValue1 = _registerName1("longLongValue");
+  int _objc_msgSend_177(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_177(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_177Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.LongLong Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_177 = __objc_msgSend_177Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_unsignedLongLongValue1 =
+      _registerName1("unsignedLongLongValue");
+  late final _sel_floatValue1 = _registerName1("floatValue");
+  double _objc_msgSend_178(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_178(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_178Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Float Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>)>>('objc_msgSend_fpret');
+  late final __objc_msgSend_178 = __objc_msgSend_178Ptr.asFunction<
+      double Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_doubleValue1 = _registerName1("doubleValue");
+  late final _sel_boolValue1 = _registerName1("boolValue");
+  late final _sel_integerValue1 = _registerName1("integerValue");
+  late final _sel_unsignedIntegerValue1 =
+      _registerName1("unsignedIntegerValue");
+  late final _sel_stringValue1 = _registerName1("stringValue");
+  int _objc_msgSend_179(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherNumber,
+  ) {
+    return __objc_msgSend_179(
+      obj,
+      sel,
+      otherNumber,
+    );
+  }
+
+  late final __objc_msgSend_179Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_179 = __objc_msgSend_179Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isEqualToNumber_1 = _registerName1("isEqualToNumber:");
+  bool _objc_msgSend_180(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> number,
+  ) {
+    return __objc_msgSend_180(
+      obj,
+      sel,
+      number,
+    );
+  }
+
+  late final __objc_msgSend_180Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_180 = __objc_msgSend_180Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_numberWithChar_1 = _registerName1("numberWithChar:");
+  late final _sel_numberWithUnsignedChar_1 =
+      _registerName1("numberWithUnsignedChar:");
+  late final _sel_numberWithShort_1 = _registerName1("numberWithShort:");
+  late final _sel_numberWithUnsignedShort_1 =
+      _registerName1("numberWithUnsignedShort:");
+  late final _sel_numberWithInt_1 = _registerName1("numberWithInt:");
+  late final _sel_numberWithUnsignedInt_1 =
+      _registerName1("numberWithUnsignedInt:");
+  late final _sel_numberWithLong_1 = _registerName1("numberWithLong:");
+  late final _sel_numberWithUnsignedLong_1 =
+      _registerName1("numberWithUnsignedLong:");
+  late final _sel_numberWithLongLong_1 = _registerName1("numberWithLongLong:");
+  late final _sel_numberWithUnsignedLongLong_1 =
+      _registerName1("numberWithUnsignedLongLong:");
+  late final _sel_numberWithFloat_1 = _registerName1("numberWithFloat:");
+  late final _sel_numberWithDouble_1 = _registerName1("numberWithDouble:");
+  late final _sel_numberWithBool_1 = _registerName1("numberWithBool:");
+  late final _sel_numberWithInteger_1 = _registerName1("numberWithInteger:");
+  late final _sel_numberWithUnsignedInteger_1 =
+      _registerName1("numberWithUnsignedInteger:");
+  late final _sel_port1 = _registerName1("port");
+  late final _sel_user1 = _registerName1("user");
+  late final _sel_password1 = _registerName1("password");
+  late final _sel_path1 = _registerName1("path");
+  late final _sel_fragment1 = _registerName1("fragment");
+  late final _sel_parameterString1 = _registerName1("parameterString");
+  late final _sel_query1 = _registerName1("query");
+  late final _sel_relativePath1 = _registerName1("relativePath");
+  late final _sel_hasDirectoryPath1 = _registerName1("hasDirectoryPath");
+  late final _sel_getFileSystemRepresentation_maxLength_1 =
+      _registerName1("getFileSystemRepresentation:maxLength:");
+  bool _objc_msgSend_181(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> buffer,
+    int maxBufferLength,
+  ) {
+    return __objc_msgSend_181(
+      obj,
+      sel,
+      buffer,
+      maxBufferLength,
+    );
+  }
+
+  late final __objc_msgSend_181Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_181 = __objc_msgSend_181Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, int)>();
+
+  late final _sel_fileSystemRepresentation1 =
+      _registerName1("fileSystemRepresentation");
+  late final _sel_isFileURL1 = _registerName1("isFileURL");
+  late final _sel_standardizedURL1 = _registerName1("standardizedURL");
+  late final _sel_checkResourceIsReachableAndReturnError_1 =
+      _registerName1("checkResourceIsReachableAndReturnError:");
+  bool _objc_msgSend_182(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_182(
+      obj,
+      sel,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_182Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_182 = __objc_msgSend_182Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_isFileReferenceURL1 = _registerName1("isFileReferenceURL");
+  late final _sel_fileReferenceURL1 = _registerName1("fileReferenceURL");
+  late final _sel_filePathURL1 = _registerName1("filePathURL");
+  late final _sel_getResourceValue_forKey_error_1 =
+      _registerName1("getResourceValue:forKey:error:");
+  bool _objc_msgSend_183(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> value,
+    NSURLResourceKey key,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_183(
+      obj,
+      sel,
+      value,
+      key,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_183Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSURLResourceKey,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_183 = __objc_msgSend_183Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          NSURLResourceKey,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_resourceValuesForKeys_error_1 =
+      _registerName1("resourceValuesForKeys:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_184(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keys,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_184(
+      obj,
+      sel,
+      keys,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_184Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_184 = __objc_msgSend_184Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_setResourceValue_forKey_error_1 =
+      _registerName1("setResourceValue:forKey:error:");
+  bool _objc_msgSend_185(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+    NSURLResourceKey key,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_185(
+      obj,
+      sel,
+      value,
+      key,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_185Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSURLResourceKey,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_185 = __objc_msgSend_185Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          NSURLResourceKey,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_setResourceValues_error_1 =
+      _registerName1("setResourceValues:error:");
+  bool _objc_msgSend_186(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keyedValues,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_186(
+      obj,
+      sel,
+      keyedValues,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_186Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_186 = __objc_msgSend_186Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_removeCachedResourceValueForKey_1 =
+      _registerName1("removeCachedResourceValueForKey:");
+  void _objc_msgSend_187(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSURLResourceKey key,
+  ) {
+    return __objc_msgSend_187(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_187Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSURLResourceKey)>>('objc_msgSend');
+  late final __objc_msgSend_187 = __objc_msgSend_187Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSURLResourceKey)>();
+
+  late final _sel_removeAllCachedResourceValues1 =
+      _registerName1("removeAllCachedResourceValues");
+  late final _sel_setTemporaryResourceValue_forKey_1 =
+      _registerName1("setTemporaryResourceValue:forKey:");
+  late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1 =
+      _registerName1(
+          "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_188(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+    ffi.Pointer<ObjCObject> keys,
+    ffi.Pointer<ObjCObject> relativeURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_188(
+      obj,
+      sel,
+      options,
+      keys,
+      relativeURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_188Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_188 = __objc_msgSend_188Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 =
+      _registerName1(
+          "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:");
+  instancetype _objc_msgSend_189(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> bookmarkData,
+    int options,
+    ffi.Pointer<ObjCObject> relativeURL,
+    ffi.Pointer<ffi.Bool> isStale,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_189(
+      obj,
+      sel,
+      bookmarkData,
+      options,
+      relativeURL,
+      isStale,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_189Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Bool>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_189 = __objc_msgSend_189Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Bool>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 =
+      _registerName1(
+          "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:");
+  late final _sel_resourceValuesForKeys_fromBookmarkData_1 =
+      _registerName1("resourceValuesForKeys:fromBookmarkData:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_190(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keys,
+    ffi.Pointer<ObjCObject> bookmarkData,
+  ) {
+    return __objc_msgSend_190(
+      obj,
+      sel,
+      keys,
+      bookmarkData,
+    );
+  }
+
+  late final __objc_msgSend_190Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_190 = __objc_msgSend_190Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_writeBookmarkData_toURL_options_error_1 =
+      _registerName1("writeBookmarkData:toURL:options:error:");
+  bool _objc_msgSend_191(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> bookmarkData,
+    ffi.Pointer<ObjCObject> bookmarkFileURL,
+    int options,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_191(
+      obj,
+      sel,
+      bookmarkData,
+      bookmarkFileURL,
+      options,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_191Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSURLBookmarkFileCreationOptions,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_191 = __objc_msgSend_191Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_bookmarkDataWithContentsOfURL_error_1 =
+      _registerName1("bookmarkDataWithContentsOfURL:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_192(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> bookmarkFileURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_192(
+      obj,
+      sel,
+      bookmarkFileURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_192Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_192 = __objc_msgSend_192Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_URLByResolvingAliasFileAtURL_options_error_1 =
+      _registerName1("URLByResolvingAliasFileAtURL:options:error:");
+  instancetype _objc_msgSend_193(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    int options,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_193(
+      obj,
+      sel,
+      url,
+      options,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_193Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_193 = __objc_msgSend_193Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_startAccessingSecurityScopedResource1 =
+      _registerName1("startAccessingSecurityScopedResource");
+  late final _sel_stopAccessingSecurityScopedResource1 =
+      _registerName1("stopAccessingSecurityScopedResource");
+  late final _sel_getPromisedItemResourceValue_forKey_error_1 =
+      _registerName1("getPromisedItemResourceValue:forKey:error:");
+  late final _sel_promisedItemResourceValuesForKeys_error_1 =
+      _registerName1("promisedItemResourceValuesForKeys:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_194(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keys,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_194(
+      obj,
+      sel,
+      keys,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_194Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_194 = __objc_msgSend_194Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_checkPromisedItemIsReachableAndReturnError_1 =
+      _registerName1("checkPromisedItemIsReachableAndReturnError:");
+  late final _sel_fileURLWithPathComponents_1 =
+      _registerName1("fileURLWithPathComponents:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_195(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> components,
+  ) {
+    return __objc_msgSend_195(
+      obj,
+      sel,
+      components,
+    );
+  }
+
+  late final __objc_msgSend_195Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_195 = __objc_msgSend_195Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_pathComponents1 = _registerName1("pathComponents");
+  late final _sel_lastPathComponent1 = _registerName1("lastPathComponent");
+  late final _sel_pathExtension1 = _registerName1("pathExtension");
+  late final _sel_URLByAppendingPathComponent_1 =
+      _registerName1("URLByAppendingPathComponent:");
+  late final _sel_URLByAppendingPathComponent_isDirectory_1 =
+      _registerName1("URLByAppendingPathComponent:isDirectory:");
+  late final _sel_URLByDeletingLastPathComponent1 =
+      _registerName1("URLByDeletingLastPathComponent");
+  late final _sel_URLByAppendingPathExtension_1 =
+      _registerName1("URLByAppendingPathExtension:");
+  late final _sel_URLByDeletingPathExtension1 =
+      _registerName1("URLByDeletingPathExtension");
+  late final _sel_URLByStandardizingPath1 =
+      _registerName1("URLByStandardizingPath");
+  late final _sel_URLByResolvingSymlinksInPath1 =
+      _registerName1("URLByResolvingSymlinksInPath");
+  late final _sel_writeToFile_options_error_1 =
+      _registerName1("writeToFile:options:error:");
+  bool _objc_msgSend_196(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    int writeOptionsMask,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr,
+  ) {
+    return __objc_msgSend_196(
+      obj,
+      sel,
+      path,
+      writeOptionsMask,
+      errorPtr,
+    );
+  }
+
+  late final __objc_msgSend_196Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_196 = __objc_msgSend_196Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_writeToURL_options_error_1 =
+      _registerName1("writeToURL:options:error:");
+  bool _objc_msgSend_197(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    int writeOptionsMask,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr,
+  ) {
+    return __objc_msgSend_197(
+      obj,
+      sel,
+      url,
+      writeOptionsMask,
+      errorPtr,
+    );
+  }
+
+  late final __objc_msgSend_197Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_197 = __objc_msgSend_197Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_rangeOfData_options_range_1 =
+      _registerName1("rangeOfData:options:range:");
+  NSRange _objc_msgSend_198(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> dataToFind,
+    int mask,
+    NSRange searchRange,
+  ) {
+    return __objc_msgSend_198(
+      obj,
+      sel,
+      dataToFind,
+      mask,
+      searchRange,
+    );
+  }
+
+  late final __objc_msgSend_198Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_198 = __objc_msgSend_198Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_enumerateByteRangesUsingBlock_1 =
+      _registerName1("enumerateByteRangesUsingBlock:");
+  void _objc_msgSend_199(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_199(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_199Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_199 = __objc_msgSend_199Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_data1 = _registerName1("data");
+  late final _sel_dataWithBytes_length_1 =
+      _registerName1("dataWithBytes:length:");
+  instancetype _objc_msgSend_200(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> bytes,
+    int length,
+  ) {
+    return __objc_msgSend_200(
+      obj,
+      sel,
+      bytes,
+      length,
+    );
+  }
+
+  late final __objc_msgSend_200Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_200 = __objc_msgSend_200Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int)>();
+
+  late final _sel_dataWithBytesNoCopy_length_1 =
+      _registerName1("dataWithBytesNoCopy:length:");
+  late final _sel_dataWithBytesNoCopy_length_freeWhenDone_1 =
+      _registerName1("dataWithBytesNoCopy:length:freeWhenDone:");
+  instancetype _objc_msgSend_201(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> bytes,
+    int length,
+    bool b,
+  ) {
+    return __objc_msgSend_201(
+      obj,
+      sel,
+      bytes,
+      length,
+      b,
+    );
+  }
+
+  late final __objc_msgSend_201Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>, NSUInteger, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_201 = __objc_msgSend_201Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int, bool)>();
+
+  late final _sel_dataWithContentsOfFile_options_error_1 =
+      _registerName1("dataWithContentsOfFile:options:error:");
+  instancetype _objc_msgSend_202(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    int readOptionsMask,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr,
+  ) {
+    return __objc_msgSend_202(
+      obj,
+      sel,
+      path,
+      readOptionsMask,
+      errorPtr,
+    );
+  }
+
+  late final __objc_msgSend_202Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_202 = __objc_msgSend_202Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_dataWithContentsOfURL_options_error_1 =
+      _registerName1("dataWithContentsOfURL:options:error:");
+  instancetype _objc_msgSend_203(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    int readOptionsMask,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr,
+  ) {
+    return __objc_msgSend_203(
+      obj,
+      sel,
+      url,
+      readOptionsMask,
+      errorPtr,
+    );
+  }
+
+  late final __objc_msgSend_203Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_203 = __objc_msgSend_203Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_dataWithContentsOfFile_1 =
+      _registerName1("dataWithContentsOfFile:");
+  late final _sel_dataWithContentsOfURL_1 =
+      _registerName1("dataWithContentsOfURL:");
+  instancetype _objc_msgSend_204(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_204(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_204Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_204 = __objc_msgSend_204Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithBytes_length_1 =
+      _registerName1("initWithBytes:length:");
+  late final _sel_initWithBytesNoCopy_length_1 =
+      _registerName1("initWithBytesNoCopy:length:");
+  late final _sel_initWithBytesNoCopy_length_freeWhenDone_1 =
+      _registerName1("initWithBytesNoCopy:length:freeWhenDone:");
+  late final _sel_initWithBytesNoCopy_length_deallocator_1 =
+      _registerName1("initWithBytesNoCopy:length:deallocator:");
+  instancetype _objc_msgSend_205(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> bytes,
+    int length,
+    ffi.Pointer<_ObjCBlock> deallocator,
+  ) {
+    return __objc_msgSend_205(
+      obj,
+      sel,
+      bytes,
+      length,
+      deallocator,
+    );
+  }
+
+  late final __objc_msgSend_205Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>,
+              NSUInteger,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_205 = __objc_msgSend_205Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_initWithContentsOfFile_options_error_1 =
+      _registerName1("initWithContentsOfFile:options:error:");
+  late final _sel_initWithContentsOfURL_options_error_1 =
+      _registerName1("initWithContentsOfURL:options:error:");
+  late final _sel_initWithData_1 = _registerName1("initWithData:");
+  instancetype _objc_msgSend_206(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+  ) {
+    return __objc_msgSend_206(
+      obj,
+      sel,
+      data,
+    );
+  }
+
+  late final __objc_msgSend_206Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_206 = __objc_msgSend_206Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dataWithData_1 = _registerName1("dataWithData:");
+  late final _sel_initWithBase64EncodedString_options_1 =
+      _registerName1("initWithBase64EncodedString:options:");
+  instancetype _objc_msgSend_207(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> base64String,
+    int options,
+  ) {
+    return __objc_msgSend_207(
+      obj,
+      sel,
+      base64String,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_207Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_207 = __objc_msgSend_207Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_base64EncodedStringWithOptions_1 =
+      _registerName1("base64EncodedStringWithOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_208(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+  ) {
+    return __objc_msgSend_208(
+      obj,
+      sel,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_208Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_208 = __objc_msgSend_208Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_initWithBase64EncodedData_options_1 =
+      _registerName1("initWithBase64EncodedData:options:");
+  instancetype _objc_msgSend_209(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> base64Data,
+    int options,
+  ) {
+    return __objc_msgSend_209(
+      obj,
+      sel,
+      base64Data,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_209Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_209 = __objc_msgSend_209Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_base64EncodedDataWithOptions_1 =
+      _registerName1("base64EncodedDataWithOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_210(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+  ) {
+    return __objc_msgSend_210(
+      obj,
+      sel,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_210Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_210 = __objc_msgSend_210Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_decompressedDataUsingAlgorithm_error_1 =
+      _registerName1("decompressedDataUsingAlgorithm:error:");
+  instancetype _objc_msgSend_211(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int algorithm,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_211(
+      obj,
+      sel,
+      algorithm,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_211Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_211 = __objc_msgSend_211Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_compressedDataUsingAlgorithm_error_1 =
+      _registerName1("compressedDataUsingAlgorithm:error:");
+  late final _sel_getBytes_1 = _registerName1("getBytes:");
+  late final _sel_dataWithContentsOfMappedFile_1 =
+      _registerName1("dataWithContentsOfMappedFile:");
+  late final _sel_initWithContentsOfMappedFile_1 =
+      _registerName1("initWithContentsOfMappedFile:");
+  late final _sel_initWithBase64Encoding_1 =
+      _registerName1("initWithBase64Encoding:");
+  late final _sel_base64Encoding1 = _registerName1("base64Encoding");
+  late final _sel_encodeDataObject_1 = _registerName1("encodeDataObject:");
+  void _objc_msgSend_212(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+  ) {
+    return __objc_msgSend_212(
+      obj,
+      sel,
+      data,
+    );
+  }
+
+  late final __objc_msgSend_212Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_212 = __objc_msgSend_212Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeDataObject1 = _registerName1("decodeDataObject");
+  late final _sel_decodeValueOfObjCType_at_size_1 =
+      _registerName1("decodeValueOfObjCType:at:size:");
+  void _objc_msgSend_213(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> type,
+    ffi.Pointer<ffi.Void> data,
+    int size,
+  ) {
+    return __objc_msgSend_213(
+      obj,
+      sel,
+      type,
+      data,
+      size,
+    );
+  }
+
+  late final __objc_msgSend_213Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Void>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_213 = __objc_msgSend_213Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>, int)>();
+
+  late final _sel_versionForClassName_1 =
+      _registerName1("versionForClassName:");
+  int _objc_msgSend_214(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> className,
+  ) {
+    return __objc_msgSend_214(
+      obj,
+      sel,
+      className,
+    );
+  }
+
+  late final __objc_msgSend_214Ptr = _lookup<
+      ffi.NativeFunction<
+          NSInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_214 = __objc_msgSend_214Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_encodeObject_1 = _registerName1("encodeObject:");
+  late final _sel_encodeRootObject_1 = _registerName1("encodeRootObject:");
+  late final _sel_encodeBycopyObject_1 = _registerName1("encodeBycopyObject:");
+  late final _sel_encodeByrefObject_1 = _registerName1("encodeByrefObject:");
+  late final _sel_encodeConditionalObject_1 =
+      _registerName1("encodeConditionalObject:");
+  late final _sel_encodeValuesOfObjCTypes_1 =
+      _registerName1("encodeValuesOfObjCTypes:");
+  void _objc_msgSend_215(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> types,
+  ) {
+    return __objc_msgSend_215(
+      obj,
+      sel,
+      types,
+    );
+  }
+
+  late final __objc_msgSend_215Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>)>>('objc_msgSend');
+  late final __objc_msgSend_215 = __objc_msgSend_215Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>)>();
+
+  late final _sel_encodeArrayOfObjCType_count_at_1 =
+      _registerName1("encodeArrayOfObjCType:count:at:");
+  void _objc_msgSend_216(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> type,
+    int count,
+    ffi.Pointer<ffi.Void> array,
+  ) {
+    return __objc_msgSend_216(
+      obj,
+      sel,
+      type,
+      count,
+      array,
+    );
+  }
+
+  late final __objc_msgSend_216Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              NSUInteger,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_216 = __objc_msgSend_216Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_encodeBytes_length_1 = _registerName1("encodeBytes:length:");
+  late final _sel_decodeObject1 = _registerName1("decodeObject");
+  late final _sel_decodeTopLevelObjectAndReturnError_1 =
+      _registerName1("decodeTopLevelObjectAndReturnError:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_217(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_217(
+      obj,
+      sel,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_217Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_217 = __objc_msgSend_217Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_decodeValuesOfObjCTypes_1 =
+      _registerName1("decodeValuesOfObjCTypes:");
+  late final _sel_decodeArrayOfObjCType_count_at_1 =
+      _registerName1("decodeArrayOfObjCType:count:at:");
+  late final _sel_decodeBytesWithReturnedLength_1 =
+      _registerName1("decodeBytesWithReturnedLength:");
+  ffi.Pointer<ffi.Void> _objc_msgSend_218(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSUInteger> lengthp,
+  ) {
+    return __objc_msgSend_218(
+      obj,
+      sel,
+      lengthp,
+    );
+  }
+
+  late final __objc_msgSend_218Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<NSUInteger>)>>('objc_msgSend');
+  late final __objc_msgSend_218 = __objc_msgSend_218Ptr.asFunction<
+      ffi.Pointer<ffi.Void> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<NSUInteger>)>();
+
+  late final _sel_setObjectZone_1 = _registerName1("setObjectZone:");
+  void _objc_msgSend_219(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return __objc_msgSend_219(
+      obj,
+      sel,
+      zone,
+    );
+  }
+
+  late final __objc_msgSend_219Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSZone>)>>('objc_msgSend');
+  late final __objc_msgSend_219 = __objc_msgSend_219Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSZone>)>();
+
+  late final _sel_objectZone1 = _registerName1("objectZone");
+  ffi.Pointer<NSZone> _objc_msgSend_220(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_220(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_220Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<NSZone> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_220 = __objc_msgSend_220Ptr.asFunction<
+      ffi.Pointer<NSZone> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_systemVersion1 = _registerName1("systemVersion");
+  late final _sel_allowsKeyedCoding1 = _registerName1("allowsKeyedCoding");
+  late final _sel_encodeObject_forKey_1 =
+      _registerName1("encodeObject:forKey:");
+  late final _sel_encodeConditionalObject_forKey_1 =
+      _registerName1("encodeConditionalObject:forKey:");
+  late final _sel_encodeBool_forKey_1 = _registerName1("encodeBool:forKey:");
+  void _objc_msgSend_221(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    bool value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_221(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_221Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Bool, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_221 = __objc_msgSend_221Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, bool,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_encodeInt_forKey_1 = _registerName1("encodeInt:forKey:");
+  void _objc_msgSend_222(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_222(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_222Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_222 = __objc_msgSend_222Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_encodeInt32_forKey_1 = _registerName1("encodeInt32:forKey:");
+  void _objc_msgSend_223(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_223(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_223Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_223 = __objc_msgSend_223Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_encodeInt64_forKey_1 = _registerName1("encodeInt64:forKey:");
+  void _objc_msgSend_224(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_224(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_224Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int64, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_224 = __objc_msgSend_224Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_encodeFloat_forKey_1 = _registerName1("encodeFloat:forKey:");
+  void _objc_msgSend_225(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_225(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_225Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Float, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_225 = __objc_msgSend_225Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_encodeDouble_forKey_1 =
+      _registerName1("encodeDouble:forKey:");
+  void _objc_msgSend_226(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_226(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_226Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Double, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_226 = __objc_msgSend_226Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_encodeBytes_length_forKey_1 =
+      _registerName1("encodeBytes:length:forKey:");
+  void _objc_msgSend_227(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Uint8> bytes,
+    int length,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_227(
+      obj,
+      sel,
+      bytes,
+      length,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_227Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Uint8>,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_227 = __objc_msgSend_227Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Uint8>, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_containsValueForKey_1 =
+      _registerName1("containsValueForKey:");
+  late final _sel_decodeObjectForKey_1 = _registerName1("decodeObjectForKey:");
+  late final _sel_decodeTopLevelObjectForKey_error_1 =
+      _registerName1("decodeTopLevelObjectForKey:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_228(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_228(
+      obj,
+      sel,
+      key,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_228Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_228 = __objc_msgSend_228Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_decodeBoolForKey_1 = _registerName1("decodeBoolForKey:");
+  late final _sel_decodeIntForKey_1 = _registerName1("decodeIntForKey:");
+  int _objc_msgSend_229(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_229(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_229Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_229 = __objc_msgSend_229Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeInt32ForKey_1 = _registerName1("decodeInt32ForKey:");
+  int _objc_msgSend_230(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_230(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_230Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_230 = __objc_msgSend_230Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeInt64ForKey_1 = _registerName1("decodeInt64ForKey:");
+  int _objc_msgSend_231(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_231(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_231Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int64 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_231 = __objc_msgSend_231Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeFloatForKey_1 = _registerName1("decodeFloatForKey:");
+  double _objc_msgSend_232(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_232(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_232Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Float Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend_fpret');
+  late final __objc_msgSend_232 = __objc_msgSend_232Ptr.asFunction<
+      double Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeDoubleForKey_1 = _registerName1("decodeDoubleForKey:");
+  double _objc_msgSend_233(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_233(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_233Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Double Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend_fpret');
+  late final __objc_msgSend_233 = __objc_msgSend_233Ptr.asFunction<
+      double Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeBytesForKey_returnedLength_1 =
+      _registerName1("decodeBytesForKey:returnedLength:");
+  ffi.Pointer<ffi.Uint8> _objc_msgSend_234(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<NSUInteger> lengthp,
+  ) {
+    return __objc_msgSend_234(
+      obj,
+      sel,
+      key,
+      lengthp,
+    );
+  }
+
+  late final __objc_msgSend_234Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Uint8> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<NSUInteger>)>>('objc_msgSend');
+  late final __objc_msgSend_234 = __objc_msgSend_234Ptr.asFunction<
+      ffi.Pointer<ffi.Uint8> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<NSUInteger>)>();
+
+  late final _sel_encodeInteger_forKey_1 =
+      _registerName1("encodeInteger:forKey:");
+  void _objc_msgSend_235(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_235(
+      obj,
+      sel,
+      value,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_235Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSInteger, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_235 = __objc_msgSend_235Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeIntegerForKey_1 =
+      _registerName1("decodeIntegerForKey:");
+  late final _sel_requiresSecureCoding1 =
+      _registerName1("requiresSecureCoding");
+  late final _sel_decodeObjectOfClass_forKey_1 =
+      _registerName1("decodeObjectOfClass:forKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_236(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aClass,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_236(
+      obj,
+      sel,
+      aClass,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_236Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_236 = __objc_msgSend_236Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeTopLevelObjectOfClass_forKey_error_1 =
+      _registerName1("decodeTopLevelObjectOfClass:forKey:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_237(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aClass,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_237(
+      obj,
+      sel,
+      aClass,
+      key,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_237Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_237 = __objc_msgSend_237Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_decodeArrayOfObjectsOfClass_forKey_1 =
+      _registerName1("decodeArrayOfObjectsOfClass:forKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_238(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> cls,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_238(
+      obj,
+      sel,
+      cls,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_238Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_238 = __objc_msgSend_238Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeDictionaryWithKeysOfClass_objectsOfClass_forKey_1 =
+      _registerName1("decodeDictionaryWithKeysOfClass:objectsOfClass:forKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_239(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keyCls,
+    ffi.Pointer<ObjCObject> objectCls,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_239(
+      obj,
+      sel,
+      keyCls,
+      objectCls,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_239Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_239 = __objc_msgSend_239Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeObjectOfClasses_forKey_1 =
+      _registerName1("decodeObjectOfClasses:forKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_240(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> classes,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_240(
+      obj,
+      sel,
+      classes,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_240Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_240 = __objc_msgSend_240Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeTopLevelObjectOfClasses_forKey_error_1 =
+      _registerName1("decodeTopLevelObjectOfClasses:forKey:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_241(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> classes,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_241(
+      obj,
+      sel,
+      classes,
+      key,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_241Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_241 = __objc_msgSend_241Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_decodeArrayOfObjectsOfClasses_forKey_1 =
+      _registerName1("decodeArrayOfObjectsOfClasses:forKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_242(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> classes,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_242(
+      obj,
+      sel,
+      classes,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_242Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_242 = __objc_msgSend_242Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodeDictionaryWithKeysOfClasses_objectsOfClasses_forKey_1 =
+      _registerName1(
+          "decodeDictionaryWithKeysOfClasses:objectsOfClasses:forKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_243(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keyClasses,
+    ffi.Pointer<ObjCObject> objectClasses,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_243(
+      obj,
+      sel,
+      keyClasses,
+      objectClasses,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_243Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_243 = __objc_msgSend_243Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodePropertyListForKey_1 =
+      _registerName1("decodePropertyListForKey:");
+  late final _sel_allowedClasses1 = _registerName1("allowedClasses");
+  ffi.Pointer<ObjCObject> _objc_msgSend_244(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_244(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_244Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_244 = __objc_msgSend_244Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_failWithError_1 = _registerName1("failWithError:");
+  void _objc_msgSend_245(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> error,
+  ) {
+    return __objc_msgSend_245(
+      obj,
+      sel,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_245Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_245 = __objc_msgSend_245Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_decodingFailurePolicy1 =
+      _registerName1("decodingFailurePolicy");
+  int _objc_msgSend_246(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_246(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_246Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_246 = __objc_msgSend_246Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_error1 = _registerName1("error");
+  ffi.Pointer<ObjCObject> _objc_msgSend_247(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_247(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_247Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_247 = __objc_msgSend_247Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_decodeValueOfObjCType_at_1 =
+      _registerName1("decodeValueOfObjCType:at:");
+  late final _sel_substringFromIndex_1 = _registerName1("substringFromIndex:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_248(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int from,
+  ) {
+    return __objc_msgSend_248(
+      obj,
+      sel,
+      from,
+    );
+  }
+
+  late final __objc_msgSend_248Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_248 = __objc_msgSend_248Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_substringToIndex_1 = _registerName1("substringToIndex:");
+  late final _sel_substringWithRange_1 = _registerName1("substringWithRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_249(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_249(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_249Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_249 = __objc_msgSend_249Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_getCharacters_range_1 =
+      _registerName1("getCharacters:range:");
+  void _objc_msgSend_250(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<unichar> buffer,
+    NSRange range,
+  ) {
+    return __objc_msgSend_250(
+      obj,
+      sel,
+      buffer,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_250Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<unichar>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_250 = __objc_msgSend_250Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<unichar>, NSRange)>();
+
+  int _objc_msgSend_251(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+  ) {
+    return __objc_msgSend_251(
+      obj,
+      sel,
+      string,
+    );
+  }
+
+  late final __objc_msgSend_251Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_251 = __objc_msgSend_251Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_compare_options_1 = _registerName1("compare:options:");
+  int _objc_msgSend_252(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int mask,
+  ) {
+    return __objc_msgSend_252(
+      obj,
+      sel,
+      string,
+      mask,
+    );
+  }
+
+  late final __objc_msgSend_252Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_252 = __objc_msgSend_252Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_compare_options_range_1 =
+      _registerName1("compare:options:range:");
+  int _objc_msgSend_253(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int mask,
+    NSRange rangeOfReceiverToCompare,
+  ) {
+    return __objc_msgSend_253(
+      obj,
+      sel,
+      string,
+      mask,
+      rangeOfReceiverToCompare,
+    );
+  }
+
+  late final __objc_msgSend_253Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_253 = __objc_msgSend_253Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_compare_options_range_locale_1 =
+      _registerName1("compare:options:range:locale:");
+  int _objc_msgSend_254(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int mask,
+    NSRange rangeOfReceiverToCompare,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_254(
+      obj,
+      sel,
+      string,
+      mask,
+      rangeOfReceiverToCompare,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_254Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_254 = __objc_msgSend_254Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_caseInsensitiveCompare_1 =
+      _registerName1("caseInsensitiveCompare:");
+  late final _sel_localizedCompare_1 = _registerName1("localizedCompare:");
+  late final _sel_localizedCaseInsensitiveCompare_1 =
+      _registerName1("localizedCaseInsensitiveCompare:");
+  late final _sel_localizedStandardCompare_1 =
+      _registerName1("localizedStandardCompare:");
+  late final _sel_isEqualToString_1 = _registerName1("isEqualToString:");
+  late final _sel_hasPrefix_1 = _registerName1("hasPrefix:");
+  late final _sel_hasSuffix_1 = _registerName1("hasSuffix:");
+  late final _sel_commonPrefixWithString_options_1 =
+      _registerName1("commonPrefixWithString:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_255(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> str,
+    int mask,
+  ) {
+    return __objc_msgSend_255(
+      obj,
+      sel,
+      str,
+      mask,
+    );
+  }
+
+  late final __objc_msgSend_255Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_255 = __objc_msgSend_255Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_containsString_1 = _registerName1("containsString:");
+  late final _sel_localizedCaseInsensitiveContainsString_1 =
+      _registerName1("localizedCaseInsensitiveContainsString:");
+  late final _sel_localizedStandardContainsString_1 =
+      _registerName1("localizedStandardContainsString:");
+  late final _sel_localizedStandardRangeOfString_1 =
+      _registerName1("localizedStandardRangeOfString:");
+  NSRange _objc_msgSend_256(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> str,
+  ) {
+    return __objc_msgSend_256(
+      obj,
+      sel,
+      str,
+    );
+  }
+
+  late final __objc_msgSend_256Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_256 = __objc_msgSend_256Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_rangeOfString_1 = _registerName1("rangeOfString:");
+  late final _sel_rangeOfString_options_1 =
+      _registerName1("rangeOfString:options:");
+  NSRange _objc_msgSend_257(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> searchString,
+    int mask,
+  ) {
+    return __objc_msgSend_257(
+      obj,
+      sel,
+      searchString,
+      mask,
+    );
+  }
+
+  late final __objc_msgSend_257Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_257 = __objc_msgSend_257Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_rangeOfString_options_range_1 =
+      _registerName1("rangeOfString:options:range:");
+  NSRange _objc_msgSend_258(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> searchString,
+    int mask,
+    NSRange rangeOfReceiverToSearch,
+  ) {
+    return __objc_msgSend_258(
+      obj,
+      sel,
+      searchString,
+      mask,
+      rangeOfReceiverToSearch,
+    );
+  }
+
+  late final __objc_msgSend_258Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_258 = __objc_msgSend_258Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _class_NSLocale1 = _getClass1("NSLocale");
+  late final _sel_displayNameForKey_value_1 =
+      _registerName1("displayNameForKey:value:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_259(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSLocaleKey key,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_259(
+      obj,
+      sel,
+      key,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_259Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSLocaleKey,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_259 = __objc_msgSend_259Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSLocaleKey, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithLocaleIdentifier_1 =
+      _registerName1("initWithLocaleIdentifier:");
+  late final _sel_localeIdentifier1 = _registerName1("localeIdentifier");
+  late final _sel_localizedStringForLocaleIdentifier_1 =
+      _registerName1("localizedStringForLocaleIdentifier:");
+  late final _sel_languageCode1 = _registerName1("languageCode");
+  late final _sel_localizedStringForLanguageCode_1 =
+      _registerName1("localizedStringForLanguageCode:");
+  late final _sel_countryCode1 = _registerName1("countryCode");
+  late final _sel_localizedStringForCountryCode_1 =
+      _registerName1("localizedStringForCountryCode:");
+  late final _sel_scriptCode1 = _registerName1("scriptCode");
+  late final _sel_localizedStringForScriptCode_1 =
+      _registerName1("localizedStringForScriptCode:");
+  late final _sel_variantCode1 = _registerName1("variantCode");
+  late final _sel_localizedStringForVariantCode_1 =
+      _registerName1("localizedStringForVariantCode:");
+  late final _class_NSCharacterSet1 = _getClass1("NSCharacterSet");
+  late final _sel_controlCharacterSet1 = _registerName1("controlCharacterSet");
+  ffi.Pointer<ObjCObject> _objc_msgSend_260(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_260(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_260Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_260 = __objc_msgSend_260Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_whitespaceCharacterSet1 =
+      _registerName1("whitespaceCharacterSet");
+  late final _sel_whitespaceAndNewlineCharacterSet1 =
+      _registerName1("whitespaceAndNewlineCharacterSet");
+  late final _sel_decimalDigitCharacterSet1 =
+      _registerName1("decimalDigitCharacterSet");
+  late final _sel_letterCharacterSet1 = _registerName1("letterCharacterSet");
+  late final _sel_lowercaseLetterCharacterSet1 =
+      _registerName1("lowercaseLetterCharacterSet");
+  late final _sel_uppercaseLetterCharacterSet1 =
+      _registerName1("uppercaseLetterCharacterSet");
+  late final _sel_nonBaseCharacterSet1 = _registerName1("nonBaseCharacterSet");
+  late final _sel_alphanumericCharacterSet1 =
+      _registerName1("alphanumericCharacterSet");
+  late final _sel_decomposableCharacterSet1 =
+      _registerName1("decomposableCharacterSet");
+  late final _sel_illegalCharacterSet1 = _registerName1("illegalCharacterSet");
+  late final _sel_punctuationCharacterSet1 =
+      _registerName1("punctuationCharacterSet");
+  late final _sel_capitalizedLetterCharacterSet1 =
+      _registerName1("capitalizedLetterCharacterSet");
+  late final _sel_symbolCharacterSet1 = _registerName1("symbolCharacterSet");
+  late final _sel_newlineCharacterSet1 = _registerName1("newlineCharacterSet");
+  late final _sel_characterSetWithRange_1 =
+      _registerName1("characterSetWithRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_261(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange aRange,
+  ) {
+    return __objc_msgSend_261(
+      obj,
+      sel,
+      aRange,
+    );
+  }
+
+  late final __objc_msgSend_261Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_261 = __objc_msgSend_261Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_characterSetWithCharactersInString_1 =
+      _registerName1("characterSetWithCharactersInString:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_262(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aString,
+  ) {
+    return __objc_msgSend_262(
+      obj,
+      sel,
+      aString,
+    );
+  }
+
+  late final __objc_msgSend_262Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_262 = __objc_msgSend_262Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_characterSetWithBitmapRepresentation_1 =
+      _registerName1("characterSetWithBitmapRepresentation:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_263(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+  ) {
+    return __objc_msgSend_263(
+      obj,
+      sel,
+      data,
+    );
+  }
+
+  late final __objc_msgSend_263Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_263 = __objc_msgSend_263Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_characterSetWithContentsOfFile_1 =
+      _registerName1("characterSetWithContentsOfFile:");
+  late final _sel_characterIsMember_1 = _registerName1("characterIsMember:");
+  bool _objc_msgSend_264(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int aCharacter,
+  ) {
+    return __objc_msgSend_264(
+      obj,
+      sel,
+      aCharacter,
+    );
+  }
+
+  late final __objc_msgSend_264Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              unichar)>>('objc_msgSend');
+  late final __objc_msgSend_264 = __objc_msgSend_264Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_bitmapRepresentation1 =
+      _registerName1("bitmapRepresentation");
+  late final _sel_invertedSet1 = _registerName1("invertedSet");
+  late final _sel_longCharacterIsMember_1 =
+      _registerName1("longCharacterIsMember:");
+  bool _objc_msgSend_265(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int theLongChar,
+  ) {
+    return __objc_msgSend_265(
+      obj,
+      sel,
+      theLongChar,
+    );
+  }
+
+  late final __objc_msgSend_265Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              UTF32Char)>>('objc_msgSend');
+  late final __objc_msgSend_265 = __objc_msgSend_265Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_isSupersetOfSet_1 = _registerName1("isSupersetOfSet:");
+  bool _objc_msgSend_266(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> theOtherSet,
+  ) {
+    return __objc_msgSend_266(
+      obj,
+      sel,
+      theOtherSet,
+    );
+  }
+
+  late final __objc_msgSend_266Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_266 = __objc_msgSend_266Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_hasMemberInPlane_1 = _registerName1("hasMemberInPlane:");
+  bool _objc_msgSend_267(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int thePlane,
+  ) {
+    return __objc_msgSend_267(
+      obj,
+      sel,
+      thePlane,
+    );
+  }
+
+  late final __objc_msgSend_267Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Uint8)>>('objc_msgSend');
+  late final __objc_msgSend_267 = __objc_msgSend_267Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_URLUserAllowedCharacterSet1 =
+      _registerName1("URLUserAllowedCharacterSet");
+  late final _sel_URLPasswordAllowedCharacterSet1 =
+      _registerName1("URLPasswordAllowedCharacterSet");
+  late final _sel_URLHostAllowedCharacterSet1 =
+      _registerName1("URLHostAllowedCharacterSet");
+  late final _sel_URLPathAllowedCharacterSet1 =
+      _registerName1("URLPathAllowedCharacterSet");
+  late final _sel_URLQueryAllowedCharacterSet1 =
+      _registerName1("URLQueryAllowedCharacterSet");
+  late final _sel_URLFragmentAllowedCharacterSet1 =
+      _registerName1("URLFragmentAllowedCharacterSet");
+  late final _sel_exemplarCharacterSet1 =
+      _registerName1("exemplarCharacterSet");
+  late final _sel_calendarIdentifier1 = _registerName1("calendarIdentifier");
+  late final _sel_localizedStringForCalendarIdentifier_1 =
+      _registerName1("localizedStringForCalendarIdentifier:");
+  late final _sel_collationIdentifier1 = _registerName1("collationIdentifier");
+  late final _sel_localizedStringForCollationIdentifier_1 =
+      _registerName1("localizedStringForCollationIdentifier:");
+  late final _sel_usesMetricSystem1 = _registerName1("usesMetricSystem");
+  late final _sel_decimalSeparator1 = _registerName1("decimalSeparator");
+  late final _sel_groupingSeparator1 = _registerName1("groupingSeparator");
+  late final _sel_currencySymbol1 = _registerName1("currencySymbol");
+  late final _sel_currencyCode1 = _registerName1("currencyCode");
+  late final _sel_localizedStringForCurrencyCode_1 =
+      _registerName1("localizedStringForCurrencyCode:");
+  late final _sel_collatorIdentifier1 = _registerName1("collatorIdentifier");
+  late final _sel_localizedStringForCollatorIdentifier_1 =
+      _registerName1("localizedStringForCollatorIdentifier:");
+  late final _sel_quotationBeginDelimiter1 =
+      _registerName1("quotationBeginDelimiter");
+  late final _sel_quotationEndDelimiter1 =
+      _registerName1("quotationEndDelimiter");
+  late final _sel_alternateQuotationBeginDelimiter1 =
+      _registerName1("alternateQuotationBeginDelimiter");
+  late final _sel_alternateQuotationEndDelimiter1 =
+      _registerName1("alternateQuotationEndDelimiter");
+  late final _sel_autoupdatingCurrentLocale1 =
+      _registerName1("autoupdatingCurrentLocale");
+  ffi.Pointer<ObjCObject> _objc_msgSend_268(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_268(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_268Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_268 = __objc_msgSend_268Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_currentLocale1 = _registerName1("currentLocale");
+  late final _sel_systemLocale1 = _registerName1("systemLocale");
+  late final _sel_localeWithLocaleIdentifier_1 =
+      _registerName1("localeWithLocaleIdentifier:");
+  late final _sel_availableLocaleIdentifiers1 =
+      _registerName1("availableLocaleIdentifiers");
+  late final _sel_ISOLanguageCodes1 = _registerName1("ISOLanguageCodes");
+  late final _sel_ISOCountryCodes1 = _registerName1("ISOCountryCodes");
+  late final _sel_ISOCurrencyCodes1 = _registerName1("ISOCurrencyCodes");
+  late final _sel_commonISOCurrencyCodes1 =
+      _registerName1("commonISOCurrencyCodes");
+  late final _sel_preferredLanguages1 = _registerName1("preferredLanguages");
+  late final _sel_componentsFromLocaleIdentifier_1 =
+      _registerName1("componentsFromLocaleIdentifier:");
+  late final _sel_localeIdentifierFromComponents_1 =
+      _registerName1("localeIdentifierFromComponents:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_269(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> dict,
+  ) {
+    return __objc_msgSend_269(
+      obj,
+      sel,
+      dict,
+    );
+  }
+
+  late final __objc_msgSend_269Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_269 = __objc_msgSend_269Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_canonicalLocaleIdentifierFromString_1 =
+      _registerName1("canonicalLocaleIdentifierFromString:");
+  late final _sel_canonicalLanguageIdentifierFromString_1 =
+      _registerName1("canonicalLanguageIdentifierFromString:");
+  late final _sel_localeIdentifierFromWindowsLocaleCode_1 =
+      _registerName1("localeIdentifierFromWindowsLocaleCode:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_270(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int lcid,
+  ) {
+    return __objc_msgSend_270(
+      obj,
+      sel,
+      lcid,
+    );
+  }
+
+  late final __objc_msgSend_270Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Uint32)>>('objc_msgSend');
+  late final __objc_msgSend_270 = __objc_msgSend_270Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_windowsLocaleCodeFromLocaleIdentifier_1 =
+      _registerName1("windowsLocaleCodeFromLocaleIdentifier:");
+  int _objc_msgSend_271(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> localeIdentifier,
+  ) {
+    return __objc_msgSend_271(
+      obj,
+      sel,
+      localeIdentifier,
+    );
+  }
+
+  late final __objc_msgSend_271Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Uint32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_271 = __objc_msgSend_271Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_characterDirectionForLanguage_1 =
+      _registerName1("characterDirectionForLanguage:");
+  int _objc_msgSend_272(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> isoLangCode,
+  ) {
+    return __objc_msgSend_272(
+      obj,
+      sel,
+      isoLangCode,
+    );
+  }
+
+  late final __objc_msgSend_272Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_272 = __objc_msgSend_272Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_lineDirectionForLanguage_1 =
+      _registerName1("lineDirectionForLanguage:");
+  late final _sel_rangeOfString_options_range_locale_1 =
+      _registerName1("rangeOfString:options:range:locale:");
+  NSRange _objc_msgSend_273(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> searchString,
+    int mask,
+    NSRange rangeOfReceiverToSearch,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_273(
+      obj,
+      sel,
+      searchString,
+      mask,
+      rangeOfReceiverToSearch,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_273Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_273 = __objc_msgSend_273Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_rangeOfCharacterFromSet_1 =
+      _registerName1("rangeOfCharacterFromSet:");
+  NSRange _objc_msgSend_274(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> searchSet,
+  ) {
+    return __objc_msgSend_274(
+      obj,
+      sel,
+      searchSet,
+    );
+  }
+
+  late final __objc_msgSend_274Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_274 = __objc_msgSend_274Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_rangeOfCharacterFromSet_options_1 =
+      _registerName1("rangeOfCharacterFromSet:options:");
+  NSRange _objc_msgSend_275(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> searchSet,
+    int mask,
+  ) {
+    return __objc_msgSend_275(
+      obj,
+      sel,
+      searchSet,
+      mask,
+    );
+  }
+
+  late final __objc_msgSend_275Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_275 = __objc_msgSend_275Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_rangeOfCharacterFromSet_options_range_1 =
+      _registerName1("rangeOfCharacterFromSet:options:range:");
+  NSRange _objc_msgSend_276(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> searchSet,
+    int mask,
+    NSRange rangeOfReceiverToSearch,
+  ) {
+    return __objc_msgSend_276(
+      obj,
+      sel,
+      searchSet,
+      mask,
+      rangeOfReceiverToSearch,
+    );
+  }
+
+  late final __objc_msgSend_276Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_276 = __objc_msgSend_276Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_rangeOfComposedCharacterSequenceAtIndex_1 =
+      _registerName1("rangeOfComposedCharacterSequenceAtIndex:");
+  NSRange _objc_msgSend_277(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+  ) {
+    return __objc_msgSend_277(
+      obj,
+      sel,
+      index,
+    );
+  }
+
+  late final __objc_msgSend_277Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_277 = __objc_msgSend_277Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_rangeOfComposedCharacterSequencesForRange_1 =
+      _registerName1("rangeOfComposedCharacterSequencesForRange:");
+  NSRange _objc_msgSend_278(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_278(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_278Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_278 = __objc_msgSend_278Ptr.asFunction<
+      NSRange Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_stringByAppendingString_1 =
+      _registerName1("stringByAppendingString:");
+  late final _sel_stringByAppendingFormat_1 =
+      _registerName1("stringByAppendingFormat:");
+  late final _sel_uppercaseString1 = _registerName1("uppercaseString");
+  late final _sel_lowercaseString1 = _registerName1("lowercaseString");
+  late final _sel_capitalizedString1 = _registerName1("capitalizedString");
+  late final _sel_localizedUppercaseString1 =
+      _registerName1("localizedUppercaseString");
+  late final _sel_localizedLowercaseString1 =
+      _registerName1("localizedLowercaseString");
+  late final _sel_localizedCapitalizedString1 =
+      _registerName1("localizedCapitalizedString");
+  late final _sel_uppercaseStringWithLocale_1 =
+      _registerName1("uppercaseStringWithLocale:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_279(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_279(
+      obj,
+      sel,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_279Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_279 = __objc_msgSend_279Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_lowercaseStringWithLocale_1 =
+      _registerName1("lowercaseStringWithLocale:");
+  late final _sel_capitalizedStringWithLocale_1 =
+      _registerName1("capitalizedStringWithLocale:");
+  late final _sel_getLineStart_end_contentsEnd_forRange_1 =
+      _registerName1("getLineStart:end:contentsEnd:forRange:");
+  void _objc_msgSend_280(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSUInteger> startPtr,
+    ffi.Pointer<NSUInteger> lineEndPtr,
+    ffi.Pointer<NSUInteger> contentsEndPtr,
+    NSRange range,
+  ) {
+    return __objc_msgSend_280(
+      obj,
+      sel,
+      startPtr,
+      lineEndPtr,
+      contentsEndPtr,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_280Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSUInteger>,
+              ffi.Pointer<NSUInteger>,
+              ffi.Pointer<NSUInteger>,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_280 = __objc_msgSend_280Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSUInteger>,
+          ffi.Pointer<NSUInteger>,
+          ffi.Pointer<NSUInteger>,
+          NSRange)>();
+
+  late final _sel_lineRangeForRange_1 = _registerName1("lineRangeForRange:");
+  late final _sel_getParagraphStart_end_contentsEnd_forRange_1 =
+      _registerName1("getParagraphStart:end:contentsEnd:forRange:");
+  late final _sel_paragraphRangeForRange_1 =
+      _registerName1("paragraphRangeForRange:");
+  late final _sel_enumerateSubstringsInRange_options_usingBlock_1 =
+      _registerName1("enumerateSubstringsInRange:options:usingBlock:");
+  void _objc_msgSend_281(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_281(
+      obj,
+      sel,
+      range,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_281Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_281 = __objc_msgSend_281Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateLinesUsingBlock_1 =
+      _registerName1("enumerateLinesUsingBlock:");
+  void _objc_msgSend_282(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_282(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_282Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_282 = __objc_msgSend_282Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_UTF8String1 = _registerName1("UTF8String");
+  late final _sel_fastestEncoding1 = _registerName1("fastestEncoding");
+  late final _sel_smallestEncoding1 = _registerName1("smallestEncoding");
+  late final _sel_dataUsingEncoding_allowLossyConversion_1 =
+      _registerName1("dataUsingEncoding:allowLossyConversion:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_283(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int encoding,
+    bool lossy,
+  ) {
+    return __objc_msgSend_283(
+      obj,
+      sel,
+      encoding,
+      lossy,
+    );
+  }
+
+  late final __objc_msgSend_283Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSStringEncoding,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_283 = __objc_msgSend_283Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, bool)>();
+
+  late final _sel_dataUsingEncoding_1 = _registerName1("dataUsingEncoding:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_284(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int encoding,
+  ) {
+    return __objc_msgSend_284(
+      obj,
+      sel,
+      encoding,
+    );
+  }
+
+  late final __objc_msgSend_284Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSStringEncoding)>>('objc_msgSend');
+  late final __objc_msgSend_284 = __objc_msgSend_284Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_canBeConvertedToEncoding_1 =
+      _registerName1("canBeConvertedToEncoding:");
+  late final _sel_cStringUsingEncoding_1 =
+      _registerName1("cStringUsingEncoding:");
+  late final _sel_getCString_maxLength_encoding_1 =
+      _registerName1("getCString:maxLength:encoding:");
+  bool _objc_msgSend_285(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> buffer,
+    int maxBufferCount,
+    int encoding,
+  ) {
+    return __objc_msgSend_285(
+      obj,
+      sel,
+      buffer,
+      maxBufferCount,
+      encoding,
+    );
+  }
+
+  late final __objc_msgSend_285Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              NSUInteger,
+              NSStringEncoding)>>('objc_msgSend');
+  late final __objc_msgSend_285 = __objc_msgSend_285Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, int, int)>();
+
+  late final _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_1 =
+      _registerName1(
+          "getBytes:maxLength:usedLength:encoding:options:range:remainingRange:");
+  bool _objc_msgSend_286(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> buffer,
+    int maxBufferCount,
+    ffi.Pointer<NSUInteger> usedBufferCount,
+    int encoding,
+    int options,
+    NSRange range,
+    NSRangePointer leftover,
+  ) {
+    return __objc_msgSend_286(
+      obj,
+      sel,
+      buffer,
+      maxBufferCount,
+      usedBufferCount,
+      encoding,
+      options,
+      range,
+      leftover,
+    );
+  }
+
+  late final __objc_msgSend_286Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>,
+              NSUInteger,
+              ffi.Pointer<NSUInteger>,
+              NSStringEncoding,
+              ffi.Int32,
+              NSRange,
+              NSRangePointer)>>('objc_msgSend');
+  late final __objc_msgSend_286 = __objc_msgSend_286Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>,
+          int,
+          ffi.Pointer<NSUInteger>,
+          int,
+          int,
+          NSRange,
+          NSRangePointer)>();
+
+  late final _sel_maximumLengthOfBytesUsingEncoding_1 =
+      _registerName1("maximumLengthOfBytesUsingEncoding:");
+  late final _sel_lengthOfBytesUsingEncoding_1 =
+      _registerName1("lengthOfBytesUsingEncoding:");
+  late final _sel_availableStringEncodings1 =
+      _registerName1("availableStringEncodings");
+  ffi.Pointer<NSStringEncoding> _objc_msgSend_287(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_287(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_287Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<NSStringEncoding> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_287 = __objc_msgSend_287Ptr.asFunction<
+      ffi.Pointer<NSStringEncoding> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_localizedNameOfStringEncoding_1 =
+      _registerName1("localizedNameOfStringEncoding:");
+  late final _sel_defaultCStringEncoding1 =
+      _registerName1("defaultCStringEncoding");
+  late final _sel_decomposedStringWithCanonicalMapping1 =
+      _registerName1("decomposedStringWithCanonicalMapping");
+  late final _sel_precomposedStringWithCanonicalMapping1 =
+      _registerName1("precomposedStringWithCanonicalMapping");
+  late final _sel_decomposedStringWithCompatibilityMapping1 =
+      _registerName1("decomposedStringWithCompatibilityMapping");
+  late final _sel_precomposedStringWithCompatibilityMapping1 =
+      _registerName1("precomposedStringWithCompatibilityMapping");
+  late final _sel_componentsSeparatedByString_1 =
+      _registerName1("componentsSeparatedByString:");
+  late final _sel_componentsSeparatedByCharactersInSet_1 =
+      _registerName1("componentsSeparatedByCharactersInSet:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_288(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> separator,
+  ) {
+    return __objc_msgSend_288(
+      obj,
+      sel,
+      separator,
+    );
+  }
+
+  late final __objc_msgSend_288Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_288 = __objc_msgSend_288Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stringByTrimmingCharactersInSet_1 =
+      _registerName1("stringByTrimmingCharactersInSet:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_289(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> set1,
+  ) {
+    return __objc_msgSend_289(
+      obj,
+      sel,
+      set1,
+    );
+  }
+
+  late final __objc_msgSend_289Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_289 = __objc_msgSend_289Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stringByPaddingToLength_withString_startingAtIndex_1 =
+      _registerName1("stringByPaddingToLength:withString:startingAtIndex:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_290(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int newLength,
+    ffi.Pointer<ObjCObject> padString,
+    int padIndex,
+  ) {
+    return __objc_msgSend_290(
+      obj,
+      sel,
+      newLength,
+      padString,
+      padIndex,
+    );
+  }
+
+  late final __objc_msgSend_290Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_290 = __objc_msgSend_290Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_stringByFoldingWithOptions_locale_1 =
+      _registerName1("stringByFoldingWithOptions:locale:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_291(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_291(
+      obj,
+      sel,
+      options,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_291Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_291 = __objc_msgSend_291Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stringByReplacingOccurrencesOfString_withString_options_range_1 =
+      _registerName1(
+          "stringByReplacingOccurrencesOfString:withString:options:range:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_292(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> target,
+    ffi.Pointer<ObjCObject> replacement,
+    int options,
+    NSRange searchRange,
+  ) {
+    return __objc_msgSend_292(
+      obj,
+      sel,
+      target,
+      replacement,
+      options,
+      searchRange,
+    );
+  }
+
+  late final __objc_msgSend_292Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_292 = __objc_msgSend_292Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          NSRange)>();
+
+  late final _sel_stringByReplacingOccurrencesOfString_withString_1 =
+      _registerName1("stringByReplacingOccurrencesOfString:withString:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_293(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> target,
+    ffi.Pointer<ObjCObject> replacement,
+  ) {
+    return __objc_msgSend_293(
+      obj,
+      sel,
+      target,
+      replacement,
+    );
+  }
+
+  late final __objc_msgSend_293Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_293 = __objc_msgSend_293Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stringByReplacingCharactersInRange_withString_1 =
+      _registerName1("stringByReplacingCharactersInRange:withString:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_294(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> replacement,
+  ) {
+    return __objc_msgSend_294(
+      obj,
+      sel,
+      range,
+      replacement,
+    );
+  }
+
+  late final __objc_msgSend_294Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_294 = __objc_msgSend_294Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stringByApplyingTransform_reverse_1 =
+      _registerName1("stringByApplyingTransform:reverse:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_295(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSStringTransform transform,
+    bool reverse,
+  ) {
+    return __objc_msgSend_295(
+      obj,
+      sel,
+      transform,
+      reverse,
+    );
+  }
+
+  late final __objc_msgSend_295Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSStringTransform,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_295 = __objc_msgSend_295Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSStringTransform, bool)>();
+
+  late final _sel_writeToURL_atomically_encoding_error_1 =
+      _registerName1("writeToURL:atomically:encoding:error:");
+  bool _objc_msgSend_296(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    bool useAuxiliaryFile,
+    int enc,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_296(
+      obj,
+      sel,
+      url,
+      useAuxiliaryFile,
+      enc,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_296Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              NSStringEncoding,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_296 = __objc_msgSend_296Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_writeToFile_atomically_encoding_error_1 =
+      _registerName1("writeToFile:atomically:encoding:error:");
+  bool _objc_msgSend_297(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool useAuxiliaryFile,
+    int enc,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_297(
+      obj,
+      sel,
+      path,
+      useAuxiliaryFile,
+      enc,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_297Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              NSStringEncoding,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_297 = __objc_msgSend_297Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_hash1 = _registerName1("hash");
+  late final _sel_initWithCharactersNoCopy_length_freeWhenDone_1 =
+      _registerName1("initWithCharactersNoCopy:length:freeWhenDone:");
+  instancetype _objc_msgSend_298(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<unichar> characters,
+    int length,
+    bool freeBuffer,
+  ) {
+    return __objc_msgSend_298(
+      obj,
+      sel,
+      characters,
+      length,
+      freeBuffer,
+    );
+  }
+
+  late final __objc_msgSend_298Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<unichar>, NSUInteger, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_298 = __objc_msgSend_298Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<unichar>, int, bool)>();
+
+  late final _sel_initWithCharactersNoCopy_length_deallocator_1 =
+      _registerName1("initWithCharactersNoCopy:length:deallocator:");
+  instancetype _objc_msgSend_299(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<unichar> chars,
+    int len,
+    ffi.Pointer<_ObjCBlock> deallocator,
+  ) {
+    return __objc_msgSend_299(
+      obj,
+      sel,
+      chars,
+      len,
+      deallocator,
+    );
+  }
+
+  late final __objc_msgSend_299Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<unichar>,
+              NSUInteger,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_299 = __objc_msgSend_299Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<unichar>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_initWithCharacters_length_1 =
+      _registerName1("initWithCharacters:length:");
+  instancetype _objc_msgSend_300(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<unichar> characters,
+    int length,
+  ) {
+    return __objc_msgSend_300(
+      obj,
+      sel,
+      characters,
+      length,
+    );
+  }
+
+  late final __objc_msgSend_300Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<unichar>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_300 = __objc_msgSend_300Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<unichar>, int)>();
+
+  late final _sel_initWithUTF8String_1 = _registerName1("initWithUTF8String:");
+  instancetype _objc_msgSend_301(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> nullTerminatedCString,
+  ) {
+    return __objc_msgSend_301(
+      obj,
+      sel,
+      nullTerminatedCString,
+    );
+  }
+
+  late final __objc_msgSend_301Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>)>>('objc_msgSend');
+  late final __objc_msgSend_301 = __objc_msgSend_301Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>)>();
+
+  late final _sel_initWithFormat_1 = _registerName1("initWithFormat:");
+  late final _sel_initWithFormat_arguments_1 =
+      _registerName1("initWithFormat:arguments:");
+  instancetype _objc_msgSend_302(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<__va_list_tag> argList,
+  ) {
+    return __objc_msgSend_302(
+      obj,
+      sel,
+      format,
+      argList,
+    );
+  }
+
+  late final __objc_msgSend_302Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<__va_list_tag>)>>('objc_msgSend');
+  late final __objc_msgSend_302 = __objc_msgSend_302Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<__va_list_tag>)>();
+
+  late final _sel_initWithFormat_locale_1 =
+      _registerName1("initWithFormat:locale:");
+  instancetype _objc_msgSend_303(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_303(
+      obj,
+      sel,
+      format,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_303Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_303 = __objc_msgSend_303Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithFormat_locale_arguments_1 =
+      _registerName1("initWithFormat:locale:arguments:");
+  instancetype _objc_msgSend_304(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<ObjCObject> locale,
+    ffi.Pointer<__va_list_tag> argList,
+  ) {
+    return __objc_msgSend_304(
+      obj,
+      sel,
+      format,
+      locale,
+      argList,
+    );
+  }
+
+  late final __objc_msgSend_304Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<__va_list_tag>)>>('objc_msgSend');
+  late final __objc_msgSend_304 = __objc_msgSend_304Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  late final _sel_initWithValidatedFormat_validFormatSpecifiers_error_1 =
+      _registerName1("initWithValidatedFormat:validFormatSpecifiers:error:");
+  instancetype _objc_msgSend_305(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<ObjCObject> validFormatSpecifiers,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_305(
+      obj,
+      sel,
+      format,
+      validFormatSpecifiers,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_305Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_305 = __objc_msgSend_305Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_1 =
+      _registerName1(
+          "initWithValidatedFormat:validFormatSpecifiers:locale:error:");
+  instancetype _objc_msgSend_306(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<ObjCObject> validFormatSpecifiers,
+    ffi.Pointer<ObjCObject> locale,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_306(
+      obj,
+      sel,
+      format,
+      validFormatSpecifiers,
+      locale,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_306Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_306 = __objc_msgSend_306Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_1 =
+      _registerName1(
+          "initWithValidatedFormat:validFormatSpecifiers:arguments:error:");
+  instancetype _objc_msgSend_307(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<ObjCObject> validFormatSpecifiers,
+    ffi.Pointer<__va_list_tag> argList,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_307(
+      obj,
+      sel,
+      format,
+      validFormatSpecifiers,
+      argList,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_307Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<__va_list_tag>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_307 = __objc_msgSend_307Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<__va_list_tag>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_1 =
+      _registerName1(
+          "initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:");
+  instancetype _objc_msgSend_308(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<ObjCObject> validFormatSpecifiers,
+    ffi.Pointer<ObjCObject> locale,
+    ffi.Pointer<__va_list_tag> argList,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_308(
+      obj,
+      sel,
+      format,
+      validFormatSpecifiers,
+      locale,
+      argList,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_308Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<__va_list_tag>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_308 = __objc_msgSend_308Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<__va_list_tag>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithData_encoding_1 =
+      _registerName1("initWithData:encoding:");
+  instancetype _objc_msgSend_309(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+    int encoding,
+  ) {
+    return __objc_msgSend_309(
+      obj,
+      sel,
+      data,
+      encoding,
+    );
+  }
+
+  late final __objc_msgSend_309Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSStringEncoding)>>('objc_msgSend');
+  late final __objc_msgSend_309 = __objc_msgSend_309Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_initWithBytes_length_encoding_1 =
+      _registerName1("initWithBytes:length:encoding:");
+  instancetype _objc_msgSend_310(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> bytes,
+    int len,
+    int encoding,
+  ) {
+    return __objc_msgSend_310(
+      obj,
+      sel,
+      bytes,
+      len,
+      encoding,
+    );
+  }
+
+  late final __objc_msgSend_310Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>,
+              NSUInteger,
+              NSStringEncoding)>>('objc_msgSend');
+  late final __objc_msgSend_310 = __objc_msgSend_310Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int, int)>();
+
+  late final _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_1 =
+      _registerName1("initWithBytesNoCopy:length:encoding:freeWhenDone:");
+  instancetype _objc_msgSend_311(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> bytes,
+    int len,
+    int encoding,
+    bool freeBuffer,
+  ) {
+    return __objc_msgSend_311(
+      obj,
+      sel,
+      bytes,
+      len,
+      encoding,
+      freeBuffer,
+    );
+  }
+
+  late final __objc_msgSend_311Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>,
+              NSUInteger,
+              NSStringEncoding,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_311 = __objc_msgSend_311Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int, int, bool)>();
+
+  late final _sel_initWithBytesNoCopy_length_encoding_deallocator_1 =
+      _registerName1("initWithBytesNoCopy:length:encoding:deallocator:");
+  instancetype _objc_msgSend_312(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> bytes,
+    int len,
+    int encoding,
+    ffi.Pointer<_ObjCBlock> deallocator,
+  ) {
+    return __objc_msgSend_312(
+      obj,
+      sel,
+      bytes,
+      len,
+      encoding,
+      deallocator,
+    );
+  }
+
+  late final __objc_msgSend_312Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>,
+              NSUInteger,
+              NSStringEncoding,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_312 = __objc_msgSend_312Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_string1 = _registerName1("string");
+  late final _sel_stringWithString_1 = _registerName1("stringWithString:");
+  late final _sel_stringWithCharacters_length_1 =
+      _registerName1("stringWithCharacters:length:");
+  late final _sel_stringWithUTF8String_1 =
+      _registerName1("stringWithUTF8String:");
+  late final _sel_stringWithFormat_1 = _registerName1("stringWithFormat:");
+  late final _sel_localizedStringWithFormat_1 =
+      _registerName1("localizedStringWithFormat:");
+  late final _sel_stringWithValidatedFormat_validFormatSpecifiers_error_1 =
+      _registerName1("stringWithValidatedFormat:validFormatSpecifiers:error:");
+  late final _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1 =
+      _registerName1(
+          "localizedStringWithValidatedFormat:validFormatSpecifiers:error:");
+  late final _sel_initWithCString_encoding_1 =
+      _registerName1("initWithCString:encoding:");
+  instancetype _objc_msgSend_313(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> nullTerminatedCString,
+    int encoding,
+  ) {
+    return __objc_msgSend_313(
+      obj,
+      sel,
+      nullTerminatedCString,
+      encoding,
+    );
+  }
+
+  late final __objc_msgSend_313Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>, NSStringEncoding)>>('objc_msgSend');
+  late final __objc_msgSend_313 = __objc_msgSend_313Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, int)>();
+
+  late final _sel_stringWithCString_encoding_1 =
+      _registerName1("stringWithCString:encoding:");
+  late final _sel_initWithContentsOfURL_encoding_error_1 =
+      _registerName1("initWithContentsOfURL:encoding:error:");
+  instancetype _objc_msgSend_314(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    int enc,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_314(
+      obj,
+      sel,
+      url,
+      enc,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_314Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSStringEncoding,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_314 = __objc_msgSend_314Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithContentsOfFile_encoding_error_1 =
+      _registerName1("initWithContentsOfFile:encoding:error:");
+  instancetype _objc_msgSend_315(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    int enc,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_315(
+      obj,
+      sel,
+      path,
+      enc,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_315Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSStringEncoding,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_315 = __objc_msgSend_315Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_stringWithContentsOfURL_encoding_error_1 =
+      _registerName1("stringWithContentsOfURL:encoding:error:");
+  late final _sel_stringWithContentsOfFile_encoding_error_1 =
+      _registerName1("stringWithContentsOfFile:encoding:error:");
+  late final _sel_initWithContentsOfURL_usedEncoding_error_1 =
+      _registerName1("initWithContentsOfURL:usedEncoding:error:");
+  instancetype _objc_msgSend_316(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<NSStringEncoding> enc,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_316(
+      obj,
+      sel,
+      url,
+      enc,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_316Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<NSStringEncoding>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_316 = __objc_msgSend_316Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<NSStringEncoding>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithContentsOfFile_usedEncoding_error_1 =
+      _registerName1("initWithContentsOfFile:usedEncoding:error:");
+  instancetype _objc_msgSend_317(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<NSStringEncoding> enc,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_317(
+      obj,
+      sel,
+      path,
+      enc,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_317Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<NSStringEncoding>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_317 = __objc_msgSend_317Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<NSStringEncoding>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_stringWithContentsOfURL_usedEncoding_error_1 =
+      _registerName1("stringWithContentsOfURL:usedEncoding:error:");
+  late final _sel_stringWithContentsOfFile_usedEncoding_error_1 =
+      _registerName1("stringWithContentsOfFile:usedEncoding:error:");
+  late final _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1 =
+      _registerName1(
+          "stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:");
+  int _objc_msgSend_318(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+    ffi.Pointer<ObjCObject> opts,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> string,
+    ffi.Pointer<ffi.Bool> usedLossyConversion,
+  ) {
+    return __objc_msgSend_318(
+      obj,
+      sel,
+      data,
+      opts,
+      string,
+      usedLossyConversion,
+    );
+  }
+
+  late final __objc_msgSend_318Ptr = _lookup<
+      ffi.NativeFunction<
+          NSStringEncoding Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Bool>)>>('objc_msgSend');
+  late final __objc_msgSend_318 = __objc_msgSend_318Ptr.asFunction<
+      int Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Bool>)>();
+
+  late final _sel_propertyList1 = _registerName1("propertyList");
+  late final _sel_propertyListFromStringsFileFormat1 =
+      _registerName1("propertyListFromStringsFileFormat");
+  ffi.Pointer<ObjCObject> _objc_msgSend_319(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_319(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_319Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_319 = __objc_msgSend_319Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_cString1 = _registerName1("cString");
+  late final _sel_lossyCString1 = _registerName1("lossyCString");
+  late final _sel_cStringLength1 = _registerName1("cStringLength");
+  late final _sel_getCString_1 = _registerName1("getCString:");
+  late final _sel_getCString_maxLength_1 =
+      _registerName1("getCString:maxLength:");
+  void _objc_msgSend_320(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> bytes,
+    int maxLength,
+  ) {
+    return __objc_msgSend_320(
+      obj,
+      sel,
+      bytes,
+      maxLength,
+    );
+  }
+
+  late final __objc_msgSend_320Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_320 = __objc_msgSend_320Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, int)>();
+
+  late final _sel_getCString_maxLength_range_remainingRange_1 =
+      _registerName1("getCString:maxLength:range:remainingRange:");
+  void _objc_msgSend_321(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> bytes,
+    int maxLength,
+    NSRange aRange,
+    NSRangePointer leftoverRange,
+  ) {
+    return __objc_msgSend_321(
+      obj,
+      sel,
+      bytes,
+      maxLength,
+      aRange,
+      leftoverRange,
+    );
+  }
+
+  late final __objc_msgSend_321Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              NSUInteger,
+              NSRange,
+              NSRangePointer)>>('objc_msgSend');
+  late final __objc_msgSend_321 = __objc_msgSend_321Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Char>, int, NSRange, NSRangePointer)>();
+
+  late final _sel_stringWithContentsOfFile_1 =
+      _registerName1("stringWithContentsOfFile:");
+  late final _sel_stringWithContentsOfURL_1 =
+      _registerName1("stringWithContentsOfURL:");
+  late final _sel_initWithCStringNoCopy_length_freeWhenDone_1 =
+      _registerName1("initWithCStringNoCopy:length:freeWhenDone:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_322(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> bytes,
+    int length,
+    bool freeBuffer,
+  ) {
+    return __objc_msgSend_322(
+      obj,
+      sel,
+      bytes,
+      length,
+      freeBuffer,
+    );
+  }
+
+  late final __objc_msgSend_322Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              NSUInteger,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_322 = __objc_msgSend_322Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Char>, int, bool)>();
+
+  late final _sel_initWithCString_length_1 =
+      _registerName1("initWithCString:length:");
+  late final _sel_initWithCString_1 = _registerName1("initWithCString:");
+  late final _sel_stringWithCString_length_1 =
+      _registerName1("stringWithCString:length:");
+  late final _sel_stringWithCString_1 = _registerName1("stringWithCString:");
+  late final _sel_getCharacters_1 = _registerName1("getCharacters:");
+  void _objc_msgSend_323(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<unichar> buffer,
+  ) {
+    return __objc_msgSend_323(
+      obj,
+      sel,
+      buffer,
+    );
+  }
+
+  late final __objc_msgSend_323Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<unichar>)>>('objc_msgSend');
+  late final __objc_msgSend_323 = __objc_msgSend_323Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<unichar>)>();
+
+  late final _sel_variantFittingPresentationWidth_1 =
+      _registerName1("variantFittingPresentationWidth:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_324(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int width,
+  ) {
+    return __objc_msgSend_324(
+      obj,
+      sel,
+      width,
+    );
+  }
+
+  late final __objc_msgSend_324Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_324 = __objc_msgSend_324Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_pathWithComponents_1 = _registerName1("pathWithComponents:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_325(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> components,
+  ) {
+    return __objc_msgSend_325(
+      obj,
+      sel,
+      components,
+    );
+  }
+
+  late final __objc_msgSend_325Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_325 = __objc_msgSend_325Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isAbsolutePath1 = _registerName1("isAbsolutePath");
+  late final _sel_stringByDeletingLastPathComponent1 =
+      _registerName1("stringByDeletingLastPathComponent");
+  late final _sel_stringByAppendingPathComponent_1 =
+      _registerName1("stringByAppendingPathComponent:");
+  late final _sel_stringByDeletingPathExtension1 =
+      _registerName1("stringByDeletingPathExtension");
+  late final _sel_stringByAppendingPathExtension_1 =
+      _registerName1("stringByAppendingPathExtension:");
+  late final _sel_stringByAbbreviatingWithTildeInPath1 =
+      _registerName1("stringByAbbreviatingWithTildeInPath");
+  late final _sel_stringByExpandingTildeInPath1 =
+      _registerName1("stringByExpandingTildeInPath");
+  late final _sel_stringByStandardizingPath1 =
+      _registerName1("stringByStandardizingPath");
+  late final _sel_stringByResolvingSymlinksInPath1 =
+      _registerName1("stringByResolvingSymlinksInPath");
+  late final _sel_stringsByAppendingPaths_1 =
+      _registerName1("stringsByAppendingPaths:");
+  late final _sel_completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_1 =
+      _registerName1(
+          "completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:");
+  int _objc_msgSend_326(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> outputName,
+    bool flag,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> outputArray,
+    ffi.Pointer<ObjCObject> filterTypes,
+  ) {
+    return __objc_msgSend_326(
+      obj,
+      sel,
+      outputName,
+      flag,
+      outputArray,
+      filterTypes,
+    );
+  }
+
+  late final __objc_msgSend_326Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Bool,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_326 = __objc_msgSend_326Ptr.asFunction<
+      int Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          bool,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stringByAddingPercentEncodingWithAllowedCharacters_1 =
+      _registerName1("stringByAddingPercentEncodingWithAllowedCharacters:");
+  late final _sel_stringByRemovingPercentEncoding1 =
+      _registerName1("stringByRemovingPercentEncoding");
+  late final _sel_stringByAddingPercentEscapesUsingEncoding_1 =
+      _registerName1("stringByAddingPercentEscapesUsingEncoding:");
+  late final _sel_stringByReplacingPercentEscapesUsingEncoding_1 =
+      _registerName1("stringByReplacingPercentEscapesUsingEncoding:");
+  late final _class_NSOrthography1 = _getClass1("NSOrthography");
+  late final _sel_dominantScript1 = _registerName1("dominantScript");
+  late final _sel_languageMap1 = _registerName1("languageMap");
+  late final _sel_initWithDominantScript_languageMap_1 =
+      _registerName1("initWithDominantScript:languageMap:");
+  instancetype _objc_msgSend_327(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> script,
+    ffi.Pointer<ObjCObject> map,
+  ) {
+    return __objc_msgSend_327(
+      obj,
+      sel,
+      script,
+      map,
+    );
+  }
+
+  late final __objc_msgSend_327Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_327 = __objc_msgSend_327Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_languagesForScript_1 = _registerName1("languagesForScript:");
+  late final _sel_dominantLanguageForScript_1 =
+      _registerName1("dominantLanguageForScript:");
+  late final _sel_dominantLanguage1 = _registerName1("dominantLanguage");
+  late final _sel_allScripts1 = _registerName1("allScripts");
+  late final _sel_allLanguages1 = _registerName1("allLanguages");
+  late final _sel_defaultOrthographyForLanguage_1 =
+      _registerName1("defaultOrthographyForLanguage:");
+  late final _sel_orthographyWithDominantScript_languageMap_1 =
+      _registerName1("orthographyWithDominantScript:languageMap:");
+  late final _sel_linguisticTagsInRange_scheme_options_orthography_tokenRanges_1 =
+      _registerName1(
+          "linguisticTagsInRange:scheme:options:orthography:tokenRanges:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_328(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    NSLinguisticTagScheme scheme,
+    int options,
+    ffi.Pointer<ObjCObject> orthography,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> tokenRanges,
+  ) {
+    return __objc_msgSend_328(
+      obj,
+      sel,
+      range,
+      scheme,
+      options,
+      orthography,
+      tokenRanges,
+    );
+  }
+
+  late final __objc_msgSend_328Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              NSLinguisticTagScheme,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_328 = __objc_msgSend_328Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSRange,
+          NSLinguisticTagScheme,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_enumerateLinguisticTagsInRange_scheme_options_orthography_usingBlock_1 =
+      _registerName1(
+          "enumerateLinguisticTagsInRange:scheme:options:orthography:usingBlock:");
+  void _objc_msgSend_329(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    NSLinguisticTagScheme scheme,
+    int options,
+    ffi.Pointer<ObjCObject> orthography,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_329(
+      obj,
+      sel,
+      range,
+      scheme,
+      options,
+      orthography,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_329Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              NSLinguisticTagScheme,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_329 = __objc_msgSend_329Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSRange,
+          NSLinguisticTagScheme,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_anyObject1 = _registerName1("anyObject");
+  late final _sel_intersectsSet_1 = _registerName1("intersectsSet:");
+  bool _objc_msgSend_330(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherSet,
+  ) {
+    return __objc_msgSend_330(
+      obj,
+      sel,
+      otherSet,
+    );
+  }
+
+  late final __objc_msgSend_330Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_330 = __objc_msgSend_330Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isEqualToSet_1 = _registerName1("isEqualToSet:");
+  late final _sel_isSubsetOfSet_1 = _registerName1("isSubsetOfSet:");
+  late final _sel_setByAddingObject_1 = _registerName1("setByAddingObject:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_331(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+  ) {
+    return __objc_msgSend_331(
+      obj,
+      sel,
+      anObject,
+    );
+  }
+
+  late final __objc_msgSend_331Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_331 = __objc_msgSend_331Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setByAddingObjectsFromSet_1 =
+      _registerName1("setByAddingObjectsFromSet:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_332(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_332(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_332Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_332 = __objc_msgSend_332Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setByAddingObjectsFromArray_1 =
+      _registerName1("setByAddingObjectsFromArray:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_333(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_333(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_333Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_333 = __objc_msgSend_333Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  void _objc_msgSend_334(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_334(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_334Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_334 = __objc_msgSend_334Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  void _objc_msgSend_335(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_335(
+      obj,
+      sel,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_335Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_335 = __objc_msgSend_335Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_objectsPassingTest_1 = _registerName1("objectsPassingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_336(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_336(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_336Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_336 = __objc_msgSend_336Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_objectsWithOptions_passingTest_1 =
+      _registerName1("objectsWithOptions:passingTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_337(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    ffi.Pointer<_ObjCBlock> predicate,
+  ) {
+    return __objc_msgSend_337(
+      obj,
+      sel,
+      opts,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_337Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_337 = __objc_msgSend_337Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_set1 = _registerName1("set");
+  late final _sel_setWithObject_1 = _registerName1("setWithObject:");
+  late final _sel_setWithObjects_count_1 =
+      _registerName1("setWithObjects:count:");
+  late final _sel_setWithObjects_1 = _registerName1("setWithObjects:");
+  late final _sel_setWithSet_1 = _registerName1("setWithSet:");
+  instancetype _objc_msgSend_338(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> set1,
+  ) {
+    return __objc_msgSend_338(
+      obj,
+      sel,
+      set1,
+    );
+  }
+
+  late final __objc_msgSend_338Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_338 = __objc_msgSend_338Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setWithArray_1 = _registerName1("setWithArray:");
+  late final _sel_initWithSet_1 = _registerName1("initWithSet:");
+  late final _sel_initWithSet_copyItems_1 =
+      _registerName1("initWithSet:copyItems:");
+  instancetype _objc_msgSend_339(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> set1,
+    bool flag,
+  ) {
+    return __objc_msgSend_339(
+      obj,
+      sel,
+      set1,
+      flag,
+    );
+  }
+
+  late final __objc_msgSend_339Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_339 = __objc_msgSend_339Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_filteredSetUsingPredicate_1 =
+      _registerName1("filteredSetUsingPredicate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_340(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> predicate,
+  ) {
+    return __objc_msgSend_340(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_340Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_340 = __objc_msgSend_340Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_invocationWithMethodSignature_1 =
+      _registerName1("invocationWithMethodSignature:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_341(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> sig,
+  ) {
+    return __objc_msgSend_341(
+      obj,
+      sel,
+      sig,
+    );
+  }
+
+  late final __objc_msgSend_341Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_341 = __objc_msgSend_341Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_methodSignature1 = _registerName1("methodSignature");
+  ffi.Pointer<ObjCObject> _objc_msgSend_342(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_342(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_342Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_342 = __objc_msgSend_342Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_retainArguments1 = _registerName1("retainArguments");
+  late final _sel_argumentsRetained1 = _registerName1("argumentsRetained");
+  late final _sel_target1 = _registerName1("target");
+  late final _sel_setTarget_1 = _registerName1("setTarget:");
+  void _objc_msgSend_343(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_343(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_343Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_343 = __objc_msgSend_343Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_selector1 = _registerName1("selector");
+  ffi.Pointer<ObjCSel> _objc_msgSend_344(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_344(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_344Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCSel> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_344 = __objc_msgSend_344Ptr.asFunction<
+      ffi.Pointer<ObjCSel> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setSelector_1 = _registerName1("setSelector:");
+  void _objc_msgSend_345(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> value,
+  ) {
+    return __objc_msgSend_345(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_345Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_345 = __objc_msgSend_345Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_getReturnValue_1 = _registerName1("getReturnValue:");
+  late final _sel_setReturnValue_1 = _registerName1("setReturnValue:");
+  late final _sel_getArgument_atIndex_1 =
+      _registerName1("getArgument:atIndex:");
+  void _objc_msgSend_346(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> argumentLocation,
+    int idx,
+  ) {
+    return __objc_msgSend_346(
+      obj,
+      sel,
+      argumentLocation,
+      idx,
+    );
+  }
+
+  late final __objc_msgSend_346Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>, NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_346 = __objc_msgSend_346Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>, int)>();
+
+  late final _sel_setArgument_atIndex_1 =
+      _registerName1("setArgument:atIndex:");
+  late final _sel_invoke1 = _registerName1("invoke");
+  late final _sel_invokeWithTarget_1 = _registerName1("invokeWithTarget:");
+  late final _sel_invokeUsingIMP_1 = _registerName1("invokeUsingIMP:");
+  void _objc_msgSend_347(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    IMP imp,
+  ) {
+    return __objc_msgSend_347(
+      obj,
+      sel,
+      imp,
+    );
+  }
+
+  late final __objc_msgSend_347Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              IMP)>>('objc_msgSend');
+  late final __objc_msgSend_347 = __objc_msgSend_347Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, IMP)>();
+
+  late final _sel_forwardInvocation_1 = _registerName1("forwardInvocation:");
+  void _objc_msgSend_348(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anInvocation,
+  ) {
+    return __objc_msgSend_348(
+      obj,
+      sel,
+      anInvocation,
+    );
+  }
+
+  late final __objc_msgSend_348Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_348 = __objc_msgSend_348Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_methodSignatureForSelector_1 =
+      _registerName1("methodSignatureForSelector:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_349(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+  ) {
+    return __objc_msgSend_349(
+      obj,
+      sel,
+      aSelector,
+    );
+  }
+
+  late final __objc_msgSend_349Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_349 = __objc_msgSend_349Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_instanceMethodSignatureForSelector_1 =
+      _registerName1("instanceMethodSignatureForSelector:");
+  late final _sel_allowsWeakReference1 = _registerName1("allowsWeakReference");
+  late final _sel_retainWeakReference1 = _registerName1("retainWeakReference");
+  late final _sel_isSubclassOfClass_1 = _registerName1("isSubclassOfClass:");
+  late final _sel_resolveClassMethod_1 = _registerName1("resolveClassMethod:");
+  late final _sel_resolveInstanceMethod_1 =
+      _registerName1("resolveInstanceMethod:");
+  late final _sel_superclass1 = _registerName1("superclass");
+  late final _sel_class1 = _registerName1("class");
+  late final _sel_debugDescription1 = _registerName1("debugDescription");
+  late final _sel_version1 = _registerName1("version");
+  late final _sel_setVersion_1 = _registerName1("setVersion:");
+  void _objc_msgSend_350(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int aVersion,
+  ) {
+    return __objc_msgSend_350(
+      obj,
+      sel,
+      aVersion,
+    );
+  }
+
+  late final __objc_msgSend_350Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_350 = __objc_msgSend_350Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_classForCoder1 = _registerName1("classForCoder");
+  late final _sel_replacementObjectForCoder_1 =
+      _registerName1("replacementObjectForCoder:");
+  late final _sel_awakeAfterUsingCoder_1 =
+      _registerName1("awakeAfterUsingCoder:");
+  late final _sel_autoContentAccessingProxy1 =
+      _registerName1("autoContentAccessingProxy");
+  late final _sel_attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_1 =
+      _registerName1(
+          "attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:");
+  void _objc_msgSend_351(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> error,
+    int recoveryOptionIndex,
+    ffi.Pointer<ObjCObject> delegate,
+    ffi.Pointer<ObjCSel> didRecoverSelector,
+    ffi.Pointer<ffi.Void> contextInfo,
+  ) {
+    return __objc_msgSend_351(
+      obj,
+      sel,
+      error,
+      recoveryOptionIndex,
+      delegate,
+      didRecoverSelector,
+      contextInfo,
+    );
+  }
+
+  late final __objc_msgSend_351Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_351 = __objc_msgSend_351Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_attemptRecoveryFromError_optionIndex_1 =
+      _registerName1("attemptRecoveryFromError:optionIndex:");
+  bool _objc_msgSend_352(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> error,
+    int recoveryOptionIndex,
+  ) {
+    return __objc_msgSend_352(
+      obj,
+      sel,
+      error,
+      recoveryOptionIndex,
+    );
+  }
+
+  late final __objc_msgSend_352Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_352 = __objc_msgSend_352Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_performSelector_withObject_afterDelay_inModes_1 =
+      _registerName1("performSelector:withObject:afterDelay:inModes:");
+  void _objc_msgSend_353(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> anArgument,
+    double delay,
+    ffi.Pointer<ObjCObject> modes,
+  ) {
+    return __objc_msgSend_353(
+      obj,
+      sel,
+      aSelector,
+      anArgument,
+      delay,
+      modes,
+    );
+  }
+
+  late final __objc_msgSend_353Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSTimeInterval,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_353 = __objc_msgSend_353Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          double,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_performSelector_withObject_afterDelay_1 =
+      _registerName1("performSelector:withObject:afterDelay:");
+  void _objc_msgSend_354(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> anArgument,
+    double delay,
+  ) {
+    return __objc_msgSend_354(
+      obj,
+      sel,
+      aSelector,
+      anArgument,
+      delay,
+    );
+  }
+
+  late final __objc_msgSend_354Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSTimeInterval)>>('objc_msgSend');
+  late final __objc_msgSend_354 = __objc_msgSend_354Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, double)>();
+
+  late final _class_NSFileManager1 = _getClass1("NSFileManager");
+  late final _sel_defaultManager1 = _registerName1("defaultManager");
+  ffi.Pointer<ObjCObject> _objc_msgSend_355(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_355(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_355Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_355 = __objc_msgSend_355Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_mountedVolumeURLsIncludingResourceValuesForKeys_options_1 =
+      _registerName1(
+          "mountedVolumeURLsIncludingResourceValuesForKeys:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_356(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> propertyKeys,
+    int options,
+  ) {
+    return __objc_msgSend_356(
+      obj,
+      sel,
+      propertyKeys,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_356Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_356 = __objc_msgSend_356Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_unmountVolumeAtURL_options_completionHandler_1 =
+      _registerName1("unmountVolumeAtURL:options:completionHandler:");
+  void _objc_msgSend_357(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    int mask,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_357(
+      obj,
+      sel,
+      url,
+      mask,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_357Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_357 = __objc_msgSend_357Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_contentsOfDirectoryAtURL_includingPropertiesForKeys_options_error_1 =
+      _registerName1(
+          "contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_358(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ObjCObject> keys,
+    int mask,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_358(
+      obj,
+      sel,
+      url,
+      keys,
+      mask,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_358Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_358 = __objc_msgSend_358Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_URLsForDirectory_inDomains_1 =
+      _registerName1("URLsForDirectory:inDomains:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_359(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int directory,
+    int domainMask,
+  ) {
+    return __objc_msgSend_359(
+      obj,
+      sel,
+      directory,
+      domainMask,
+    );
+  }
+
+  late final __objc_msgSend_359Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_359 = __objc_msgSend_359Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int)>();
+
+  late final _sel_URLForDirectory_inDomain_appropriateForURL_create_error_1 =
+      _registerName1(
+          "URLForDirectory:inDomain:appropriateForURL:create:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_360(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int directory,
+    int domain,
+    ffi.Pointer<ObjCObject> url,
+    bool shouldCreate,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_360(
+      obj,
+      sel,
+      directory,
+      domain,
+      url,
+      shouldCreate,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_360Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_360 = __objc_msgSend_360Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          int,
+          int,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_getRelationship_ofDirectoryAtURL_toItemAtURL_error_1 =
+      _registerName1("getRelationship:ofDirectoryAtURL:toItemAtURL:error:");
+  bool _objc_msgSend_361(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Int32> outRelationship,
+    ffi.Pointer<ObjCObject> directoryURL,
+    ffi.Pointer<ObjCObject> otherURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_361(
+      obj,
+      sel,
+      outRelationship,
+      directoryURL,
+      otherURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_361Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_361 = __objc_msgSend_361Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Int32>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_getRelationship_ofDirectory_inDomain_toItemAtURL_error_1 =
+      _registerName1("getRelationship:ofDirectory:inDomain:toItemAtURL:error:");
+  bool _objc_msgSend_362(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Int32> outRelationship,
+    int directory,
+    int domainMask,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_362(
+      obj,
+      sel,
+      outRelationship,
+      directory,
+      domainMask,
+      url,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_362Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Int32>,
+              ffi.Int32,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_362 = __objc_msgSend_362Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Int32>,
+          int,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_createDirectoryAtURL_withIntermediateDirectories_attributes_error_1 =
+      _registerName1(
+          "createDirectoryAtURL:withIntermediateDirectories:attributes:error:");
+  bool _objc_msgSend_363(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    bool createIntermediates,
+    ffi.Pointer<ObjCObject> attributes,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_363(
+      obj,
+      sel,
+      url,
+      createIntermediates,
+      attributes,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_363Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_363 = __objc_msgSend_363Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_createSymbolicLinkAtURL_withDestinationURL_error_1 =
+      _registerName1("createSymbolicLinkAtURL:withDestinationURL:error:");
+  bool _objc_msgSend_364(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ObjCObject> destURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_364(
+      obj,
+      sel,
+      url,
+      destURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_364Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_364 = __objc_msgSend_364Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_delegate1 = _registerName1("delegate");
+  late final _sel_setDelegate_1 = _registerName1("setDelegate:");
+  late final _sel_setAttributes_ofItemAtPath_error_1 =
+      _registerName1("setAttributes:ofItemAtPath:error:");
+  bool _objc_msgSend_365(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> attributes,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_365(
+      obj,
+      sel,
+      attributes,
+      path,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_365Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_365 = __objc_msgSend_365Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_createDirectoryAtPath_withIntermediateDirectories_attributes_error_1 =
+      _registerName1(
+          "createDirectoryAtPath:withIntermediateDirectories:attributes:error:");
+  bool _objc_msgSend_366(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool createIntermediates,
+    ffi.Pointer<ObjCObject> attributes,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_366(
+      obj,
+      sel,
+      path,
+      createIntermediates,
+      attributes,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_366Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_366 = __objc_msgSend_366Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_contentsOfDirectoryAtPath_error_1 =
+      _registerName1("contentsOfDirectoryAtPath:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_367(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_367(
+      obj,
+      sel,
+      path,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_367Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_367 = __objc_msgSend_367Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_subpathsOfDirectoryAtPath_error_1 =
+      _registerName1("subpathsOfDirectoryAtPath:error:");
+  late final _sel_attributesOfItemAtPath_error_1 =
+      _registerName1("attributesOfItemAtPath:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_368(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_368(
+      obj,
+      sel,
+      path,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_368Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_368 = __objc_msgSend_368Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_attributesOfFileSystemForPath_error_1 =
+      _registerName1("attributesOfFileSystemForPath:error:");
+  late final _sel_createSymbolicLinkAtPath_withDestinationPath_error_1 =
+      _registerName1("createSymbolicLinkAtPath:withDestinationPath:error:");
+  bool _objc_msgSend_369(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ObjCObject> destPath,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_369(
+      obj,
+      sel,
+      path,
+      destPath,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_369Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_369 = __objc_msgSend_369Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_destinationOfSymbolicLinkAtPath_error_1 =
+      _registerName1("destinationOfSymbolicLinkAtPath:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_370(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_370(
+      obj,
+      sel,
+      path,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_370Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_370 = __objc_msgSend_370Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_copyItemAtPath_toPath_error_1 =
+      _registerName1("copyItemAtPath:toPath:error:");
+  late final _sel_moveItemAtPath_toPath_error_1 =
+      _registerName1("moveItemAtPath:toPath:error:");
+  late final _sel_linkItemAtPath_toPath_error_1 =
+      _registerName1("linkItemAtPath:toPath:error:");
+  late final _sel_removeItemAtPath_error_1 =
+      _registerName1("removeItemAtPath:error:");
+  bool _objc_msgSend_371(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_371(
+      obj,
+      sel,
+      path,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_371Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_371 = __objc_msgSend_371Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_copyItemAtURL_toURL_error_1 =
+      _registerName1("copyItemAtURL:toURL:error:");
+  late final _sel_moveItemAtURL_toURL_error_1 =
+      _registerName1("moveItemAtURL:toURL:error:");
+  late final _sel_linkItemAtURL_toURL_error_1 =
+      _registerName1("linkItemAtURL:toURL:error:");
+  late final _sel_removeItemAtURL_error_1 =
+      _registerName1("removeItemAtURL:error:");
+  late final _sel_trashItemAtURL_resultingItemURL_error_1 =
+      _registerName1("trashItemAtURL:resultingItemURL:error:");
+  bool _objc_msgSend_372(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> outResultingURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_372(
+      obj,
+      sel,
+      url,
+      outResultingURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_372Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_372 = __objc_msgSend_372Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_fileAttributesAtPath_traverseLink_1 =
+      _registerName1("fileAttributesAtPath:traverseLink:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_373(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    bool yorn,
+  ) {
+    return __objc_msgSend_373(
+      obj,
+      sel,
+      path,
+      yorn,
+    );
+  }
+
+  late final __objc_msgSend_373Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_373 = __objc_msgSend_373Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_changeFileAttributes_atPath_1 =
+      _registerName1("changeFileAttributes:atPath:");
+  bool _objc_msgSend_374(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> attributes,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_374(
+      obj,
+      sel,
+      attributes,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_374Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_374 = __objc_msgSend_374Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_directoryContentsAtPath_1 =
+      _registerName1("directoryContentsAtPath:");
+  late final _sel_fileSystemAttributesAtPath_1 =
+      _registerName1("fileSystemAttributesAtPath:");
+  late final _sel_pathContentOfSymbolicLinkAtPath_1 =
+      _registerName1("pathContentOfSymbolicLinkAtPath:");
+  late final _sel_createSymbolicLinkAtPath_pathContent_1 =
+      _registerName1("createSymbolicLinkAtPath:pathContent:");
+  bool _objc_msgSend_375(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ObjCObject> otherpath,
+  ) {
+    return __objc_msgSend_375(
+      obj,
+      sel,
+      path,
+      otherpath,
+    );
+  }
+
+  late final __objc_msgSend_375Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_375 = __objc_msgSend_375Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_createDirectoryAtPath_attributes_1 =
+      _registerName1("createDirectoryAtPath:attributes:");
+  bool _objc_msgSend_376(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ObjCObject> attributes,
+  ) {
+    return __objc_msgSend_376(
+      obj,
+      sel,
+      path,
+      attributes,
+    );
+  }
+
+  late final __objc_msgSend_376Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_376 = __objc_msgSend_376Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_currentDirectoryPath1 =
+      _registerName1("currentDirectoryPath");
+  late final _sel_changeCurrentDirectoryPath_1 =
+      _registerName1("changeCurrentDirectoryPath:");
+  late final _sel_fileExistsAtPath_1 = _registerName1("fileExistsAtPath:");
+  late final _sel_fileExistsAtPath_isDirectory_1 =
+      _registerName1("fileExistsAtPath:isDirectory:");
+  bool _objc_msgSend_377(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ffi.Bool> isDirectory,
+  ) {
+    return __objc_msgSend_377(
+      obj,
+      sel,
+      path,
+      isDirectory,
+    );
+  }
+
+  late final __objc_msgSend_377Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Bool>)>>('objc_msgSend');
+  late final __objc_msgSend_377 = __objc_msgSend_377Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Bool>)>();
+
+  late final _sel_isReadableFileAtPath_1 =
+      _registerName1("isReadableFileAtPath:");
+  late final _sel_isWritableFileAtPath_1 =
+      _registerName1("isWritableFileAtPath:");
+  late final _sel_isExecutableFileAtPath_1 =
+      _registerName1("isExecutableFileAtPath:");
+  late final _sel_isDeletableFileAtPath_1 =
+      _registerName1("isDeletableFileAtPath:");
+  late final _sel_contentsEqualAtPath_andPath_1 =
+      _registerName1("contentsEqualAtPath:andPath:");
+  late final _sel_displayNameAtPath_1 = _registerName1("displayNameAtPath:");
+  late final _sel_componentsToDisplayForPath_1 =
+      _registerName1("componentsToDisplayForPath:");
+  late final _sel_enumeratorAtPath_1 = _registerName1("enumeratorAtPath:");
+  late final _sel_enumeratorAtURL_includingPropertiesForKeys_options_errorHandler_1 =
+      _registerName1(
+          "enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_378(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ObjCObject> keys,
+    int mask,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return __objc_msgSend_378(
+      obj,
+      sel,
+      url,
+      keys,
+      mask,
+      handler,
+    );
+  }
+
+  late final __objc_msgSend_378Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_378 = __objc_msgSend_378Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_subpathsAtPath_1 = _registerName1("subpathsAtPath:");
+  late final _sel_contentsAtPath_1 = _registerName1("contentsAtPath:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_379(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_379(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_379Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_379 = __objc_msgSend_379Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_createFileAtPath_contents_attributes_1 =
+      _registerName1("createFileAtPath:contents:attributes:");
+  bool _objc_msgSend_380(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+    ffi.Pointer<ObjCObject> data,
+    ffi.Pointer<ObjCObject> attr,
+  ) {
+    return __objc_msgSend_380(
+      obj,
+      sel,
+      path,
+      data,
+      attr,
+    );
+  }
+
+  late final __objc_msgSend_380Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_380 = __objc_msgSend_380Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_fileSystemRepresentationWithPath_1 =
+      _registerName1("fileSystemRepresentationWithPath:");
+  ffi.Pointer<ffi.Char> _objc_msgSend_381(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_381(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_381Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_381 = __objc_msgSend_381Ptr.asFunction<
+      ffi.Pointer<ffi.Char> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stringWithFileSystemRepresentation_length_1 =
+      _registerName1("stringWithFileSystemRepresentation:length:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_382(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Char> str,
+    int len,
+  ) {
+    return __objc_msgSend_382(
+      obj,
+      sel,
+      str,
+      len,
+    );
+  }
+
+  late final __objc_msgSend_382Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Char>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_382 = __objc_msgSend_382Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Char>, int)>();
+
+  late final _sel_replaceItemAtURL_withItemAtURL_backupItemName_options_resultingItemURL_error_1 =
+      _registerName1(
+          "replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:");
+  bool _objc_msgSend_383(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> originalItemURL,
+    ffi.Pointer<ObjCObject> newItemURL,
+    ffi.Pointer<ObjCObject> backupItemName,
+    int options,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> resultingURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_383(
+      obj,
+      sel,
+      originalItemURL,
+      newItemURL,
+      backupItemName,
+      options,
+      resultingURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_383Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_383 = __objc_msgSend_383Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_setUbiquitous_itemAtURL_destinationURL_error_1 =
+      _registerName1("setUbiquitous:itemAtURL:destinationURL:error:");
+  bool _objc_msgSend_384(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    bool flag,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ObjCObject> destinationURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_384(
+      obj,
+      sel,
+      flag,
+      url,
+      destinationURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_384Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_384 = __objc_msgSend_384Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          bool,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_isUbiquitousItemAtURL_1 =
+      _registerName1("isUbiquitousItemAtURL:");
+  bool _objc_msgSend_385(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_385(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_385Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_385 = __objc_msgSend_385Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_startDownloadingUbiquitousItemAtURL_error_1 =
+      _registerName1("startDownloadingUbiquitousItemAtURL:error:");
+  late final _sel_evictUbiquitousItemAtURL_error_1 =
+      _registerName1("evictUbiquitousItemAtURL:error:");
+  late final _sel_URLForUbiquityContainerIdentifier_1 =
+      _registerName1("URLForUbiquityContainerIdentifier:");
+  late final _sel_URLForPublishingUbiquitousItemAtURL_expirationDate_error_1 =
+      _registerName1(
+          "URLForPublishingUbiquitousItemAtURL:expirationDate:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_386(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> outDate,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_386(
+      obj,
+      sel,
+      url,
+      outDate,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_386Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_386 = __objc_msgSend_386Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_ubiquityIdentityToken1 =
+      _registerName1("ubiquityIdentityToken");
+  late final _sel_getFileProviderServicesForItemAtURL_completionHandler_1 =
+      _registerName1("getFileProviderServicesForItemAtURL:completionHandler:");
+  void _objc_msgSend_387(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_387(
+      obj,
+      sel,
+      url,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_387Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_387 = __objc_msgSend_387Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_containerURLForSecurityApplicationGroupIdentifier_1 =
+      _registerName1("containerURLForSecurityApplicationGroupIdentifier:");
+  late final _sel_homeDirectoryForCurrentUser1 =
+      _registerName1("homeDirectoryForCurrentUser");
+  late final _sel_temporaryDirectory1 = _registerName1("temporaryDirectory");
+  late final _sel_homeDirectoryForUser_1 =
+      _registerName1("homeDirectoryForUser:");
+  late final _sel_fileManager_shouldProceedAfterError_1 =
+      _registerName1("fileManager:shouldProceedAfterError:");
+  bool _objc_msgSend_388(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> fm,
+    ffi.Pointer<ObjCObject> errorInfo,
+  ) {
+    return __objc_msgSend_388(
+      obj,
+      sel,
+      fm,
+      errorInfo,
+    );
+  }
+
+  late final __objc_msgSend_388Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_388 = __objc_msgSend_388Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_fileManager_willProcessPath_1 =
+      _registerName1("fileManager:willProcessPath:");
+  void _objc_msgSend_389(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> fm,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_389(
+      obj,
+      sel,
+      fm,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_389Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_389 = __objc_msgSend_389Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_validateValue_forKey_error_1 =
+      _registerName1("validateValue:forKey:error:");
+  late final _class_NSMutableArray1 = _getClass1("NSMutableArray");
+  late final _sel_addObject_1 = _registerName1("addObject:");
+  late final _sel_insertObject_atIndex_1 =
+      _registerName1("insertObject:atIndex:");
+  void _objc_msgSend_390(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+    int index,
+  ) {
+    return __objc_msgSend_390(
+      obj,
+      sel,
+      anObject,
+      index,
+    );
+  }
+
+  late final __objc_msgSend_390Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_390 = __objc_msgSend_390Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_removeLastObject1 = _registerName1("removeLastObject");
+  late final _sel_removeObjectAtIndex_1 =
+      _registerName1("removeObjectAtIndex:");
+  void _objc_msgSend_391(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+  ) {
+    return __objc_msgSend_391(
+      obj,
+      sel,
+      index,
+    );
+  }
+
+  late final __objc_msgSend_391Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_391 = __objc_msgSend_391Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_replaceObjectAtIndex_withObject_1 =
+      _registerName1("replaceObjectAtIndex:withObject:");
+  void _objc_msgSend_392(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+    ffi.Pointer<ObjCObject> anObject,
+  ) {
+    return __objc_msgSend_392(
+      obj,
+      sel,
+      index,
+      anObject,
+    );
+  }
+
+  late final __objc_msgSend_392Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_392 = __objc_msgSend_392Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithCapacity_1 = _registerName1("initWithCapacity:");
+  late final _sel_addObjectsFromArray_1 =
+      _registerName1("addObjectsFromArray:");
+  void _objc_msgSend_393(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherArray,
+  ) {
+    return __objc_msgSend_393(
+      obj,
+      sel,
+      otherArray,
+    );
+  }
+
+  late final __objc_msgSend_393Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_393 = __objc_msgSend_393Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_exchangeObjectAtIndex_withObjectAtIndex_1 =
+      _registerName1("exchangeObjectAtIndex:withObjectAtIndex:");
+  void _objc_msgSend_394(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int idx1,
+    int idx2,
+  ) {
+    return __objc_msgSend_394(
+      obj,
+      sel,
+      idx1,
+      idx2,
+    );
+  }
+
+  late final __objc_msgSend_394Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_394 = __objc_msgSend_394Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int)>();
+
+  late final _sel_removeAllObjects1 = _registerName1("removeAllObjects");
+  late final _sel_removeObject_inRange_1 =
+      _registerName1("removeObject:inRange:");
+  void _objc_msgSend_395(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+    NSRange range,
+  ) {
+    return __objc_msgSend_395(
+      obj,
+      sel,
+      anObject,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_395Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_395 = __objc_msgSend_395Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRange)>();
+
+  late final _sel_removeObject_1 = _registerName1("removeObject:");
+  late final _sel_removeObjectIdenticalTo_inRange_1 =
+      _registerName1("removeObjectIdenticalTo:inRange:");
+  late final _sel_removeObjectIdenticalTo_1 =
+      _registerName1("removeObjectIdenticalTo:");
+  late final _sel_removeObjectsFromIndices_numIndices_1 =
+      _registerName1("removeObjectsFromIndices:numIndices:");
+  void _objc_msgSend_396(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSUInteger> indices,
+    int cnt,
+  ) {
+    return __objc_msgSend_396(
+      obj,
+      sel,
+      indices,
+      cnt,
+    );
+  }
+
+  late final __objc_msgSend_396Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSUInteger>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_396 = __objc_msgSend_396Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSUInteger>, int)>();
+
+  late final _sel_removeObjectsInArray_1 =
+      _registerName1("removeObjectsInArray:");
+  late final _sel_removeObjectsInRange_1 =
+      _registerName1("removeObjectsInRange:");
+  void _objc_msgSend_397(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_397(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_397Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_397 = __objc_msgSend_397Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_replaceObjectsInRange_withObjectsFromArray_range_1 =
+      _registerName1("replaceObjectsInRange:withObjectsFromArray:range:");
+  void _objc_msgSend_398(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> otherArray,
+    NSRange otherRange,
+  ) {
+    return __objc_msgSend_398(
+      obj,
+      sel,
+      range,
+      otherArray,
+      otherRange,
+    );
+  }
+
+  late final __objc_msgSend_398Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Pointer<ObjCObject>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_398 = __objc_msgSend_398Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange,
+          ffi.Pointer<ObjCObject>, NSRange)>();
+
+  late final _sel_replaceObjectsInRange_withObjectsFromArray_1 =
+      _registerName1("replaceObjectsInRange:withObjectsFromArray:");
+  void _objc_msgSend_399(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> otherArray,
+  ) {
+    return __objc_msgSend_399(
+      obj,
+      sel,
+      range,
+      otherArray,
+    );
+  }
+
+  late final __objc_msgSend_399Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_399 = __objc_msgSend_399Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setArray_1 = _registerName1("setArray:");
+  late final _sel_sortUsingFunction_context_1 =
+      _registerName1("sortUsingFunction:context:");
+  void _objc_msgSend_400(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                NSInteger Function(ffi.Pointer<ObjCObject>,
+                    ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>
+        compare,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return __objc_msgSend_400(
+      obj,
+      sel,
+      compare,
+      context,
+    );
+  }
+
+  late final __objc_msgSend_400Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      NSInteger Function(ffi.Pointer<ObjCObject>,
+                          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_400 = __objc_msgSend_400Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  NSInteger Function(ffi.Pointer<ObjCObject>,
+                      ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_sortUsingSelector_1 = _registerName1("sortUsingSelector:");
+  late final _sel_insertObjects_atIndexes_1 =
+      _registerName1("insertObjects:atIndexes:");
+  void _objc_msgSend_401(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> objects,
+    ffi.Pointer<ObjCObject> indexes,
+  ) {
+    return __objc_msgSend_401(
+      obj,
+      sel,
+      objects,
+      indexes,
+    );
+  }
+
+  late final __objc_msgSend_401Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_401 = __objc_msgSend_401Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_removeObjectsAtIndexes_1 =
+      _registerName1("removeObjectsAtIndexes:");
+  void _objc_msgSend_402(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> indexes,
+  ) {
+    return __objc_msgSend_402(
+      obj,
+      sel,
+      indexes,
+    );
+  }
+
+  late final __objc_msgSend_402Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_402 = __objc_msgSend_402Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_replaceObjectsAtIndexes_withObjects_1 =
+      _registerName1("replaceObjectsAtIndexes:withObjects:");
+  void _objc_msgSend_403(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> indexes,
+    ffi.Pointer<ObjCObject> objects,
+  ) {
+    return __objc_msgSend_403(
+      obj,
+      sel,
+      indexes,
+      objects,
+    );
+  }
+
+  late final __objc_msgSend_403Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_403 = __objc_msgSend_403Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setObject_atIndexedSubscript_1 =
+      _registerName1("setObject:atIndexedSubscript:");
+  late final _sel_sortUsingComparator_1 =
+      _registerName1("sortUsingComparator:");
+  void _objc_msgSend_404(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSComparator cmptr,
+  ) {
+    return __objc_msgSend_404(
+      obj,
+      sel,
+      cmptr,
+    );
+  }
+
+  late final __objc_msgSend_404Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSComparator)>>('objc_msgSend');
+  late final __objc_msgSend_404 = __objc_msgSend_404Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSComparator)>();
+
+  late final _sel_sortWithOptions_usingComparator_1 =
+      _registerName1("sortWithOptions:usingComparator:");
+  void _objc_msgSend_405(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int opts,
+    NSComparator cmptr,
+  ) {
+    return __objc_msgSend_405(
+      obj,
+      sel,
+      opts,
+      cmptr,
+    );
+  }
+
+  late final __objc_msgSend_405Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, NSComparator)>>('objc_msgSend');
+  late final __objc_msgSend_405 = __objc_msgSend_405Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, NSComparator)>();
+
+  late final _sel_arrayWithCapacity_1 = _registerName1("arrayWithCapacity:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_406(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_406(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_406Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_406 = __objc_msgSend_406Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> _objc_msgSend_407(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_407(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_407Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_407 = __objc_msgSend_407Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_applyDifference_1 = _registerName1("applyDifference:");
+  late final _sel_sortUsingDescriptors_1 =
+      _registerName1("sortUsingDescriptors:");
+  late final _sel_filterUsingPredicate_1 =
+      _registerName1("filterUsingPredicate:");
+  void _objc_msgSend_408(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> predicate,
+  ) {
+    return __objc_msgSend_408(
+      obj,
+      sel,
+      predicate,
+    );
+  }
+
+  late final __objc_msgSend_408Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_408 = __objc_msgSend_408Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_mutableArrayValueForKey_1 =
+      _registerName1("mutableArrayValueForKey:");
+  late final _class_NSMutableOrderedSet1 = _getClass1("NSMutableOrderedSet");
+  late final _class_NSOrderedSet1 = _getClass1("NSOrderedSet");
+  late final _sel_isEqualToOrderedSet_1 =
+      _registerName1("isEqualToOrderedSet:");
+  bool _objc_msgSend_409(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_409(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_409Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_409 = __objc_msgSend_409Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_intersectsOrderedSet_1 =
+      _registerName1("intersectsOrderedSet:");
+  late final _sel_isSubsetOfOrderedSet_1 =
+      _registerName1("isSubsetOfOrderedSet:");
+  late final _sel_reversedOrderedSet1 = _registerName1("reversedOrderedSet");
+  ffi.Pointer<ObjCObject> _objc_msgSend_410(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_410(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_410Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_410 = __objc_msgSend_410Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_orderedSet1 = _registerName1("orderedSet");
+  late final _sel_orderedSetWithObject_1 =
+      _registerName1("orderedSetWithObject:");
+  late final _sel_orderedSetWithObjects_count_1 =
+      _registerName1("orderedSetWithObjects:count:");
+  late final _sel_orderedSetWithObjects_1 =
+      _registerName1("orderedSetWithObjects:");
+  late final _sel_orderedSetWithOrderedSet_1 =
+      _registerName1("orderedSetWithOrderedSet:");
+  instancetype _objc_msgSend_411(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> set1,
+  ) {
+    return __objc_msgSend_411(
+      obj,
+      sel,
+      set1,
+    );
+  }
+
+  late final __objc_msgSend_411Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_411 = __objc_msgSend_411Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_orderedSetWithOrderedSet_range_copyItems_1 =
+      _registerName1("orderedSetWithOrderedSet:range:copyItems:");
+  instancetype _objc_msgSend_412(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> set1,
+    NSRange range,
+    bool flag,
+  ) {
+    return __objc_msgSend_412(
+      obj,
+      sel,
+      set1,
+      range,
+      flag,
+    );
+  }
+
+  late final __objc_msgSend_412Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRange, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_412 = __objc_msgSend_412Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRange, bool)>();
+
+  late final _sel_orderedSetWithArray_1 =
+      _registerName1("orderedSetWithArray:");
+  late final _sel_orderedSetWithArray_range_copyItems_1 =
+      _registerName1("orderedSetWithArray:range:copyItems:");
+  instancetype _objc_msgSend_413(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> array,
+    NSRange range,
+    bool flag,
+  ) {
+    return __objc_msgSend_413(
+      obj,
+      sel,
+      array,
+      range,
+      flag,
+    );
+  }
+
+  late final __objc_msgSend_413Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRange, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_413 = __objc_msgSend_413Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRange, bool)>();
+
+  late final _sel_orderedSetWithSet_1 = _registerName1("orderedSetWithSet:");
+  late final _sel_orderedSetWithSet_copyItems_1 =
+      _registerName1("orderedSetWithSet:copyItems:");
+  late final _sel_initWithObject_1 = _registerName1("initWithObject:");
+  late final _sel_initWithOrderedSet_1 = _registerName1("initWithOrderedSet:");
+  late final _sel_initWithOrderedSet_copyItems_1 =
+      _registerName1("initWithOrderedSet:copyItems:");
+  instancetype _objc_msgSend_414(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> set1,
+    bool flag,
+  ) {
+    return __objc_msgSend_414(
+      obj,
+      sel,
+      set1,
+      flag,
+    );
+  }
+
+  late final __objc_msgSend_414Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_414 = __objc_msgSend_414Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_initWithOrderedSet_range_copyItems_1 =
+      _registerName1("initWithOrderedSet:range:copyItems:");
+  late final _sel_initWithArray_range_copyItems_1 =
+      _registerName1("initWithArray:range:copyItems:");
+  late final _sel_differenceFromOrderedSet_withOptions_usingEquivalenceTest_1 =
+      _registerName1(
+          "differenceFromOrderedSet:withOptions:usingEquivalenceTest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_415(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+    int options,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_415(
+      obj,
+      sel,
+      other,
+      options,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_415Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_415 = __objc_msgSend_415Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_differenceFromOrderedSet_withOptions_1 =
+      _registerName1("differenceFromOrderedSet:withOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_416(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+    int options,
+  ) {
+    return __objc_msgSend_416(
+      obj,
+      sel,
+      other,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_416Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_416 = __objc_msgSend_416Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_differenceFromOrderedSet_1 =
+      _registerName1("differenceFromOrderedSet:");
+  late final _sel_orderedSetByApplyingDifference_1 =
+      _registerName1("orderedSetByApplyingDifference:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_417(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> difference,
+  ) {
+    return __objc_msgSend_417(
+      obj,
+      sel,
+      difference,
+    );
+  }
+
+  late final __objc_msgSend_417Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_417 = __objc_msgSend_417Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_filteredOrderedSetUsingPredicate_1 =
+      _registerName1("filteredOrderedSetUsingPredicate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_418(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> p,
+  ) {
+    return __objc_msgSend_418(
+      obj,
+      sel,
+      p,
+    );
+  }
+
+  late final __objc_msgSend_418Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_418 = __objc_msgSend_418Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_addObjects_count_1 = _registerName1("addObjects:count:");
+  void _objc_msgSend_419(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+    int count,
+  ) {
+    return __objc_msgSend_419(
+      obj,
+      sel,
+      objects,
+      count,
+    );
+  }
+
+  late final __objc_msgSend_419Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_419 = __objc_msgSend_419Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>, int)>();
+
+  late final _sel_moveObjectsAtIndexes_toIndex_1 =
+      _registerName1("moveObjectsAtIndexes:toIndex:");
+  void _objc_msgSend_420(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> indexes,
+    int idx,
+  ) {
+    return __objc_msgSend_420(
+      obj,
+      sel,
+      indexes,
+      idx,
+    );
+  }
+
+  late final __objc_msgSend_420Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_420 = __objc_msgSend_420Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_setObject_atIndex_1 = _registerName1("setObject:atIndex:");
+  late final _sel_replaceObjectsInRange_withObjects_count_1 =
+      _registerName1("replaceObjectsInRange:withObjects:count:");
+  void _objc_msgSend_421(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+    int count,
+  ) {
+    return __objc_msgSend_421(
+      obj,
+      sel,
+      range,
+      objects,
+      count,
+    );
+  }
+
+  late final __objc_msgSend_421Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_421 = __objc_msgSend_421Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>, int)>();
+
+  late final _sel_intersectOrderedSet_1 =
+      _registerName1("intersectOrderedSet:");
+  void _objc_msgSend_422(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_422(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_422Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_422 = __objc_msgSend_422Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_minusOrderedSet_1 = _registerName1("minusOrderedSet:");
+  late final _sel_unionOrderedSet_1 = _registerName1("unionOrderedSet:");
+  late final _sel_intersectSet_1 = _registerName1("intersectSet:");
+  void _objc_msgSend_423(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_423(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_423Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_423 = __objc_msgSend_423Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_minusSet_1 = _registerName1("minusSet:");
+  late final _sel_unionSet_1 = _registerName1("unionSet:");
+  late final _sel_sortRange_options_usingComparator_1 =
+      _registerName1("sortRange:options:usingComparator:");
+  void _objc_msgSend_424(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    int opts,
+    NSComparator cmptr,
+  ) {
+    return __objc_msgSend_424(
+      obj,
+      sel,
+      range,
+      opts,
+      cmptr,
+    );
+  }
+
+  late final __objc_msgSend_424Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Int32, NSComparator)>>('objc_msgSend');
+  late final __objc_msgSend_424 = __objc_msgSend_424Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange, int,
+          NSComparator)>();
+
+  late final _sel_orderedSetWithCapacity_1 =
+      _registerName1("orderedSetWithCapacity:");
+  late final _sel_mutableOrderedSetValueForKey_1 =
+      _registerName1("mutableOrderedSetValueForKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_425(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_425(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_425Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_425 = __objc_msgSend_425Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSMutableSet1 = _getClass1("NSMutableSet");
+  late final _sel_setSet_1 = _registerName1("setSet:");
+  late final _sel_setWithCapacity_1 = _registerName1("setWithCapacity:");
+  late final _sel_mutableSetValueForKey_1 =
+      _registerName1("mutableSetValueForKey:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_426(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_426(
+      obj,
+      sel,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_426Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_426 = __objc_msgSend_426Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_valueForKeyPath_1 = _registerName1("valueForKeyPath:");
+  late final _sel_setValue_forKeyPath_1 =
+      _registerName1("setValue:forKeyPath:");
+  late final _sel_validateValue_forKeyPath_error_1 =
+      _registerName1("validateValue:forKeyPath:error:");
+  late final _sel_mutableArrayValueForKeyPath_1 =
+      _registerName1("mutableArrayValueForKeyPath:");
+  late final _sel_mutableOrderedSetValueForKeyPath_1 =
+      _registerName1("mutableOrderedSetValueForKeyPath:");
+  late final _sel_mutableSetValueForKeyPath_1 =
+      _registerName1("mutableSetValueForKeyPath:");
+  late final _sel_valueForUndefinedKey_1 =
+      _registerName1("valueForUndefinedKey:");
+  late final _sel_setValue_forUndefinedKey_1 =
+      _registerName1("setValue:forUndefinedKey:");
+  late final _sel_setNilValueForKey_1 = _registerName1("setNilValueForKey:");
+  late final _sel_dictionaryWithValuesForKeys_1 =
+      _registerName1("dictionaryWithValuesForKeys:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_427(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keys,
+  ) {
+    return __objc_msgSend_427(
+      obj,
+      sel,
+      keys,
+    );
+  }
+
+  late final __objc_msgSend_427Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_427 = __objc_msgSend_427Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setValuesForKeysWithDictionary_1 =
+      _registerName1("setValuesForKeysWithDictionary:");
+  void _objc_msgSend_428(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keyedValues,
+  ) {
+    return __objc_msgSend_428(
+      obj,
+      sel,
+      keyedValues,
+    );
+  }
+
+  late final __objc_msgSend_428Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_428 = __objc_msgSend_428Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_observeValueForKeyPath_ofObject_change_context_1 =
+      _registerName1("observeValueForKeyPath:ofObject:change:context:");
+  void _objc_msgSend_429(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keyPath,
+    ffi.Pointer<ObjCObject> object,
+    ffi.Pointer<ObjCObject> change,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return __objc_msgSend_429(
+      obj,
+      sel,
+      keyPath,
+      object,
+      change,
+      context,
+    );
+  }
+
+  late final __objc_msgSend_429Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_429 = __objc_msgSend_429Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_willChangeValueForKey_1 =
+      _registerName1("willChangeValueForKey:");
+  late final _sel_didChangeValueForKey_1 =
+      _registerName1("didChangeValueForKey:");
+  late final _sel_willChange_valuesAtIndexes_forKey_1 =
+      _registerName1("willChange:valuesAtIndexes:forKey:");
+  void _objc_msgSend_430(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int changeKind,
+    ffi.Pointer<ObjCObject> indexes,
+    ffi.Pointer<ObjCObject> key,
+  ) {
+    return __objc_msgSend_430(
+      obj,
+      sel,
+      changeKind,
+      indexes,
+      key,
+    );
+  }
+
+  late final __objc_msgSend_430Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_430 = __objc_msgSend_430Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_didChange_valuesAtIndexes_forKey_1 =
+      _registerName1("didChange:valuesAtIndexes:forKey:");
+  late final _sel_willChangeValueForKey_withSetMutation_usingObjects_1 =
+      _registerName1("willChangeValueForKey:withSetMutation:usingObjects:");
+  void _objc_msgSend_431(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+    int mutationKind,
+    ffi.Pointer<ObjCObject> objects,
+  ) {
+    return __objc_msgSend_431(
+      obj,
+      sel,
+      key,
+      mutationKind,
+      objects,
+    );
+  }
+
+  late final __objc_msgSend_431Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_431 = __objc_msgSend_431Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_didChangeValueForKey_withSetMutation_usingObjects_1 =
+      _registerName1("didChangeValueForKey:withSetMutation:usingObjects:");
+  late final _sel_observationInfo1 = _registerName1("observationInfo");
+  late final _sel_setObservationInfo_1 = _registerName1("setObservationInfo:");
+  void _objc_msgSend_432(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return __objc_msgSend_432(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_432Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_432 = __objc_msgSend_432Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_classForKeyedArchiver1 =
+      _registerName1("classForKeyedArchiver");
+  late final _class_NSKeyedArchiver1 = _getClass1("NSKeyedArchiver");
+  late final _sel_initRequiringSecureCoding_1 =
+      _registerName1("initRequiringSecureCoding:");
+  instancetype _objc_msgSend_433(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    bool requiresSecureCoding,
+  ) {
+    return __objc_msgSend_433(
+      obj,
+      sel,
+      requiresSecureCoding,
+    );
+  }
+
+  late final __objc_msgSend_433Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_433 = __objc_msgSend_433Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, bool)>();
+
+  late final _sel_archivedDataWithRootObject_requiringSecureCoding_error_1 =
+      _registerName1("archivedDataWithRootObject:requiringSecureCoding:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_434(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> object,
+    bool requiresSecureCoding,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_434(
+      obj,
+      sel,
+      object,
+      requiresSecureCoding,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_434Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_434 = __objc_msgSend_434Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _class_NSMutableData1 = _getClass1("NSMutableData");
+  late final _sel_mutableBytes1 = _registerName1("mutableBytes");
+  late final _sel_setLength_1 = _registerName1("setLength:");
+  void _objc_msgSend_435(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_435(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_435Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_435 = __objc_msgSend_435Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_appendBytes_length_1 = _registerName1("appendBytes:length:");
+  late final _sel_appendData_1 = _registerName1("appendData:");
+  late final _sel_increaseLengthBy_1 = _registerName1("increaseLengthBy:");
+  late final _sel_replaceBytesInRange_withBytes_1 =
+      _registerName1("replaceBytesInRange:withBytes:");
+  void _objc_msgSend_436(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ffi.Void> bytes,
+  ) {
+    return __objc_msgSend_436(
+      obj,
+      sel,
+      range,
+      bytes,
+    );
+  }
+
+  late final __objc_msgSend_436Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_436 = __objc_msgSend_436Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_resetBytesInRange_1 = _registerName1("resetBytesInRange:");
+  late final _sel_setData_1 = _registerName1("setData:");
+  late final _sel_replaceBytesInRange_withBytes_length_1 =
+      _registerName1("replaceBytesInRange:withBytes:length:");
+  void _objc_msgSend_437(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ffi.Void> replacementBytes,
+    int replacementLength,
+  ) {
+    return __objc_msgSend_437(
+      obj,
+      sel,
+      range,
+      replacementBytes,
+      replacementLength,
+    );
+  }
+
+  late final __objc_msgSend_437Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Pointer<ffi.Void>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_437 = __objc_msgSend_437Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange,
+          ffi.Pointer<ffi.Void>, int)>();
+
+  late final _sel_dataWithCapacity_1 = _registerName1("dataWithCapacity:");
+  late final _sel_dataWithLength_1 = _registerName1("dataWithLength:");
+  late final _sel_initWithLength_1 = _registerName1("initWithLength:");
+  late final _sel_decompressUsingAlgorithm_error_1 =
+      _registerName1("decompressUsingAlgorithm:error:");
+  bool _objc_msgSend_438(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int algorithm,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_438(
+      obj,
+      sel,
+      algorithm,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_438Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_438 = __objc_msgSend_438Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_compressUsingAlgorithm_error_1 =
+      _registerName1("compressUsingAlgorithm:error:");
+  late final _sel_initForWritingWithMutableData_1 =
+      _registerName1("initForWritingWithMutableData:");
+  instancetype _objc_msgSend_439(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+  ) {
+    return __objc_msgSend_439(
+      obj,
+      sel,
+      data,
+    );
+  }
+
+  late final __objc_msgSend_439Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_439 = __objc_msgSend_439Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_archivedDataWithRootObject_1 =
+      _registerName1("archivedDataWithRootObject:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_440(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> rootObject,
+  ) {
+    return __objc_msgSend_440(
+      obj,
+      sel,
+      rootObject,
+    );
+  }
+
+  late final __objc_msgSend_440Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_440 = __objc_msgSend_440Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_archiveRootObject_toFile_1 =
+      _registerName1("archiveRootObject:toFile:");
+  bool _objc_msgSend_441(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> rootObject,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_441(
+      obj,
+      sel,
+      rootObject,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_441Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_441 = __objc_msgSend_441Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_outputFormat1 = _registerName1("outputFormat");
+  int _objc_msgSend_442(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_442(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_442Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_442 = __objc_msgSend_442Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setOutputFormat_1 = _registerName1("setOutputFormat:");
+  void _objc_msgSend_443(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_443(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_443Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_443 = __objc_msgSend_443Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_encodedData1 = _registerName1("encodedData");
+  late final _sel_finishEncoding1 = _registerName1("finishEncoding");
+  late final _sel_setClassName_forClass_1 =
+      _registerName1("setClassName:forClass:");
+  void _objc_msgSend_444(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> codedName,
+    ffi.Pointer<ObjCObject> cls,
+  ) {
+    return __objc_msgSend_444(
+      obj,
+      sel,
+      codedName,
+      cls,
+    );
+  }
+
+  late final __objc_msgSend_444Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_444 = __objc_msgSend_444Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_classNameForClass_1 = _registerName1("classNameForClass:");
+  late final _sel_setRequiresSecureCoding_1 =
+      _registerName1("setRequiresSecureCoding:");
+  void _objc_msgSend_445(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    bool value,
+  ) {
+    return __objc_msgSend_445(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_445Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_445 = __objc_msgSend_445Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, bool)>();
+
+  late final _sel_replacementObjectForKeyedArchiver_1 =
+      _registerName1("replacementObjectForKeyedArchiver:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_446(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> archiver,
+  ) {
+    return __objc_msgSend_446(
+      obj,
+      sel,
+      archiver,
+    );
+  }
+
+  late final __objc_msgSend_446Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_446 = __objc_msgSend_446Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_performSelectorOnMainThread_withObject_waitUntilDone_modes_1 =
+      _registerName1(
+          "performSelectorOnMainThread:withObject:waitUntilDone:modes:");
+  void _objc_msgSend_447(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> arg,
+    bool wait,
+    ffi.Pointer<ObjCObject> array,
+  ) {
+    return __objc_msgSend_447(
+      obj,
+      sel,
+      aSelector,
+      arg,
+      wait,
+      array,
+    );
+  }
+
+  late final __objc_msgSend_447Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_447 = __objc_msgSend_447Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_performSelectorOnMainThread_withObject_waitUntilDone_1 =
+      _registerName1("performSelectorOnMainThread:withObject:waitUntilDone:");
+  void _objc_msgSend_448(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> arg,
+    bool wait,
+  ) {
+    return __objc_msgSend_448(
+      obj,
+      sel,
+      aSelector,
+      arg,
+      wait,
+    );
+  }
+
+  late final __objc_msgSend_448Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_448 = __objc_msgSend_448Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _class_NSThread1 = _getClass1("NSThread");
+  late final _sel_currentThread1 = _registerName1("currentThread");
+  ffi.Pointer<ObjCObject> _objc_msgSend_449(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_449(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_449Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_449 = __objc_msgSend_449Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_detachNewThreadWithBlock_1 =
+      _registerName1("detachNewThreadWithBlock:");
+  void _objc_msgSend_450(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_450(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_450Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_450 = __objc_msgSend_450Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_detachNewThreadSelector_toTarget_withObject_1 =
+      _registerName1("detachNewThreadSelector:toTarget:withObject:");
+  void _objc_msgSend_451(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> selector,
+    ffi.Pointer<ObjCObject> target,
+    ffi.Pointer<ObjCObject> argument,
+  ) {
+    return __objc_msgSend_451(
+      obj,
+      sel,
+      selector,
+      target,
+      argument,
+    );
+  }
+
+  late final __objc_msgSend_451Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_451 = __objc_msgSend_451Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isMultiThreaded1 = _registerName1("isMultiThreaded");
+  late final _class_NSMutableDictionary1 = _getClass1("NSMutableDictionary");
+  late final _sel_removeObjectForKey_1 = _registerName1("removeObjectForKey:");
+  late final _sel_setObject_forKey_1 = _registerName1("setObject:forKey:");
+  void _objc_msgSend_452(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> anObject,
+    ffi.Pointer<ObjCObject> aKey,
+  ) {
+    return __objc_msgSend_452(
+      obj,
+      sel,
+      anObject,
+      aKey,
+    );
+  }
+
+  late final __objc_msgSend_452Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_452 = __objc_msgSend_452Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_addEntriesFromDictionary_1 =
+      _registerName1("addEntriesFromDictionary:");
+  late final _sel_removeObjectsForKeys_1 =
+      _registerName1("removeObjectsForKeys:");
+  late final _sel_setDictionary_1 = _registerName1("setDictionary:");
+  late final _sel_setObject_forKeyedSubscript_1 =
+      _registerName1("setObject:forKeyedSubscript:");
+  late final _sel_dictionaryWithCapacity_1 =
+      _registerName1("dictionaryWithCapacity:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_453(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_453(
+      obj,
+      sel,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_453Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_453 = __objc_msgSend_453Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> _objc_msgSend_454(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_454(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_454Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_454 = __objc_msgSend_454Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dictionaryWithSharedKeySet_1 =
+      _registerName1("dictionaryWithSharedKeySet:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_455(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keyset,
+  ) {
+    return __objc_msgSend_455(
+      obj,
+      sel,
+      keyset,
+    );
+  }
+
+  late final __objc_msgSend_455Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_455 = __objc_msgSend_455Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_threadDictionary1 = _registerName1("threadDictionary");
+  ffi.Pointer<ObjCObject> _objc_msgSend_456(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_456(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_456Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_456 = __objc_msgSend_456Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_sleepUntilDate_1 = _registerName1("sleepUntilDate:");
+  void _objc_msgSend_457(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_457(
+      obj,
+      sel,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_457Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_457 = __objc_msgSend_457Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_sleepForTimeInterval_1 =
+      _registerName1("sleepForTimeInterval:");
+  void _objc_msgSend_458(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double ti,
+  ) {
+    return __objc_msgSend_458(
+      obj,
+      sel,
+      ti,
+    );
+  }
+
+  late final __objc_msgSend_458Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSTimeInterval)>>('objc_msgSend');
+  late final __objc_msgSend_458 = __objc_msgSend_458Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double)>();
+
+  late final _sel_exit1 = _registerName1("exit");
+  late final _sel_threadPriority1 = _registerName1("threadPriority");
+  late final _sel_setThreadPriority_1 = _registerName1("setThreadPriority:");
+  void _objc_msgSend_459(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double value,
+  ) {
+    return __objc_msgSend_459(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_459Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Double)>>('objc_msgSend');
+  late final __objc_msgSend_459 = __objc_msgSend_459Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double)>();
+
+  late final _sel_qualityOfService1 = _registerName1("qualityOfService");
+  int _objc_msgSend_460(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_460(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_460Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_460 = __objc_msgSend_460Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setQualityOfService_1 =
+      _registerName1("setQualityOfService:");
+  void _objc_msgSend_461(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_461(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_461Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_461 = __objc_msgSend_461Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_callStackReturnAddresses1 =
+      _registerName1("callStackReturnAddresses");
+  late final _sel_callStackSymbols1 = _registerName1("callStackSymbols");
+  late final _sel_name1 = _registerName1("name");
+  late final _sel_setName_1 = _registerName1("setName:");
+  void _objc_msgSend_462(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_462(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_462Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_462 = __objc_msgSend_462Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_stackSize1 = _registerName1("stackSize");
+  late final _sel_setStackSize_1 = _registerName1("setStackSize:");
+  late final _sel_isMainThread1 = _registerName1("isMainThread");
+  late final _sel_mainThread1 = _registerName1("mainThread");
+  late final _sel_initWithTarget_selector_object_1 =
+      _registerName1("initWithTarget:selector:object:");
+  instancetype _objc_msgSend_463(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> target,
+    ffi.Pointer<ObjCSel> selector,
+    ffi.Pointer<ObjCObject> argument,
+  ) {
+    return __objc_msgSend_463(
+      obj,
+      sel,
+      target,
+      selector,
+      argument,
+    );
+  }
+
+  late final __objc_msgSend_463Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_463 = __objc_msgSend_463Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithBlock_1 = _registerName1("initWithBlock:");
+  instancetype _objc_msgSend_464(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_464(
+      obj,
+      sel,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_464Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_464 = __objc_msgSend_464Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_isExecuting1 = _registerName1("isExecuting");
+  late final _sel_isFinished1 = _registerName1("isFinished");
+  late final _sel_isCancelled1 = _registerName1("isCancelled");
+  late final _sel_cancel1 = _registerName1("cancel");
+  late final _sel_start1 = _registerName1("start");
+  late final _sel_main1 = _registerName1("main");
+  late final _sel_performSelector_onThread_withObject_waitUntilDone_modes_1 =
+      _registerName1(
+          "performSelector:onThread:withObject:waitUntilDone:modes:");
+  void _objc_msgSend_465(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> thr,
+    ffi.Pointer<ObjCObject> arg,
+    bool wait,
+    ffi.Pointer<ObjCObject> array,
+  ) {
+    return __objc_msgSend_465(
+      obj,
+      sel,
+      aSelector,
+      thr,
+      arg,
+      wait,
+      array,
+    );
+  }
+
+  late final __objc_msgSend_465Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_465 = __objc_msgSend_465Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          bool,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_performSelector_onThread_withObject_waitUntilDone_1 =
+      _registerName1("performSelector:onThread:withObject:waitUntilDone:");
+  void _objc_msgSend_466(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> thr,
+    ffi.Pointer<ObjCObject> arg,
+    bool wait,
+  ) {
+    return __objc_msgSend_466(
+      obj,
+      sel,
+      aSelector,
+      thr,
+      arg,
+      wait,
+    );
+  }
+
+  late final __objc_msgSend_466Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_466 = __objc_msgSend_466Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          bool)>();
+
+  late final _sel_performSelectorInBackground_withObject_1 =
+      _registerName1("performSelectorInBackground:withObject:");
+
+  /// !
+  /// @function os_workgroup_create_with_port
+  ///
+  /// @abstract
+  /// Create an os_workgroup_t object from a send right returned by a previous
+  /// call to os_workgroup_copy_port, potentially in a different process.
+  ///
+  /// A newly created os_workgroup_t has no initial member threads - in particular
+  /// the creating thread does not join the os_workgroup_t implicitly.
+  ///
+  /// @param name
+  /// A client specified string for labelling the workgroup. This parameter is
+  /// optional and can be NULL.
+  ///
+  /// @param mach_port
+  /// The send right to create the workgroup from. No reference is consumed
+  /// on the specified send right.
+  os_workgroup_t os_workgroup_create_with_port(
+    ffi.Pointer<ffi.Char> name,
+    int mach_port,
+  ) {
+    return _os_workgroup_create_with_port(
+      name,
+      mach_port,
+    );
+  }
+
+  late final _os_workgroup_create_with_portPtr = _lookup<
+      ffi.NativeFunction<
+          os_workgroup_t Function(ffi.Pointer<ffi.Char>,
+              mach_port_t)>>('os_workgroup_create_with_port');
+  late final _os_workgroup_create_with_port = _os_workgroup_create_with_portPtr
+      .asFunction<os_workgroup_t Function(ffi.Pointer<ffi.Char>, int)>();
+
+  /// !
+  /// @function os_workgroup_create_with_workgroup
+  ///
+  /// @abstract
+  /// Create a new os_workgroup object from an existing os_workgroup.
+  ///
+  /// The newly created os_workgroup has no initial member threads - in particular
+  /// the creating threaad does not join the os_workgroup_t implicitly.
+  ///
+  /// @param name
+  /// A client specified string for labelling the workgroup. This parameter is
+  /// optional and can be NULL.
+  ///
+  /// @param wg
+  /// The existing workgroup to create a new workgroup object from.
+  os_workgroup_t os_workgroup_create_with_workgroup(
+    ffi.Pointer<ffi.Char> name,
+    os_workgroup_t wg,
+  ) {
+    return _os_workgroup_create_with_workgroup(
+      name,
+      wg,
+    );
+  }
+
+  late final _os_workgroup_create_with_workgroupPtr = _lookup<
+      ffi.NativeFunction<
+          os_workgroup_t Function(ffi.Pointer<ffi.Char>,
+              os_workgroup_t)>>('os_workgroup_create_with_workgroup');
+  late final _os_workgroup_create_with_workgroup =
+      _os_workgroup_create_with_workgroupPtr.asFunction<
+          os_workgroup_t Function(ffi.Pointer<ffi.Char>, os_workgroup_t)>();
+
+  /// !
+  /// @function os_workgroup_join
+  ///
+  /// @abstract
+  /// Joins the current thread to the specified workgroup and populates the join
+  /// token that has been passed in. This API is real-time safe.
+  ///
+  /// @param wg
+  /// The workgroup that the current thread would like to join
+  ///
+  /// @param token_out
+  /// Pointer to a client allocated struct which the function will populate
+  /// with the join token. This token must be passed in by the thread when it calls
+  /// os_workgroup_leave().
+  ///
+  /// Errors will be returned in the following cases:
+  ///
+  /// EALREADY		The thread is already part of a workgroup that the specified
+  /// workgroup does not nest with
+  /// EINVAL		The workgroup has been cancelled
+  int os_workgroup_join(
+    os_workgroup_t wg,
+    os_workgroup_join_token_t token_out,
+  ) {
+    return _os_workgroup_join(
+      wg,
+      token_out,
+    );
+  }
+
+  late final _os_workgroup_joinPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              os_workgroup_t, os_workgroup_join_token_t)>>('os_workgroup_join');
+  late final _os_workgroup_join = _os_workgroup_joinPtr
+      .asFunction<int Function(os_workgroup_t, os_workgroup_join_token_t)>();
+
+  /// !
+  /// @function os_workgroup_leave
+  ///
+  /// @abstract
+  /// This removes the current thread from a workgroup it has previously
+  /// joined. Threads must leave all workgroups in the reverse order that they
+  /// have joined them. Failing to do so before exiting will result in undefined
+  /// behavior.
+  ///
+  /// If the join token is malformed, the process will be aborted.
+  ///
+  /// This API is real time safe.
+  ///
+  /// @param wg
+  /// The workgroup that the current thread would like to leave.
+  ///
+  /// @param token
+  /// This is the join token populated by the most recent call to
+  /// os_workgroup_join().
+  void os_workgroup_leave(
+    os_workgroup_t wg,
+    os_workgroup_join_token_t token,
+  ) {
+    return _os_workgroup_leave(
+      wg,
+      token,
+    );
+  }
+
+  late final _os_workgroup_leavePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(os_workgroup_t,
+              os_workgroup_join_token_t)>>('os_workgroup_leave');
+  late final _os_workgroup_leave = _os_workgroup_leavePtr
+      .asFunction<void Function(os_workgroup_t, os_workgroup_join_token_t)>();
+
+  /// !
+  /// @function os_workgroup_set_working_arena
+  ///
+  /// @abstract
+  /// Associates a client defined working arena with the workgroup. The arena
+  /// is local to the workgroup object in the process. This is intended for
+  /// distributing a manually managed memory allocation between member threads
+  /// of the workgroup.
+  ///
+  /// This function can be called multiple times and the client specified
+  /// destructor will be called on the previously assigned arena, if any. This
+  /// function can only be called when no threads have currently joined the
+  /// workgroup and all workloops associated with the workgroup are idle.
+  ///
+  /// @param wg
+  /// The workgroup to associate the working arena with
+  ///
+  /// @param arena
+  /// The client managed arena to associate with the workgroup. This value can
+  /// be NULL.
+  ///
+  /// @param max_workers
+  /// The maximum number of threads that will ever query the workgroup for the
+  /// arena and request an index into it.  If the arena is not used to partition
+  /// work amongst member threads, then this field can be 0.
+  ///
+  /// @param destructor
+  /// A destructor to call on the previously assigned working arena, if any
+  int os_workgroup_set_working_arena(
+    os_workgroup_t wg,
+    ffi.Pointer<ffi.Void> arena,
+    int max_workers,
+    os_workgroup_working_arena_destructor_t destructor,
+  ) {
+    return _os_workgroup_set_working_arena(
+      wg,
+      arena,
+      max_workers,
+      destructor,
+    );
+  }
+
+  late final _os_workgroup_set_working_arenaPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Int Function(os_workgroup_t, ffi.Pointer<ffi.Void>,
+                  ffi.Uint32, os_workgroup_working_arena_destructor_t)>>(
+      'os_workgroup_set_working_arena');
+  late final _os_workgroup_set_working_arena =
+      _os_workgroup_set_working_arenaPtr.asFunction<
+          int Function(os_workgroup_t, ffi.Pointer<ffi.Void>, int,
+              os_workgroup_working_arena_destructor_t)>();
+
+  /// !
+  /// @function os_workgroup_get_working_arena
+  ///
+  /// @abstract
+  /// Returns the working arena associated with the workgroup and the current
+  /// thread's index in the workgroup. This function can only be called by a member
+  /// of the workgroup. Multiple calls to this API by a member thread will return
+  /// the same arena and index until the thread leaves the workgroup.
+  ///
+  /// For workloops with an associated workgroup, every work item on the workloop
+  /// will receive the same index in the arena.
+  ///
+  /// This method returns NULL if no arena is set on the workgroup. The index
+  /// returned by this function is zero-based and is namespaced per workgroup
+  /// object in the process. The indices provided are strictly monotonic and never
+  /// reused until a future call to os_workgroup_set_working_arena.
+  ///
+  /// @param wg
+  /// The workgroup to get the working arena from.
+  ///
+  /// @param index_out
+  /// A pointer to a os_workgroup_index which will be populated by the caller's
+  /// index in the workgroup.
+  ffi.Pointer<ffi.Void> os_workgroup_get_working_arena(
+    os_workgroup_t wg,
+    ffi.Pointer<os_workgroup_index> index_out,
+  ) {
+    return _os_workgroup_get_working_arena(
+      wg,
+      index_out,
+    );
+  }
+
+  late final _os_workgroup_get_working_arenaPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<ffi.Void> Function(
+                  os_workgroup_t, ffi.Pointer<os_workgroup_index>)>>(
+      'os_workgroup_get_working_arena');
+  late final _os_workgroup_get_working_arena =
+      _os_workgroup_get_working_arenaPtr.asFunction<
+          ffi.Pointer<ffi.Void> Function(
+              os_workgroup_t, ffi.Pointer<os_workgroup_index>)>();
+
+  /// !
+  /// @function os_workgroup_cancel
+  ///
+  /// @abstract
+  /// This API invalidates a workgroup and indicates to the system that the
+  /// workload is no longer relevant to the caller.
+  ///
+  /// No new work should be initiated for a cancelled workgroup and
+  /// work that is already underway should periodically check for
+  /// cancellation with os_workgroup_testcancel and initiate cleanup if needed.
+  ///
+  /// Threads currently in the workgroup continue to be tracked together but no
+  /// new threads may join this workgroup - the only possible operation allowed is
+  /// to leave the workgroup. Other actions may have undefined behavior or
+  /// otherwise fail.
+  ///
+  /// This API is idempotent. Cancellation is local to the workgroup object
+  /// it is called on and does not affect other workgroups.
+  ///
+  /// @param wg
+  /// The workgroup that that the thread would like to cancel
+  void os_workgroup_cancel(
+    os_workgroup_t wg,
+  ) {
+    return _os_workgroup_cancel(
+      wg,
+    );
+  }
+
+  late final _os_workgroup_cancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(os_workgroup_t)>>(
+          'os_workgroup_cancel');
+  late final _os_workgroup_cancel =
+      _os_workgroup_cancelPtr.asFunction<void Function(os_workgroup_t)>();
+
+  /// !
+  /// @function os_workgroup_testcancel
+  ///
+  /// @abstract
+  /// Returns true if the workgroup object has been cancelled. See also
+  /// os_workgroup_cancel
+  bool os_workgroup_testcancel(
+    os_workgroup_t wg,
+  ) {
+    return _os_workgroup_testcancel(
+      wg,
+    );
+  }
+
+  late final _os_workgroup_testcancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(os_workgroup_t)>>(
+          'os_workgroup_testcancel');
+  late final _os_workgroup_testcancel =
+      _os_workgroup_testcancelPtr.asFunction<bool Function(os_workgroup_t)>();
+
+  /// !
+  /// @function os_workgroup_max_parallel_threads
+  ///
+  /// @abstract
+  /// Returns the system's recommendation for maximum number of threads the client
+  /// should make for a multi-threaded workload in a given workgroup.
+  ///
+  /// This API takes into consideration the current hardware the code is running on
+  /// and the attributes of the workgroup. It does not take into consideration the
+  /// current load of the system and therefore always provides the most optimal
+  /// recommendation for the workload.
+  ///
+  /// @param wg
+  /// The workgroup in which the multi-threaded workload will be performed in. The
+  /// threads performing the multi-threaded workload are expected to join this
+  /// workgroup.
+  ///
+  /// @param attr
+  /// This value is currently unused and should be NULL.
+  int os_workgroup_max_parallel_threads(
+    os_workgroup_t wg,
+    os_workgroup_mpt_attr_t attr,
+  ) {
+    return _os_workgroup_max_parallel_threads(
+      wg,
+      attr,
+    );
+  }
+
+  late final _os_workgroup_max_parallel_threadsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(os_workgroup_t,
+              os_workgroup_mpt_attr_t)>>('os_workgroup_max_parallel_threads');
+  late final _os_workgroup_max_parallel_threads =
+      _os_workgroup_max_parallel_threadsPtr
+          .asFunction<int Function(os_workgroup_t, os_workgroup_mpt_attr_t)>();
+
+  /// !
+  /// @function os_workgroup_interval_start
+  ///
+  /// @abstract
+  /// Indicates to the system that the member threads of this
+  /// os_workgroup_interval_t have begun working on an instance of the repeatable
+  /// interval workload with the specified timestamps. This function is real time
+  /// safe.
+  ///
+  /// This function will set and return an errno in the following cases:
+  ///
+  /// - The current thread is not a member of the os_workgroup_interval_t
+  /// - The os_workgroup_interval_t has been cancelled
+  /// - The timestamps passed in are malformed
+  /// - os_workgroup_interval_start() was previously called on the
+  /// os_workgroup_interval_t without an intervening os_workgroup_interval_finish()
+  /// - A concurrent workgroup interval configuration operation is taking place.
+  ///
+  /// @param start
+  /// Start timestamp specified in the os_clockid_t with which the
+  /// os_workgroup_interval_t was created. This is generally a time in the past and
+  /// indicates when the workgroup started working on an interval period
+  ///
+  /// @param deadline
+  /// Deadline timestamp specified in the os_clockid_t with which the
+  /// os_workgroup_interval_t was created. This specifies the deadline which the
+  /// interval period would like to meet.
+  ///
+  /// @param data
+  /// This field is currently unused and should be NULL
+  int os_workgroup_interval_start(
+    os_workgroup_interval_t wg,
+    int start,
+    int deadline,
+    os_workgroup_interval_data_t data,
+  ) {
+    return _os_workgroup_interval_start(
+      wg,
+      start,
+      deadline,
+      data,
+    );
+  }
+
+  late final _os_workgroup_interval_startPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(os_workgroup_interval_t, ffi.Uint64, ffi.Uint64,
+              os_workgroup_interval_data_t)>>('os_workgroup_interval_start');
+  late final _os_workgroup_interval_start =
+      _os_workgroup_interval_startPtr.asFunction<
+          int Function(os_workgroup_interval_t, int, int,
+              os_workgroup_interval_data_t)>();
+
+  /// !
+  /// @function os_workgroup_interval_update
+  ///
+  /// @abstract
+  /// Updates an already started interval workgroup to have the new
+  /// deadline specified. This function is real time safe.
+  ///
+  /// This function will return an error in the following cases:
+  /// - The current thread is not a member of the os_workgroup_interval_t
+  /// - The os_workgroup_interval_t has been cancelled
+  /// - The timestamp passed in is malformed
+  /// - os_workgroup_interval_start() was not previously called on the
+  /// os_workgroup_interval_t or was already matched with an
+  /// os_workgroup_interval_finish()
+  /// - A concurrent workgroup interval configuration operation is taking place
+  ///
+  /// @param deadline
+  /// Timestamp specified in the os_clockid_t with
+  /// which the os_workgroup_interval_t was created.
+  ///
+  /// @param data
+  /// This field is currently unused and should be NULL
+  int os_workgroup_interval_update(
+    os_workgroup_interval_t wg,
+    int deadline,
+    os_workgroup_interval_data_t data,
+  ) {
+    return _os_workgroup_interval_update(
+      wg,
+      deadline,
+      data,
+    );
+  }
+
+  late final _os_workgroup_interval_updatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(os_workgroup_interval_t, ffi.Uint64,
+              os_workgroup_interval_data_t)>>('os_workgroup_interval_update');
+  late final _os_workgroup_interval_update =
+      _os_workgroup_interval_updatePtr.asFunction<
+          int Function(
+              os_workgroup_interval_t, int, os_workgroup_interval_data_t)>();
+
+  /// !
+  /// @function os_workgroup_interval_finish
+  ///
+  /// @abstract
+  /// Indicates to the system that the member threads of
+  /// this os_workgroup_interval_t have finished working on the current instance
+  /// of the interval workload. This function is real time safe.
+  ///
+  /// This function will return an error in the following cases:
+  /// - The current thread is not a member of the os_workgroup_interval_t
+  /// - os_workgroup_interval_start() was not previously called on the
+  /// os_workgroup_interval_t or was already matched with an
+  /// os_workgroup_interval_finish()
+  /// - A concurrent workgroup interval configuration operation is taking place.
+  ///
+  /// @param data
+  /// This field is currently unused and should be NULL
+  int os_workgroup_interval_finish(
+    os_workgroup_interval_t wg,
+    os_workgroup_interval_data_t data,
+  ) {
+    return _os_workgroup_interval_finish(
+      wg,
+      data,
+    );
+  }
+
+  late final _os_workgroup_interval_finishPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(os_workgroup_interval_t,
+              os_workgroup_interval_data_t)>>('os_workgroup_interval_finish');
+  late final _os_workgroup_interval_finish =
+      _os_workgroup_interval_finishPtr.asFunction<
+          int Function(
+              os_workgroup_interval_t, os_workgroup_interval_data_t)>();
+
+  /// !
+  /// @function os_workgroup_parallel_create
+  ///
+  /// @abstract
+  /// Creates an os_workgroup_t which tracks a parallel workload.
+  /// A newly created os_workgroup_interval_t has no initial member threads -
+  /// in particular the creating thread does not join the os_workgroup_parallel_t
+  /// implicitly.
+  ///
+  /// See also os_workgroup_max_parallel_threads().
+  ///
+  /// @param name
+  /// A client specified string for labelling the workgroup. This parameter is
+  /// optional and can be NULL.
+  ///
+  /// @param attr
+  /// The requested set of workgroup attributes. NULL is to be specified for the
+  /// default set of attributes.
+  os_workgroup_parallel_t os_workgroup_parallel_create(
+    ffi.Pointer<ffi.Char> name,
+    os_workgroup_attr_t attr,
+  ) {
+    return _os_workgroup_parallel_create(
+      name,
+      attr,
+    );
+  }
+
+  late final _os_workgroup_parallel_createPtr = _lookup<
+      ffi.NativeFunction<
+          os_workgroup_parallel_t Function(ffi.Pointer<ffi.Char>,
+              os_workgroup_attr_t)>>('os_workgroup_parallel_create');
+  late final _os_workgroup_parallel_create =
+      _os_workgroup_parallel_createPtr.asFunction<
+          os_workgroup_parallel_t Function(
+              ffi.Pointer<ffi.Char>, os_workgroup_attr_t)>();
+
+  /// !
+  /// @function dispatch_time
+  ///
+  /// @abstract
+  /// Create a dispatch_time_t relative to the current value of the default or
+  /// wall time clock, or modify an existing dispatch_time_t.
+  ///
+  /// @discussion
+  /// On Apple platforms, the default clock is based on mach_absolute_time().
+  ///
+  /// @param when
+  /// An optional dispatch_time_t to add nanoseconds to. If DISPATCH_TIME_NOW is
+  /// passed, then dispatch_time() will use the default clock (which is based on
+  /// mach_absolute_time() on Apple platforms). If DISPATCH_WALLTIME_NOW is used,
+  /// dispatch_time() will use the value returned by gettimeofday(3).
+  /// dispatch_time(DISPATCH_WALLTIME_NOW, delta) is equivalent to
+  /// dispatch_walltime(NULL, delta).
+  ///
+  /// @param delta
+  /// Nanoseconds to add.
+  ///
+  /// @result
+  /// A new dispatch_time_t.
+  int dispatch_time(
+    int when,
+    int delta,
+  ) {
+    return _dispatch_time(
+      when,
+      delta,
+    );
+  }
+
+  late final _dispatch_timePtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_time_t Function(
+              dispatch_time_t, ffi.Int64)>>('dispatch_time');
+  late final _dispatch_time =
+      _dispatch_timePtr.asFunction<int Function(int, int)>();
+
+  /// !
+  /// @function dispatch_walltime
+  ///
+  /// @abstract
+  /// Create a dispatch_time_t using the wall clock.
+  ///
+  /// @discussion
+  /// On Mac OS X the wall clock is based on gettimeofday(3).
+  ///
+  /// @param when
+  /// A struct timespec to add time to. If NULL is passed, then
+  /// dispatch_walltime() will use the result of gettimeofday(3).
+  /// dispatch_walltime(NULL, delta) returns the same value as
+  /// dispatch_time(DISPATCH_WALLTIME_NOW, delta).
+  ///
+  /// @param delta
+  /// Nanoseconds to add.
+  ///
+  /// @result
+  /// A new dispatch_time_t.
+  int dispatch_walltime(
+    ffi.Pointer<timespec> when,
+    int delta,
+  ) {
+    return _dispatch_walltime(
+      when,
+      delta,
+    );
+  }
+
+  late final _dispatch_walltimePtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_time_t Function(
+              ffi.Pointer<timespec>, ffi.Int64)>>('dispatch_walltime');
+  late final _dispatch_walltime = _dispatch_walltimePtr
+      .asFunction<int Function(ffi.Pointer<timespec>, int)>();
+
+  /// !
+  /// @function qos_class_self
+  ///
+  /// @abstract
+  /// Returns the requested QOS class of the current thread.
+  ///
+  /// @return
+  /// One of the QOS class values in qos_class_t.
+  int qos_class_self() {
+    return _qos_class_self();
+  }
+
+  late final _qos_class_selfPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>('qos_class_self');
+  late final _qos_class_self = _qos_class_selfPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function qos_class_main
+  ///
+  /// @abstract
+  /// Returns the initial requested QOS class of the main thread.
+  ///
+  /// @discussion
+  /// The QOS class that the main thread of a process is created with depends on
+  /// the type of process (e.g. application or daemon) and on how it has been
+  /// launched.
+  ///
+  /// This function returns that initial requested QOS class value chosen by the
+  /// system to enable propagation of that classification to matching work not
+  /// executing on the main thread.
+  ///
+  /// @return
+  /// One of the QOS class values in qos_class_t.
+  int qos_class_main() {
+    return _qos_class_main();
+  }
+
+  late final _qos_class_mainPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>('qos_class_main');
+  late final _qos_class_main = _qos_class_mainPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function dispatch_retain
+  ///
+  /// @abstract
+  /// Increment the reference count of a dispatch object.
+  ///
+  /// @discussion
+  /// Calls to dispatch_retain() must be balanced with calls to
+  /// dispatch_release().
+  ///
+  /// @param object
+  /// The object to retain.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_retain(
+    dispatch_object_t object,
+  ) {
+    return _dispatch_retain(
+      object,
+    );
+  }
+
+  late final _dispatch_retainPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_object_t)>>(
+          'dispatch_retain');
+  late final _dispatch_retain =
+      _dispatch_retainPtr.asFunction<void Function(dispatch_object_t)>();
+
+  /// !
+  /// @function dispatch_release
+  ///
+  /// @abstract
+  /// Decrement the reference count of a dispatch object.
+  ///
+  /// @discussion
+  /// A dispatch object is asynchronously deallocated once all references are
+  /// released (i.e. the reference count becomes zero). The system does not
+  /// guarantee that a given client is the last or only reference to a given
+  /// object.
+  ///
+  /// @param object
+  /// The object to release.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_release(
+    dispatch_object_t object,
+  ) {
+    return _dispatch_release(
+      object,
+    );
+  }
+
+  late final _dispatch_releasePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_object_t)>>(
+          'dispatch_release');
+  late final _dispatch_release =
+      _dispatch_releasePtr.asFunction<void Function(dispatch_object_t)>();
+
+  /// !
+  /// @function dispatch_get_context
+  ///
+  /// @abstract
+  /// Returns the application defined context of the object.
+  ///
+  /// @param object
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @result
+  /// The context of the object; may be NULL.
+  ffi.Pointer<ffi.Void> dispatch_get_context(
+    dispatch_object_t object,
+  ) {
+    return _dispatch_get_context(
+      object,
+    );
+  }
+
+  late final _dispatch_get_contextPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ffi.Void> Function(dispatch_object_t)>>(
+      'dispatch_get_context');
+  late final _dispatch_get_context = _dispatch_get_contextPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(dispatch_object_t)>();
+
+  /// !
+  /// @function dispatch_set_context
+  ///
+  /// @abstract
+  /// Associates an application defined context with the object.
+  ///
+  /// @param object
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The new client defined context for the object. This may be NULL.
+  void dispatch_set_context(
+    dispatch_object_t object,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _dispatch_set_context(
+      object,
+      context,
+    );
+  }
+
+  late final _dispatch_set_contextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_object_t,
+              ffi.Pointer<ffi.Void>)>>('dispatch_set_context');
+  late final _dispatch_set_context = _dispatch_set_contextPtr
+      .asFunction<void Function(dispatch_object_t, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function dispatch_set_finalizer_f
+  ///
+  /// @abstract
+  /// Set the finalizer function for a dispatch object.
+  ///
+  /// @param object
+  /// The dispatch object to modify.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param finalizer
+  /// The finalizer function pointer.
+  ///
+  /// @discussion
+  /// A dispatch object's finalizer will be invoked on the object's target queue
+  /// after all references to the object have been released. This finalizer may be
+  /// used by the application to release any resources associated with the object,
+  /// such as freeing the object's context.
+  /// The context parameter passed to the finalizer function is the current
+  /// context of the dispatch object at the time the finalizer call is made.
+  void dispatch_set_finalizer_f(
+    dispatch_object_t object,
+    dispatch_function_t finalizer,
+  ) {
+    return _dispatch_set_finalizer_f(
+      object,
+      finalizer,
+    );
+  }
+
+  late final _dispatch_set_finalizer_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_object_t,
+              dispatch_function_t)>>('dispatch_set_finalizer_f');
+  late final _dispatch_set_finalizer_f = _dispatch_set_finalizer_fPtr
+      .asFunction<void Function(dispatch_object_t, dispatch_function_t)>();
+
+  /// !
+  /// @function dispatch_activate
+  ///
+  /// @abstract
+  /// Activates the specified dispatch object.
+  ///
+  /// @discussion
+  /// Dispatch objects such as queues and sources may be created in an inactive
+  /// state. Objects in this state have to be activated before any blocks
+  /// associated with them will be invoked.
+  ///
+  /// The target queue of inactive objects can be changed using
+  /// dispatch_set_target_queue(). Change of target queue is no longer permitted
+  /// once an initially inactive object has been activated.
+  ///
+  /// Calling dispatch_activate() on an active object has no effect.
+  /// Releasing the last reference count on an inactive object is undefined.
+  ///
+  /// @param object
+  /// The object to be activated.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_activate(
+    dispatch_object_t object,
+  ) {
+    return _dispatch_activate(
+      object,
+    );
+  }
+
+  late final _dispatch_activatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_object_t)>>(
+          'dispatch_activate');
+  late final _dispatch_activate =
+      _dispatch_activatePtr.asFunction<void Function(dispatch_object_t)>();
+
+  /// !
+  /// @function dispatch_suspend
+  ///
+  /// @abstract
+  /// Suspends the invocation of blocks on a dispatch object.
+  ///
+  /// @discussion
+  /// A suspended object will not invoke any blocks associated with it. The
+  /// suspension of an object will occur after any running block associated with
+  /// the object completes.
+  ///
+  /// Calls to dispatch_suspend() must be balanced with calls
+  /// to dispatch_resume().
+  ///
+  /// @param object
+  /// The object to be suspended.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_suspend(
+    dispatch_object_t object,
+  ) {
+    return _dispatch_suspend(
+      object,
+    );
+  }
+
+  late final _dispatch_suspendPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_object_t)>>(
+          'dispatch_suspend');
+  late final _dispatch_suspend =
+      _dispatch_suspendPtr.asFunction<void Function(dispatch_object_t)>();
+
+  /// !
+  /// @function dispatch_resume
+  ///
+  /// @abstract
+  /// Resumes the invocation of blocks on a dispatch object.
+  ///
+  /// @discussion
+  /// Dispatch objects can be suspended with dispatch_suspend(), which increments
+  /// an internal suspension count. dispatch_resume() is the inverse operation,
+  /// and consumes suspension counts. When the last suspension count is consumed,
+  /// blocks associated with the object will be invoked again.
+  ///
+  /// For backward compatibility reasons, dispatch_resume() on an inactive and not
+  /// otherwise suspended dispatch source object has the same effect as calling
+  /// dispatch_activate(). For new code, using dispatch_activate() is preferred.
+  ///
+  /// If the specified object has zero suspension count and is not an inactive
+  /// source, this function will result in an assertion and the process being
+  /// terminated.
+  ///
+  /// @param object
+  /// The object to be resumed.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_resume(
+    dispatch_object_t object,
+  ) {
+    return _dispatch_resume(
+      object,
+    );
+  }
+
+  late final _dispatch_resumePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_object_t)>>(
+          'dispatch_resume');
+  late final _dispatch_resume =
+      _dispatch_resumePtr.asFunction<void Function(dispatch_object_t)>();
+
+  /// !
+  /// @function dispatch_set_qos_class_floor
+  ///
+  /// @abstract
+  /// Sets the QOS class floor on a dispatch queue, source or workloop.
+  ///
+  /// @discussion
+  /// The QOS class of workitems submitted to this object asynchronously will be
+  /// elevated to at least the specified QOS class floor. The QOS of the workitem
+  /// will be used if higher than the floor even when the workitem has been created
+  /// without "ENFORCE" semantics.
+  ///
+  /// Setting the QOS class floor is equivalent to the QOS effects of configuring
+  /// a queue whose target queue has a QoS class set to the same value.
+  ///
+  /// @param object
+  /// A dispatch queue, workloop, or source to configure.
+  /// The object must be inactive.
+  ///
+  /// Passing another object type or an object that has been activated is undefined
+  /// and will cause the process to be terminated.
+  ///
+  /// @param qos_class
+  /// A QOS class value:
+  /// - QOS_CLASS_USER_INTERACTIVE
+  /// - QOS_CLASS_USER_INITIATED
+  /// - QOS_CLASS_DEFAULT
+  /// - QOS_CLASS_UTILITY
+  /// - QOS_CLASS_BACKGROUND
+  /// Passing any other value is undefined.
+  ///
+  /// @param relative_priority
+  /// A relative priority within the QOS class. This value is a negative
+  /// offset from the maximum supported scheduler priority for the given class.
+  /// Passing a value greater than zero or less than QOS_MIN_RELATIVE_PRIORITY
+  /// is undefined.
+  void dispatch_set_qos_class_floor(
+    dispatch_object_t object,
+    int qos_class,
+    int relative_priority,
+  ) {
+    return _dispatch_set_qos_class_floor(
+      object,
+      qos_class,
+      relative_priority,
+    );
+  }
+
+  late final _dispatch_set_qos_class_floorPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_object_t, ffi.Int32,
+              ffi.Int)>>('dispatch_set_qos_class_floor');
+  late final _dispatch_set_qos_class_floor = _dispatch_set_qos_class_floorPtr
+      .asFunction<void Function(dispatch_object_t, int, int)>();
+
+  /// !
+  /// @function dispatch_wait
+  ///
+  /// @abstract
+  /// Wait synchronously for an object or until the specified timeout has elapsed.
+  ///
+  /// @discussion
+  /// Type-generic macro that maps to dispatch_block_wait, dispatch_group_wait or
+  /// dispatch_semaphore_wait, depending on the type of the first argument.
+  /// See documentation for these functions for more details.
+  /// This function is unavailable for any other object type.
+  ///
+  /// @param object
+  /// The object to wait on.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param timeout
+  /// When to timeout (see dispatch_time). As a convenience, there are the
+  /// DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants.
+  ///
+  /// @result
+  /// Returns zero on success or non-zero on error (i.e. timed out).
+  int dispatch_wait(
+    ffi.Pointer<ffi.Void> object,
+    int timeout,
+  ) {
+    return _dispatch_wait(
+      object,
+      timeout,
+    );
+  }
+
+  late final _dispatch_waitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.IntPtr Function(
+              ffi.Pointer<ffi.Void>, dispatch_time_t)>>('dispatch_wait');
+  late final _dispatch_wait =
+      _dispatch_waitPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int)>();
+
+  /// !
+  /// @function dispatch_notify
+  ///
+  /// @abstract
+  /// Schedule a notification block to be submitted to a queue when the execution
+  /// of a specified object has completed.
+  ///
+  /// @discussion
+  /// Type-generic macro that maps to dispatch_block_notify or
+  /// dispatch_group_notify, depending on the type of the first argument.
+  /// See documentation for these functions for more details.
+  /// This function is unavailable for any other object type.
+  ///
+  /// @param object
+  /// The object to observe.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param queue
+  /// The queue to which the supplied notification block will be submitted when
+  /// the observed object completes.
+  ///
+  /// @param notification_block
+  /// The block to submit when the observed object completes.
+  void dispatch_notify(
+    ffi.Pointer<ffi.Void> object,
+    dispatch_object_t queue,
+    dispatch_block_t notification_block,
+  ) {
+    return _dispatch_notify(
+      object,
+      queue,
+      notification_block,
+    );
+  }
+
+  late final _dispatch_notifyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, dispatch_object_t,
+              dispatch_block_t)>>('dispatch_notify');
+  late final _dispatch_notify = _dispatch_notifyPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Void>, dispatch_object_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_cancel
+  ///
+  /// @abstract
+  /// Cancel the specified object.
+  ///
+  /// @discussion
+  /// Type-generic macro that maps to dispatch_block_cancel or
+  /// dispatch_source_cancel, depending on the type of the first argument.
+  /// See documentation for these functions for more details.
+  /// This function is unavailable for any other object type.
+  ///
+  /// @param object
+  /// The object to cancel.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_cancel(
+    ffi.Pointer<ffi.Void> object,
+  ) {
+    return _dispatch_cancel(
+      object,
+    );
+  }
+
+  late final _dispatch_cancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
+          'dispatch_cancel');
+  late final _dispatch_cancel =
+      _dispatch_cancelPtr.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function dispatch_testcancel
+  ///
+  /// @abstract
+  /// Test whether the specified object has been canceled
+  ///
+  /// @discussion
+  /// Type-generic macro that maps to dispatch_block_testcancel or
+  /// dispatch_source_testcancel, depending on the type of the first argument.
+  /// See documentation for these functions for more details.
+  /// This function is unavailable for any other object type.
+  ///
+  /// @param object
+  /// The object to test.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @result
+  /// Non-zero if canceled and zero if not canceled.
+  int dispatch_testcancel(
+    ffi.Pointer<ffi.Void> object,
+  ) {
+    return _dispatch_testcancel(
+      object,
+    );
+  }
+
+  late final _dispatch_testcancelPtr =
+      _lookup<ffi.NativeFunction<ffi.IntPtr Function(ffi.Pointer<ffi.Void>)>>(
+          'dispatch_testcancel');
+  late final _dispatch_testcancel =
+      _dispatch_testcancelPtr.asFunction<int Function(ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function dispatch_debug
+  ///
+  /// @abstract
+  /// Programmatically log debug information about a dispatch object.
+  ///
+  /// @discussion
+  /// Programmatically log debug information about a dispatch object. By default,
+  /// the log output is sent to syslog at notice level. In the debug version of
+  /// the library, the log output is sent to a file in /var/tmp.
+  /// The log output destination can be configured via the LIBDISPATCH_LOG
+  /// environment variable, valid values are: YES, NO, syslog, stderr, file.
+  ///
+  /// This function is deprecated and will be removed in a future release.
+  /// Objective-C callers may use -debugDescription instead.
+  ///
+  /// @param object
+  /// The object to introspect.
+  ///
+  /// @param message
+  /// The message to log above and beyond the introspection.
+  void dispatch_debug(
+    dispatch_object_t object,
+    ffi.Pointer<ffi.Char> message,
+  ) {
+    return _dispatch_debug(
+      object,
+      message,
+    );
+  }
+
+  late final _dispatch_debugPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_object_t, ffi.Pointer<ffi.Char>)>>('dispatch_debug');
+  late final _dispatch_debug = _dispatch_debugPtr
+      .asFunction<void Function(dispatch_object_t, ffi.Pointer<ffi.Char>)>();
+
+  void dispatch_debugv(
+    dispatch_object_t object,
+    ffi.Pointer<ffi.Char> message,
+    ffi.Pointer<__va_list_tag> ap,
+  ) {
+    return _dispatch_debugv(
+      object,
+      message,
+      ap,
+    );
+  }
+
+  late final _dispatch_debugvPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<__va_list_tag>)>>('dispatch_debugv');
+  late final _dispatch_debugv = _dispatch_debugvPtr.asFunction<
+      void Function(dispatch_object_t, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  void dispatch_async(
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_async(
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_asyncPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_queue_t, dispatch_block_t)>>('dispatch_async');
+  late final _dispatch_async = _dispatch_asyncPtr
+      .asFunction<void Function(dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_async_f
+  ///
+  /// @abstract
+  /// Submits a function for asynchronous execution on a dispatch queue.
+  ///
+  /// @discussion
+  /// See dispatch_async() for details.
+  ///
+  /// @param queue
+  /// The target dispatch queue to which the function is submitted.
+  /// The system will hold a reference on the target queue until the function
+  /// has returned.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_async_f().
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_async_f(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_async_f(
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_async_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_queue_t, ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_async_f');
+  late final _dispatch_async_f = _dispatch_async_fPtr.asFunction<
+      void Function(
+          dispatch_queue_t, ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  void dispatch_sync(
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_sync(
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_syncPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_queue_t, dispatch_block_t)>>('dispatch_sync');
+  late final _dispatch_sync = _dispatch_syncPtr
+      .asFunction<void Function(dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_sync_f
+  ///
+  /// @abstract
+  /// Submits a function for synchronous execution on a dispatch queue.
+  ///
+  /// @discussion
+  /// See dispatch_sync() for details.
+  ///
+  /// @param queue
+  /// The target dispatch queue to which the function is submitted.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_sync_f().
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_sync_f(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_sync_f(
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_sync_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_queue_t, ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_sync_f');
+  late final _dispatch_sync_f = _dispatch_sync_fPtr.asFunction<
+      void Function(
+          dispatch_queue_t, ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  void dispatch_async_and_wait(
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_async_and_wait(
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_async_and_waitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_queue_t, dispatch_block_t)>>('dispatch_async_and_wait');
+  late final _dispatch_async_and_wait = _dispatch_async_and_waitPtr
+      .asFunction<void Function(dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_async_and_wait_f
+  ///
+  /// @abstract
+  /// Submits a function for synchronous execution on a dispatch queue.
+  ///
+  /// @discussion
+  /// See dispatch_async_and_wait() for details.
+  ///
+  /// @param queue
+  /// The target dispatch queue to which the function is submitted.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_async_and_wait_f().
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_async_and_wait_f(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_async_and_wait_f(
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_async_and_wait_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_queue_t, ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_async_and_wait_f');
+  late final _dispatch_async_and_wait_f =
+      _dispatch_async_and_wait_fPtr.asFunction<
+          void Function(
+              dispatch_queue_t, ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  void dispatch_apply(
+    int iterations,
+    dispatch_queue_t queue,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return _dispatch_apply(
+      iterations,
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_applyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Size, dispatch_queue_t,
+              ffi.Pointer<_ObjCBlock>)>>('dispatch_apply');
+  late final _dispatch_apply = _dispatch_applyPtr.asFunction<
+      void Function(int, dispatch_queue_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function dispatch_apply_f
+  ///
+  /// @abstract
+  /// Submits a function to a dispatch queue for parallel invocation.
+  ///
+  /// @discussion
+  /// See dispatch_apply() for details.
+  ///
+  /// @param iterations
+  /// The number of iterations to perform.
+  ///
+  /// @param queue
+  /// The dispatch queue to which the function is submitted.
+  /// The preferred value to pass is DISPATCH_APPLY_AUTO to automatically use
+  /// a queue appropriate for the calling thread.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the specified queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_apply_f(). The second parameter passed to this function is the
+  /// current index of iteration.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_apply_f(
+    int iterations,
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<ffi.Void> context, ffi.Size iteration)>>
+        work,
+  ) {
+    return _dispatch_apply_f(
+      iterations,
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_apply_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Size,
+              dispatch_queue_t,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Void Function(ffi.Pointer<ffi.Void> context,
+                          ffi.Size iteration)>>)>>('dispatch_apply_f');
+  late final _dispatch_apply_f = _dispatch_apply_fPtr.asFunction<
+      void Function(
+          int,
+          dispatch_queue_t,
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ffi.Void> context, ffi.Size iteration)>>)>();
+
+  /// !
+  /// @function dispatch_get_current_queue
+  ///
+  /// @abstract
+  /// Returns the queue on which the currently executing block is running.
+  ///
+  /// @discussion
+  /// Returns the queue on which the currently executing block is running.
+  ///
+  /// When dispatch_get_current_queue() is called outside of the context of a
+  /// submitted block, it will return the default concurrent queue.
+  ///
+  /// Recommended for debugging and logging purposes only:
+  /// The code must not make any assumptions about the queue returned, unless it
+  /// is one of the global queues or a queue the code has itself created.
+  /// The code must not assume that synchronous execution onto a queue is safe
+  /// from deadlock if that queue is not the one returned by
+  /// dispatch_get_current_queue().
+  ///
+  /// When dispatch_get_current_queue() is called on the main thread, it may
+  /// or may not return the same value as dispatch_get_main_queue(). Comparing
+  /// the two is not a valid way to test whether code is executing on the
+  /// main thread (see dispatch_assert_queue() and dispatch_assert_queue_not()).
+  ///
+  /// This function is deprecated and will be removed in a future release.
+  ///
+  /// @result
+  /// Returns the current queue.
+  dispatch_queue_t dispatch_get_current_queue() {
+    return _dispatch_get_current_queue();
+  }
+
+  late final _dispatch_get_current_queuePtr =
+      _lookup<ffi.NativeFunction<dispatch_queue_t Function()>>(
+          'dispatch_get_current_queue');
+  late final _dispatch_get_current_queue =
+      _dispatch_get_current_queuePtr.asFunction<dispatch_queue_t Function()>();
+
+  late final ffi.Pointer<dispatch_queue_s> __dispatch_main_q =
+      _lookup<dispatch_queue_s>('_dispatch_main_q');
+
+  ffi.Pointer<dispatch_queue_s> get _dispatch_main_q => __dispatch_main_q;
+
+  /// !
+  /// @function dispatch_get_global_queue
+  ///
+  /// @abstract
+  /// Returns a well-known global concurrent queue of a given quality of service
+  /// class.
+  ///
+  /// @discussion
+  /// See dispatch_queue_global_t.
+  ///
+  /// @param identifier
+  /// A quality of service class defined in qos_class_t or a priority defined in
+  /// dispatch_queue_priority_t.
+  ///
+  /// It is recommended to use quality of service class values to identify the
+  /// well-known global concurrent queues:
+  /// - QOS_CLASS_USER_INTERACTIVE
+  /// - QOS_CLASS_USER_INITIATED
+  /// - QOS_CLASS_DEFAULT
+  /// - QOS_CLASS_UTILITY
+  /// - QOS_CLASS_BACKGROUND
+  ///
+  /// The global concurrent queues may still be identified by their priority,
+  /// which map to the following QOS classes:
+  /// - DISPATCH_QUEUE_PRIORITY_HIGH:         QOS_CLASS_USER_INITIATED
+  /// - DISPATCH_QUEUE_PRIORITY_DEFAULT:      QOS_CLASS_DEFAULT
+  /// - DISPATCH_QUEUE_PRIORITY_LOW:          QOS_CLASS_UTILITY
+  /// - DISPATCH_QUEUE_PRIORITY_BACKGROUND:   QOS_CLASS_BACKGROUND
+  ///
+  /// @param flags
+  /// Reserved for future use. Passing any value other than zero may result in
+  /// a NULL return value.
+  ///
+  /// @result
+  /// Returns the requested global queue or NULL if the requested global queue
+  /// does not exist.
+  dispatch_queue_global_t dispatch_get_global_queue(
+    int identifier,
+    int flags,
+  ) {
+    return _dispatch_get_global_queue(
+      identifier,
+      flags,
+    );
+  }
+
+  late final _dispatch_get_global_queuePtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_queue_global_t Function(
+              ffi.IntPtr, ffi.UintPtr)>>('dispatch_get_global_queue');
+  late final _dispatch_get_global_queue = _dispatch_get_global_queuePtr
+      .asFunction<dispatch_queue_global_t Function(int, int)>();
+
+  late final ffi.Pointer<dispatch_queue_attr_s>
+      __dispatch_queue_attr_concurrent =
+      _lookup<dispatch_queue_attr_s>('_dispatch_queue_attr_concurrent');
+
+  ffi.Pointer<dispatch_queue_attr_s> get _dispatch_queue_attr_concurrent =>
+      __dispatch_queue_attr_concurrent;
+
+  /// !
+  /// @function dispatch_queue_attr_make_initially_inactive
+  ///
+  /// @abstract
+  /// Returns an attribute value which may be provided to dispatch_queue_create()
+  /// or dispatch_queue_create_with_target(), in order to make the created queue
+  /// initially inactive.
+  ///
+  /// @discussion
+  /// Dispatch queues may be created in an inactive state. Queues in this state
+  /// have to be activated before any blocks associated with them will be invoked.
+  ///
+  /// A queue in inactive state cannot be deallocated, dispatch_activate() must be
+  /// called before the last reference to a queue created with this attribute is
+  /// released.
+  ///
+  /// The target queue of a queue in inactive state can be changed using
+  /// dispatch_set_target_queue(). Change of target queue is no longer permitted
+  /// once an initially inactive queue has been activated.
+  ///
+  /// @param attr
+  /// A queue attribute value to be combined with the initially inactive attribute.
+  ///
+  /// @return
+  /// Returns an attribute value which may be provided to dispatch_queue_create()
+  /// and dispatch_queue_create_with_target().
+  /// The new value combines the attributes specified by the 'attr' parameter with
+  /// the initially inactive attribute.
+  dispatch_queue_attr_t dispatch_queue_attr_make_initially_inactive(
+    dispatch_queue_attr_t attr,
+  ) {
+    return _dispatch_queue_attr_make_initially_inactive(
+      attr,
+    );
+  }
+
+  late final _dispatch_queue_attr_make_initially_inactivePtr = _lookup<
+          ffi.NativeFunction<
+              dispatch_queue_attr_t Function(dispatch_queue_attr_t)>>(
+      'dispatch_queue_attr_make_initially_inactive');
+  late final _dispatch_queue_attr_make_initially_inactive =
+      _dispatch_queue_attr_make_initially_inactivePtr
+          .asFunction<dispatch_queue_attr_t Function(dispatch_queue_attr_t)>();
+
+  /// !
+  /// @function dispatch_queue_attr_make_with_autorelease_frequency
+  ///
+  /// @abstract
+  /// Returns a dispatch queue attribute value with the autorelease frequency
+  /// set to the specified value.
+  ///
+  /// @discussion
+  /// When a queue uses the per-workitem autorelease frequency (either directly
+  /// or inherithed from its target queue), any block submitted asynchronously to
+  /// this queue (via dispatch_async(), dispatch_barrier_async(),
+  /// dispatch_group_notify(), etc...) is executed as if surrounded by a individual
+  /// Objective-C <code>@autoreleasepool</code> scope.
+  ///
+  /// Autorelease frequency has no effect on blocks that are submitted
+  /// synchronously to a queue (via dispatch_sync(), dispatch_barrier_sync()).
+  ///
+  /// The global concurrent queues have the DISPATCH_AUTORELEASE_FREQUENCY_NEVER
+  /// behavior. Manually created dispatch queues use
+  /// DISPATCH_AUTORELEASE_FREQUENCY_INHERIT by default.
+  ///
+  /// Queues created with this attribute cannot change target queues after having
+  /// been activated. See dispatch_set_target_queue() and dispatch_activate().
+  ///
+  /// @param attr
+  /// A queue attribute value to be combined with the specified autorelease
+  /// frequency or NULL.
+  ///
+  /// @param frequency
+  /// The requested autorelease frequency.
+  ///
+  /// @return
+  /// Returns an attribute value which may be provided to dispatch_queue_create()
+  /// or NULL if an invalid autorelease frequency was requested.
+  /// This new value combines the attributes specified by the 'attr' parameter and
+  /// the chosen autorelease frequency.
+  dispatch_queue_attr_t dispatch_queue_attr_make_with_autorelease_frequency(
+    dispatch_queue_attr_t attr,
+    int frequency,
+  ) {
+    return _dispatch_queue_attr_make_with_autorelease_frequency(
+      attr,
+      frequency,
+    );
+  }
+
+  late final _dispatch_queue_attr_make_with_autorelease_frequencyPtr = _lookup<
+          ffi.NativeFunction<
+              dispatch_queue_attr_t Function(
+                  dispatch_queue_attr_t, ffi.Int32)>>(
+      'dispatch_queue_attr_make_with_autorelease_frequency');
+  late final _dispatch_queue_attr_make_with_autorelease_frequency =
+      _dispatch_queue_attr_make_with_autorelease_frequencyPtr.asFunction<
+          dispatch_queue_attr_t Function(dispatch_queue_attr_t, int)>();
+
+  /// !
+  /// @function dispatch_queue_attr_make_with_qos_class
+  ///
+  /// @abstract
+  /// Returns an attribute value which may be provided to dispatch_queue_create()
+  /// or dispatch_queue_create_with_target(), in order to assign a QOS class and
+  /// relative priority to the queue.
+  ///
+  /// @discussion
+  /// When specified in this manner, the QOS class and relative priority take
+  /// precedence over those inherited from the dispatch queue's target queue (if
+  /// any) as long that does not result in a lower QOS class and relative priority.
+  ///
+  /// The global queue priorities map to the following QOS classes:
+  /// - DISPATCH_QUEUE_PRIORITY_HIGH:         QOS_CLASS_USER_INITIATED
+  /// - DISPATCH_QUEUE_PRIORITY_DEFAULT:      QOS_CLASS_DEFAULT
+  /// - DISPATCH_QUEUE_PRIORITY_LOW:          QOS_CLASS_UTILITY
+  /// - DISPATCH_QUEUE_PRIORITY_BACKGROUND:   QOS_CLASS_BACKGROUND
+  ///
+  /// Example:
+  /// <code>
+  /// dispatch_queue_t queue;
+  /// dispatch_queue_attr_t attr;
+  /// attr = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL,
+  /// QOS_CLASS_UTILITY, 0);
+  /// queue = dispatch_queue_create("com.example.myqueue", attr);
+  /// </code>
+  ///
+  /// The QOS class and relative priority set this way on a queue have no effect on
+  /// blocks that are submitted synchronously to a queue (via dispatch_sync(),
+  /// dispatch_barrier_sync()).
+  ///
+  /// @param attr
+  /// A queue attribute value to be combined with the QOS class, or NULL.
+  ///
+  /// @param qos_class
+  /// A QOS class value:
+  /// - QOS_CLASS_USER_INTERACTIVE
+  /// - QOS_CLASS_USER_INITIATED
+  /// - QOS_CLASS_DEFAULT
+  /// - QOS_CLASS_UTILITY
+  /// - QOS_CLASS_BACKGROUND
+  /// Passing any other value results in NULL being returned.
+  ///
+  /// @param relative_priority
+  /// A relative priority within the QOS class. This value is a negative
+  /// offset from the maximum supported scheduler priority for the given class.
+  /// Passing a value greater than zero or less than QOS_MIN_RELATIVE_PRIORITY
+  /// results in NULL being returned.
+  ///
+  /// @return
+  /// Returns an attribute value which may be provided to dispatch_queue_create()
+  /// and dispatch_queue_create_with_target(), or NULL if an invalid QOS class was
+  /// requested.
+  /// The new value combines the attributes specified by the 'attr' parameter and
+  /// the new QOS class and relative priority.
+  dispatch_queue_attr_t dispatch_queue_attr_make_with_qos_class(
+    dispatch_queue_attr_t attr,
+    int qos_class,
+    int relative_priority,
+  ) {
+    return _dispatch_queue_attr_make_with_qos_class(
+      attr,
+      qos_class,
+      relative_priority,
+    );
+  }
+
+  late final _dispatch_queue_attr_make_with_qos_classPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_queue_attr_t Function(dispatch_queue_attr_t, ffi.Int32,
+              ffi.Int)>>('dispatch_queue_attr_make_with_qos_class');
+  late final _dispatch_queue_attr_make_with_qos_class =
+      _dispatch_queue_attr_make_with_qos_classPtr.asFunction<
+          dispatch_queue_attr_t Function(dispatch_queue_attr_t, int, int)>();
+
+  /// !
+  /// @function dispatch_queue_create_with_target
+  ///
+  /// @abstract
+  /// Creates a new dispatch queue with a specified target queue.
+  ///
+  /// @discussion
+  /// Dispatch queues created with the DISPATCH_QUEUE_SERIAL or a NULL attribute
+  /// invoke blocks serially in FIFO order.
+  ///
+  /// Dispatch queues created with the DISPATCH_QUEUE_CONCURRENT attribute may
+  /// invoke blocks concurrently (similarly to the global concurrent queues, but
+  /// potentially with more overhead), and support barrier blocks submitted with
+  /// the dispatch barrier API, which e.g. enables the implementation of efficient
+  /// reader-writer schemes.
+  ///
+  /// When a dispatch queue is no longer needed, it should be released with
+  /// dispatch_release(). Note that any pending blocks submitted asynchronously to
+  /// a queue will hold a reference to that queue. Therefore a queue will not be
+  /// deallocated until all pending blocks have finished.
+  ///
+  /// When using a dispatch queue attribute @a attr specifying a QoS class (derived
+  /// from the result of dispatch_queue_attr_make_with_qos_class()), passing the
+  /// result of dispatch_get_global_queue() in @a target will ignore the QoS class
+  /// of that global queue and will use the global queue with the QoS class
+  /// specified by attr instead.
+  ///
+  /// Queues created with dispatch_queue_create_with_target() cannot have their
+  /// target queue changed, unless created inactive (See
+  /// dispatch_queue_attr_make_initially_inactive()), in which case the target
+  /// queue can be changed until the newly created queue is activated with
+  /// dispatch_activate().
+  ///
+  /// @param label
+  /// A string label to attach to the queue.
+  /// This parameter is optional and may be NULL.
+  ///
+  /// @param attr
+  /// A predefined attribute such as DISPATCH_QUEUE_SERIAL,
+  /// DISPATCH_QUEUE_CONCURRENT, or the result of a call to
+  /// a dispatch_queue_attr_make_with_* function.
+  ///
+  /// @param target
+  /// The target queue for the newly created queue. The target queue is retained.
+  /// If this parameter is DISPATCH_TARGET_QUEUE_DEFAULT, sets the queue's target
+  /// queue to the default target queue for the given queue type.
+  ///
+  /// @result
+  /// The newly created dispatch queue.
+  dispatch_queue_t dispatch_queue_create_with_target(
+    ffi.Pointer<ffi.Char> label,
+    dispatch_queue_attr_t attr,
+    dispatch_queue_t target,
+  ) {
+    return _dispatch_queue_create_with_target(
+      label,
+      attr,
+      target,
+    );
+  }
+
+  late final _dispatch_queue_create_with_targetPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_queue_t Function(
+              ffi.Pointer<ffi.Char>,
+              dispatch_queue_attr_t,
+              dispatch_queue_t)>>('dispatch_queue_create_with_target');
+  late final _dispatch_queue_create_with_target =
+      _dispatch_queue_create_with_targetPtr.asFunction<
+          dispatch_queue_t Function(ffi.Pointer<ffi.Char>,
+              dispatch_queue_attr_t, dispatch_queue_t)>();
+
+  /// !
+  /// @function dispatch_queue_create
+  ///
+  /// @abstract
+  /// Creates a new dispatch queue to which blocks may be submitted.
+  ///
+  /// @discussion
+  /// Dispatch queues created with the DISPATCH_QUEUE_SERIAL or a NULL attribute
+  /// invoke blocks serially in FIFO order.
+  ///
+  /// Dispatch queues created with the DISPATCH_QUEUE_CONCURRENT attribute may
+  /// invoke blocks concurrently (similarly to the global concurrent queues, but
+  /// potentially with more overhead), and support barrier blocks submitted with
+  /// the dispatch barrier API, which e.g. enables the implementation of efficient
+  /// reader-writer schemes.
+  ///
+  /// When a dispatch queue is no longer needed, it should be released with
+  /// dispatch_release(). Note that any pending blocks submitted asynchronously to
+  /// a queue will hold a reference to that queue. Therefore a queue will not be
+  /// deallocated until all pending blocks have finished.
+  ///
+  /// Passing the result of the dispatch_queue_attr_make_with_qos_class() function
+  /// to the attr parameter of this function allows a quality of service class and
+  /// relative priority to be specified for the newly created queue.
+  /// The quality of service class so specified takes precedence over the quality
+  /// of service class of the newly created dispatch queue's target queue (if any)
+  /// as long that does not result in a lower QOS class and relative priority.
+  ///
+  /// When no quality of service class is specified, the target queue of a newly
+  /// created dispatch queue is the default priority global concurrent queue.
+  ///
+  /// Unless explicitly specified via the attribute, queues are created active.
+  ///
+  /// @param label
+  /// A string label to attach to the queue.
+  /// This parameter is optional and may be NULL.
+  ///
+  /// @param attr
+  /// A predefined attribute such as DISPATCH_QUEUE_SERIAL,
+  /// DISPATCH_QUEUE_CONCURRENT, or the result of a call to
+  /// a dispatch_queue_attr_make_with_* function.
+  ///
+  /// @result
+  /// The newly created dispatch queue.
+  dispatch_queue_t dispatch_queue_create(
+    ffi.Pointer<ffi.Char> label,
+    dispatch_queue_attr_t attr,
+  ) {
+    return _dispatch_queue_create(
+      label,
+      attr,
+    );
+  }
+
+  late final _dispatch_queue_createPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_queue_t Function(ffi.Pointer<ffi.Char>,
+              dispatch_queue_attr_t)>>('dispatch_queue_create');
+  late final _dispatch_queue_create = _dispatch_queue_createPtr.asFunction<
+      dispatch_queue_t Function(
+          ffi.Pointer<ffi.Char>, dispatch_queue_attr_t)>();
+
+  /// !
+  /// @function dispatch_queue_get_label
+  ///
+  /// @abstract
+  /// Returns the label of the given queue, as specified when the queue was
+  /// created, or the empty string if a NULL label was specified.
+  ///
+  /// Passing DISPATCH_CURRENT_QUEUE_LABEL will return the label of the current
+  /// queue.
+  ///
+  /// @param queue
+  /// The queue to query, or DISPATCH_CURRENT_QUEUE_LABEL.
+  ///
+  /// @result
+  /// The label of the queue.
+  ffi.Pointer<ffi.Char> dispatch_queue_get_label(
+    dispatch_queue_t queue,
+  ) {
+    return _dispatch_queue_get_label(
+      queue,
+    );
+  }
+
+  late final _dispatch_queue_get_labelPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(dispatch_queue_t)>>(
+      'dispatch_queue_get_label');
+  late final _dispatch_queue_get_label = _dispatch_queue_get_labelPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(dispatch_queue_t)>();
+
+  /// !
+  /// @function dispatch_queue_get_qos_class
+  ///
+  /// @abstract
+  /// Returns the QOS class and relative priority of the given queue.
+  ///
+  /// @discussion
+  /// If the given queue was created with an attribute value returned from
+  /// dispatch_queue_attr_make_with_qos_class(), this function returns the QOS
+  /// class and relative priority specified at that time; for any other attribute
+  /// value it returns a QOS class of QOS_CLASS_UNSPECIFIED and a relative
+  /// priority of 0.
+  ///
+  /// If the given queue is one of the global queues, this function returns its
+  /// assigned QOS class value as documented under dispatch_get_global_queue() and
+  /// a relative priority of 0; in the case of the main queue it returns the QOS
+  /// value provided by qos_class_main() and a relative priority of 0.
+  ///
+  /// @param queue
+  /// The queue to query.
+  ///
+  /// @param relative_priority_ptr
+  /// A pointer to an int variable to be filled with the relative priority offset
+  /// within the QOS class, or NULL.
+  ///
+  /// @return
+  /// A QOS class value:
+  /// - QOS_CLASS_USER_INTERACTIVE
+  /// - QOS_CLASS_USER_INITIATED
+  /// - QOS_CLASS_DEFAULT
+  /// - QOS_CLASS_UTILITY
+  /// - QOS_CLASS_BACKGROUND
+  /// - QOS_CLASS_UNSPECIFIED
+  int dispatch_queue_get_qos_class(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Int> relative_priority_ptr,
+  ) {
+    return _dispatch_queue_get_qos_class(
+      queue,
+      relative_priority_ptr,
+    );
+  }
+
+  late final _dispatch_queue_get_qos_classPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(dispatch_queue_t,
+              ffi.Pointer<ffi.Int>)>>('dispatch_queue_get_qos_class');
+  late final _dispatch_queue_get_qos_class = _dispatch_queue_get_qos_classPtr
+      .asFunction<int Function(dispatch_queue_t, ffi.Pointer<ffi.Int>)>();
+
+  /// !
+  /// @function dispatch_set_target_queue
+  ///
+  /// @abstract
+  /// Sets the target queue for the given object.
+  ///
+  /// @discussion
+  /// An object's target queue is responsible for processing the object.
+  ///
+  /// When no quality of service class and relative priority is specified for a
+  /// dispatch queue at the time of creation, a dispatch queue's quality of service
+  /// class is inherited from its target queue. The dispatch_get_global_queue()
+  /// function may be used to obtain a target queue of a specific quality of
+  /// service class, however the use of dispatch_queue_attr_make_with_qos_class()
+  /// is recommended instead.
+  ///
+  /// Blocks submitted to a serial queue whose target queue is another serial
+  /// queue will not be invoked concurrently with blocks submitted to the target
+  /// queue or to any other queue with that same target queue.
+  ///
+  /// The result of introducing a cycle into the hierarchy of target queues is
+  /// undefined.
+  ///
+  /// A dispatch source's target queue specifies where its event handler and
+  /// cancellation handler blocks will be submitted.
+  ///
+  /// A dispatch I/O channel's target queue specifies where where its I/O
+  /// operations are executed. If the channel's target queue's priority is set to
+  /// DISPATCH_QUEUE_PRIORITY_BACKGROUND, then the I/O operations performed by
+  /// dispatch_io_read() or dispatch_io_write() on that queue will be
+  /// throttled when there is I/O contention.
+  ///
+  /// For all other dispatch object types, the only function of the target queue
+  /// is to determine where an object's finalizer function is invoked.
+  ///
+  /// In general, changing the target queue of an object is an asynchronous
+  /// operation that doesn't take effect immediately, and doesn't affect blocks
+  /// already associated with the specified object.
+  ///
+  /// However, if an object is inactive at the time dispatch_set_target_queue() is
+  /// called, then the target queue change takes effect immediately, and will
+  /// affect blocks already associated with the specified object. After an
+  /// initially inactive object has been activated, calling
+  /// dispatch_set_target_queue() results in an assertion and the process being
+  /// terminated.
+  ///
+  /// If a dispatch queue is active and targeted by other dispatch objects,
+  /// changing its target queue results in undefined behavior.  Instead, it is
+  /// recommended to create dispatch objects in an inactive state, set up the
+  /// relevant target queues and then activate them.
+  ///
+  /// @param object
+  /// The object to modify.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param queue
+  /// The new target queue for the object. The queue is retained, and the
+  /// previous target queue, if any, is released.
+  /// If queue is DISPATCH_TARGET_QUEUE_DEFAULT, set the object's target queue
+  /// to the default target queue for the given object type.
+  void dispatch_set_target_queue(
+    dispatch_object_t object,
+    dispatch_queue_t queue,
+  ) {
+    return _dispatch_set_target_queue(
+      object,
+      queue,
+    );
+  }
+
+  late final _dispatch_set_target_queuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_object_t,
+              dispatch_queue_t)>>('dispatch_set_target_queue');
+  late final _dispatch_set_target_queue = _dispatch_set_target_queuePtr
+      .asFunction<void Function(dispatch_object_t, dispatch_queue_t)>();
+
+  /// !
+  /// @function dispatch_main
+  ///
+  /// @abstract
+  /// Execute blocks submitted to the main queue.
+  ///
+  /// @discussion
+  /// This function "parks" the main thread and waits for blocks to be submitted
+  /// to the main queue. This function never returns.
+  ///
+  /// Applications that call NSApplicationMain() or CFRunLoopRun() on the
+  /// main thread do not need to call dispatch_main().
+  void dispatch_main() {
+    return _dispatch_main();
+  }
+
+  late final _dispatch_mainPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('dispatch_main');
+  late final _dispatch_main = _dispatch_mainPtr.asFunction<void Function()>();
+
+  void dispatch_after(
+    int when,
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_after(
+      when,
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_afterPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_time_t, dispatch_queue_t,
+              dispatch_block_t)>>('dispatch_after');
+  late final _dispatch_after = _dispatch_afterPtr
+      .asFunction<void Function(int, dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_after_f
+  ///
+  /// @abstract
+  /// Schedule a function for execution on a given queue at a specified time.
+  ///
+  /// @discussion
+  /// See dispatch_after() for details.
+  ///
+  /// @param when
+  /// A temporal milestone returned by dispatch_time() or dispatch_walltime().
+  ///
+  /// @param queue
+  /// A queue to which the given function will be submitted at the specified time.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_after_f().
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_after_f(
+    int when,
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_after_f(
+      when,
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_after_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_time_t, dispatch_queue_t,
+              ffi.Pointer<ffi.Void>, dispatch_function_t)>>('dispatch_after_f');
+  late final _dispatch_after_f = _dispatch_after_fPtr.asFunction<
+      void Function(
+          int, dispatch_queue_t, ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  void dispatch_barrier_async(
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_barrier_async(
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_barrier_asyncPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_queue_t, dispatch_block_t)>>('dispatch_barrier_async');
+  late final _dispatch_barrier_async = _dispatch_barrier_asyncPtr
+      .asFunction<void Function(dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_barrier_async_f
+  ///
+  /// @abstract
+  /// Submits a barrier function for asynchronous execution on a dispatch queue.
+  ///
+  /// @discussion
+  /// Submits a function to a dispatch queue like dispatch_async_f(), but marks
+  /// that function as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT
+  /// queues).
+  ///
+  /// See dispatch_async_f() for details and "Dispatch Barrier API" for a
+  /// description of the barrier semantics.
+  ///
+  /// @param queue
+  /// The target dispatch queue to which the function is submitted.
+  /// The system will hold a reference on the target queue until the function
+  /// has returned.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_barrier_async_f().
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_barrier_async_f(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_barrier_async_f(
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_barrier_async_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_queue_t, ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_barrier_async_f');
+  late final _dispatch_barrier_async_f =
+      _dispatch_barrier_async_fPtr.asFunction<
+          void Function(
+              dispatch_queue_t, ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  void dispatch_barrier_sync(
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_barrier_sync(
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_barrier_syncPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_queue_t, dispatch_block_t)>>('dispatch_barrier_sync');
+  late final _dispatch_barrier_sync = _dispatch_barrier_syncPtr
+      .asFunction<void Function(dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_barrier_sync_f
+  ///
+  /// @abstract
+  /// Submits a barrier function for synchronous execution on a dispatch queue.
+  ///
+  /// @discussion
+  /// Submits a function to a dispatch queue like dispatch_sync_f(), but marks that
+  /// fuction as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT queues).
+  ///
+  /// See dispatch_sync_f() for details.
+  ///
+  /// @param queue
+  /// The target dispatch queue to which the function is submitted.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_barrier_sync_f().
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_barrier_sync_f(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_barrier_sync_f(
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_barrier_sync_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_queue_t, ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_barrier_sync_f');
+  late final _dispatch_barrier_sync_f = _dispatch_barrier_sync_fPtr.asFunction<
+      void Function(
+          dispatch_queue_t, ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  void dispatch_barrier_async_and_wait(
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_barrier_async_and_wait(
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_barrier_async_and_waitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_queue_t,
+              dispatch_block_t)>>('dispatch_barrier_async_and_wait');
+  late final _dispatch_barrier_async_and_wait =
+      _dispatch_barrier_async_and_waitPtr
+          .asFunction<void Function(dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_barrier_async_and_wait_f
+  ///
+  /// @abstract
+  /// Submits a function for synchronous execution on a dispatch queue.
+  ///
+  /// @discussion
+  /// Submits a function to a dispatch queue like dispatch_async_and_wait_f(), but
+  /// marks that function as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT
+  /// queues).
+  ///
+  /// See "Dispatch Barrier API" for a description of the barrier semantics.
+  ///
+  /// @param queue
+  /// The target dispatch queue to which the function is submitted.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_barrier_async_and_wait_f().
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_barrier_async_and_wait_f(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_barrier_async_and_wait_f(
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_barrier_async_and_wait_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_queue_t, ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_barrier_async_and_wait_f');
+  late final _dispatch_barrier_async_and_wait_f =
+      _dispatch_barrier_async_and_wait_fPtr.asFunction<
+          void Function(
+              dispatch_queue_t, ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  /// !
+  /// @function dispatch_queue_set_specific
+  ///
+  /// @abstract
+  /// Associates a subsystem-specific context with a dispatch queue, for a key
+  /// unique to the subsystem.
+  ///
+  /// @discussion
+  /// The specified destructor will be invoked with the context on the default
+  /// priority global concurrent queue when a new context is set for the same key,
+  /// or after all references to the queue have been released.
+  ///
+  /// @param queue
+  /// The dispatch queue to modify.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param key
+  /// The key to set the context for, typically a pointer to a static variable
+  /// specific to the subsystem. Keys are only compared as pointers and never
+  /// dereferenced. Passing a string constant directly is not recommended.
+  /// The NULL key is reserved and attempts to set a context for it are ignored.
+  ///
+  /// @param context
+  /// The new subsystem-specific context for the object. This may be NULL.
+  ///
+  /// @param destructor
+  /// The destructor function pointer. This may be NULL and is ignored if context
+  /// is NULL.
+  void dispatch_queue_set_specific(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t destructor,
+  ) {
+    return _dispatch_queue_set_specific(
+      queue,
+      key,
+      context,
+      destructor,
+    );
+  }
+
+  late final _dispatch_queue_set_specificPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_queue_t,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_queue_set_specific');
+  late final _dispatch_queue_set_specific =
+      _dispatch_queue_set_specificPtr.asFunction<
+          void Function(dispatch_queue_t, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>, dispatch_function_t)>();
+
+  /// !
+  /// @function dispatch_queue_get_specific
+  ///
+  /// @abstract
+  /// Returns the subsystem-specific context associated with a dispatch queue, for
+  /// a key unique to the subsystem.
+  ///
+  /// @discussion
+  /// Returns the context for the specified key if it has been set on the specified
+  /// queue.
+  ///
+  /// @param queue
+  /// The dispatch queue to query.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param key
+  /// The key to get the context for, typically a pointer to a static variable
+  /// specific to the subsystem. Keys are only compared as pointers and never
+  /// dereferenced. Passing a string constant directly is not recommended.
+  ///
+  /// @result
+  /// The context for the specified key or NULL if no context was found.
+  ffi.Pointer<ffi.Void> dispatch_queue_get_specific(
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _dispatch_queue_get_specific(
+      queue,
+      key,
+    );
+  }
+
+  late final _dispatch_queue_get_specificPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(dispatch_queue_t,
+              ffi.Pointer<ffi.Void>)>>('dispatch_queue_get_specific');
+  late final _dispatch_queue_get_specific =
+      _dispatch_queue_get_specificPtr.asFunction<
+          ffi.Pointer<ffi.Void> Function(
+              dispatch_queue_t, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function dispatch_get_specific
+  ///
+  /// @abstract
+  /// Returns the current subsystem-specific context for a key unique to the
+  /// subsystem.
+  ///
+  /// @discussion
+  /// When called from a block executing on a queue, returns the context for the
+  /// specified key if it has been set on the queue, otherwise returns the result
+  /// of dispatch_get_specific() executed on the queue's target queue or NULL
+  /// if the current queue is a global concurrent queue.
+  ///
+  /// @param key
+  /// The key to get the context for, typically a pointer to a static variable
+  /// specific to the subsystem. Keys are only compared as pointers and never
+  /// dereferenced. Passing a string constant directly is not recommended.
+  ///
+  /// @result
+  /// The context for the specified key or NULL if no context was found.
+  ffi.Pointer<ffi.Void> dispatch_get_specific(
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _dispatch_get_specific(
+      key,
+    );
+  }
+
+  late final _dispatch_get_specificPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>)>>('dispatch_get_specific');
+  late final _dispatch_get_specific = _dispatch_get_specificPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function dispatch_assert_queue
+  ///
+  /// @abstract
+  /// Verifies that the current block is executing on a given dispatch queue.
+  ///
+  /// @discussion
+  /// Some code expects to be run on a specific dispatch queue. This function
+  /// verifies that that expectation is true.
+  ///
+  /// If the currently executing block was submitted to the specified queue or to
+  /// any queue targeting it (see dispatch_set_target_queue()), this function
+  /// returns.
+  ///
+  /// If the currently executing block was submitted with a synchronous API
+  /// (dispatch_sync(), dispatch_barrier_sync(), ...), the context of the
+  /// submitting block is also evaluated (recursively).
+  /// If a synchronously submitting block is found that was itself submitted to
+  /// the specified queue or to any queue targeting it, this function returns.
+  ///
+  /// Otherwise this function asserts: it logs an explanation to the system log and
+  /// terminates the application.
+  ///
+  /// Passing the result of dispatch_get_main_queue() to this function verifies
+  /// that the current block was submitted to the main queue, or to a queue
+  /// targeting it, or is running on the main thread (in any context).
+  ///
+  /// When dispatch_assert_queue() is called outside of the context of a
+  /// submitted block (for example from the context of a thread created manually
+  /// with pthread_create()) then this function will also assert and terminate
+  /// the application.
+  ///
+  /// The variant dispatch_assert_queue_debug() is compiled out when the
+  /// preprocessor macro NDEBUG is defined. (See also assert(3)).
+  ///
+  /// @param queue
+  /// The dispatch queue that the current block is expected to run on.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_assert_queue(
+    dispatch_queue_t queue,
+  ) {
+    return _dispatch_assert_queue(
+      queue,
+    );
+  }
+
+  late final _dispatch_assert_queuePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_queue_t)>>(
+          'dispatch_assert_queue');
+  late final _dispatch_assert_queue =
+      _dispatch_assert_queuePtr.asFunction<void Function(dispatch_queue_t)>();
+
+  /// !
+  /// @function dispatch_assert_queue_barrier
+  ///
+  /// @abstract
+  /// Verifies that the current block is executing on a given dispatch queue,
+  /// and that the block acts as a barrier on that queue.
+  ///
+  /// @discussion
+  /// This behaves exactly like dispatch_assert_queue(), with the additional check
+  /// that the current block acts as a barrier on the specified queue, which is
+  /// always true if the specified queue is serial (see DISPATCH_BLOCK_BARRIER or
+  /// dispatch_barrier_async() for details).
+  ///
+  /// The variant dispatch_assert_queue_barrier_debug() is compiled out when the
+  /// preprocessor macro NDEBUG is defined. (See also assert()).
+  ///
+  /// @param queue
+  /// The dispatch queue that the current block is expected to run as a barrier on.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_assert_queue_barrier(
+    dispatch_queue_t queue,
+  ) {
+    return _dispatch_assert_queue_barrier(
+      queue,
+    );
+  }
+
+  late final _dispatch_assert_queue_barrierPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_queue_t)>>(
+          'dispatch_assert_queue_barrier');
+  late final _dispatch_assert_queue_barrier = _dispatch_assert_queue_barrierPtr
+      .asFunction<void Function(dispatch_queue_t)>();
+
+  /// !
+  /// @function dispatch_assert_queue_not
+  ///
+  /// @abstract
+  /// Verifies that the current block is not executing on a given dispatch queue.
+  ///
+  /// @discussion
+  /// This function is the equivalent of dispatch_assert_queue() with the test for
+  /// equality inverted. That means that it will terminate the application when
+  /// dispatch_assert_queue() would return, and vice-versa. See discussion there.
+  ///
+  /// The variant dispatch_assert_queue_not_debug() is compiled out when the
+  /// preprocessor macro NDEBUG is defined. (See also assert(3)).
+  ///
+  /// @param queue
+  /// The dispatch queue that the current block is expected not to run on.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_assert_queue_not(
+    dispatch_queue_t queue,
+  ) {
+    return _dispatch_assert_queue_not(
+      queue,
+    );
+  }
+
+  late final _dispatch_assert_queue_notPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_queue_t)>>(
+          'dispatch_assert_queue_not');
+  late final _dispatch_assert_queue_not = _dispatch_assert_queue_notPtr
+      .asFunction<void Function(dispatch_queue_t)>();
+
+  /// !
+  /// @function dispatch_block_create
+  ///
+  /// @abstract
+  /// Create a new dispatch block object on the heap from an existing block and
+  /// the given flags.
+  ///
+  /// @discussion
+  /// The provided block is Block_copy'ed to the heap and retained by the newly
+  /// created dispatch block object.
+  ///
+  /// The returned dispatch block object is intended to be submitted to a dispatch
+  /// queue with dispatch_async() and related functions, but may also be invoked
+  /// directly. Both operations can be performed an arbitrary number of times but
+  /// only the first completed execution of a dispatch block object can be waited
+  /// on with dispatch_block_wait() or observed with dispatch_block_notify().
+  ///
+  /// If the returned dispatch block object is submitted to a dispatch queue, the
+  /// submitted block instance will be associated with the QOS class current at the
+  /// time of submission, unless one of the following flags assigned a specific QOS
+  /// class (or no QOS class) at the time of block creation:
+  /// - DISPATCH_BLOCK_ASSIGN_CURRENT
+  /// - DISPATCH_BLOCK_NO_QOS_CLASS
+  /// - DISPATCH_BLOCK_DETACHED
+  /// The QOS class the block object will be executed with also depends on the QOS
+  /// class assigned to the queue and which of the following flags was specified or
+  /// defaulted to:
+  /// - DISPATCH_BLOCK_INHERIT_QOS_CLASS (default for asynchronous execution)
+  /// - DISPATCH_BLOCK_ENFORCE_QOS_CLASS (default for synchronous execution)
+  /// See description of dispatch_block_flags_t for details.
+  ///
+  /// If the returned dispatch block object is submitted directly to a serial queue
+  /// and is configured to execute with a specific QOS class, the system will make
+  /// a best effort to apply the necessary QOS overrides to ensure that blocks
+  /// submitted earlier to the serial queue are executed at that same QOS class or
+  /// higher.
+  ///
+  /// @param flags
+  /// Configuration flags for the block object.
+  /// Passing a value that is not a bitwise OR of flags from dispatch_block_flags_t
+  /// results in NULL being returned.
+  ///
+  /// @param block
+  /// The block to create the dispatch block object from.
+  ///
+  /// @result
+  /// The newly created dispatch block object, or NULL.
+  /// When not building with Objective-C ARC, must be released with a -[release]
+  /// message or the Block_release() function.
+  dispatch_block_t dispatch_block_create(
+    int flags,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_block_create(
+      flags,
+      block,
+    );
+  }
+
+  late final _dispatch_block_createPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_block_t Function(
+              ffi.Int32, dispatch_block_t)>>('dispatch_block_create');
+  late final _dispatch_block_create = _dispatch_block_createPtr
+      .asFunction<dispatch_block_t Function(int, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_block_create_with_qos_class
+  ///
+  /// @abstract
+  /// Create a new dispatch block object on the heap from an existing block and
+  /// the given flags, and assign it the specified QOS class and relative priority.
+  ///
+  /// @discussion
+  /// The provided block is Block_copy'ed to the heap and retained by the newly
+  /// created dispatch block object.
+  ///
+  /// The returned dispatch block object is intended to be submitted to a dispatch
+  /// queue with dispatch_async() and related functions, but may also be invoked
+  /// directly. Both operations can be performed an arbitrary number of times but
+  /// only the first completed execution of a dispatch block object can be waited
+  /// on with dispatch_block_wait() or observed with dispatch_block_notify().
+  ///
+  /// If invoked directly, the returned dispatch block object will be executed with
+  /// the assigned QOS class as long as that does not result in a lower QOS class
+  /// than what is current on the calling thread.
+  ///
+  /// If the returned dispatch block object is submitted to a dispatch queue, the
+  /// QOS class it will be executed with depends on the QOS class assigned to the
+  /// block, the QOS class assigned to the queue and which of the following flags
+  /// was specified or defaulted to:
+  /// - DISPATCH_BLOCK_INHERIT_QOS_CLASS: default for asynchronous execution
+  /// - DISPATCH_BLOCK_ENFORCE_QOS_CLASS: default for synchronous execution
+  /// See description of dispatch_block_flags_t for details.
+  ///
+  /// If the returned dispatch block object is submitted directly to a serial queue
+  /// and is configured to execute with a specific QOS class, the system will make
+  /// a best effort to apply the necessary QOS overrides to ensure that blocks
+  /// submitted earlier to the serial queue are executed at that same QOS class or
+  /// higher.
+  ///
+  /// @param flags
+  /// Configuration flags for the new block object.
+  /// Passing a value that is not a bitwise OR of flags from dispatch_block_flags_t
+  /// results in NULL being returned.
+  ///
+  /// @param qos_class
+  /// A QOS class value:
+  /// - QOS_CLASS_USER_INTERACTIVE
+  /// - QOS_CLASS_USER_INITIATED
+  /// - QOS_CLASS_DEFAULT
+  /// - QOS_CLASS_UTILITY
+  /// - QOS_CLASS_BACKGROUND
+  /// - QOS_CLASS_UNSPECIFIED
+  /// Passing QOS_CLASS_UNSPECIFIED is equivalent to specifying the
+  /// DISPATCH_BLOCK_NO_QOS_CLASS flag. Passing any other value results in NULL
+  /// being returned.
+  ///
+  /// @param relative_priority
+  /// A relative priority within the QOS class. This value is a negative
+  /// offset from the maximum supported scheduler priority for the given class.
+  /// Passing a value greater than zero or less than QOS_MIN_RELATIVE_PRIORITY
+  /// results in NULL being returned.
+  ///
+  /// @param block
+  /// The block to create the dispatch block object from.
+  ///
+  /// @result
+  /// The newly created dispatch block object, or NULL.
+  /// When not building with Objective-C ARC, must be released with a -[release]
+  /// message or the Block_release() function.
+  dispatch_block_t dispatch_block_create_with_qos_class(
+    int flags,
+    int qos_class,
+    int relative_priority,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_block_create_with_qos_class(
+      flags,
+      qos_class,
+      relative_priority,
+      block,
+    );
+  }
+
+  late final _dispatch_block_create_with_qos_classPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_block_t Function(ffi.Int32, ffi.Int32, ffi.Int,
+              dispatch_block_t)>>('dispatch_block_create_with_qos_class');
+  late final _dispatch_block_create_with_qos_class =
+      _dispatch_block_create_with_qos_classPtr.asFunction<
+          dispatch_block_t Function(int, int, int, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_block_perform
+  ///
+  /// @abstract
+  /// Create, synchronously execute and release a dispatch block object from the
+  /// specified block and flags.
+  ///
+  /// @discussion
+  /// Behaves identically to the sequence
+  /// <code>
+  /// dispatch_block_t b = dispatch_block_create(flags, block);
+  /// b();
+  /// Block_release(b);
+  /// </code>
+  /// but may be implemented more efficiently internally by not requiring a copy
+  /// to the heap of the specified block or the allocation of a new block object.
+  ///
+  /// @param flags
+  /// Configuration flags for the temporary block object.
+  /// The result of passing a value that is not a bitwise OR of flags from
+  /// dispatch_block_flags_t is undefined.
+  ///
+  /// @param block
+  /// The block to create the temporary block object from.
+  void dispatch_block_perform(
+    int flags,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_block_perform(
+      flags,
+      block,
+    );
+  }
+
+  late final _dispatch_block_performPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Int32, dispatch_block_t)>>(
+      'dispatch_block_perform');
+  late final _dispatch_block_perform = _dispatch_block_performPtr
+      .asFunction<void Function(int, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_block_wait
+  ///
+  /// @abstract
+  /// Wait synchronously until execution of the specified dispatch block object has
+  /// completed or until the specified timeout has elapsed.
+  ///
+  /// @discussion
+  /// This function will return immediately if execution of the block object has
+  /// already completed.
+  ///
+  /// It is not possible to wait for multiple executions of the same block object
+  /// with this interface; use dispatch_group_wait() for that purpose. A single
+  /// dispatch block object may either be waited on once and executed once,
+  /// or it may be executed any number of times. The behavior of any other
+  /// combination is undefined. Submission to a dispatch queue counts as an
+  /// execution, even if cancellation (dispatch_block_cancel) means the block's
+  /// code never runs.
+  ///
+  /// The result of calling this function from multiple threads simultaneously
+  /// with the same dispatch block object is undefined, but note that doing so
+  /// would violate the rules described in the previous paragraph.
+  ///
+  /// If this function returns indicating that the specified timeout has elapsed,
+  /// then that invocation does not count as the one allowed wait.
+  ///
+  /// If at the time this function is called, the specified dispatch block object
+  /// has been submitted directly to a serial queue, the system will make a best
+  /// effort to apply the necessary QOS overrides to ensure that the block and any
+  /// blocks submitted earlier to that serial queue are executed at the QOS class
+  /// (or higher) of the thread calling dispatch_block_wait().
+  ///
+  /// @param block
+  /// The dispatch block object to wait on.
+  /// The result of passing NULL or a block object not returned by one of the
+  /// dispatch_block_create* functions is undefined.
+  ///
+  /// @param timeout
+  /// When to timeout (see dispatch_time). As a convenience, there are the
+  /// DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants.
+  ///
+  /// @result
+  /// Returns zero on success (the dispatch block object completed within the
+  /// specified timeout) or non-zero on error (i.e. timed out).
+  int dispatch_block_wait(
+    dispatch_block_t block,
+    int timeout,
+  ) {
+    return _dispatch_block_wait(
+      block,
+      timeout,
+    );
+  }
+
+  late final _dispatch_block_waitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.IntPtr Function(
+              dispatch_block_t, dispatch_time_t)>>('dispatch_block_wait');
+  late final _dispatch_block_wait =
+      _dispatch_block_waitPtr.asFunction<int Function(dispatch_block_t, int)>();
+
+  /// !
+  /// @function dispatch_block_notify
+  ///
+  /// @abstract
+  /// Schedule a notification block to be submitted to a queue when the execution
+  /// of a specified dispatch block object has completed.
+  ///
+  /// @discussion
+  /// This function will submit the notification block immediately if execution of
+  /// the observed block object has already completed.
+  ///
+  /// It is not possible to be notified of multiple executions of the same block
+  /// object with this interface, use dispatch_group_notify() for that purpose.
+  ///
+  /// A single dispatch block object may either be observed one or more times
+  /// and executed once, or it may be executed any number of times. The behavior
+  /// of any other combination is undefined. Submission to a dispatch queue
+  /// counts as an execution, even if cancellation (dispatch_block_cancel) means
+  /// the block's code never runs.
+  ///
+  /// If multiple notification blocks are scheduled for a single block object,
+  /// there is no defined order in which the notification blocks will be submitted
+  /// to their associated queues.
+  ///
+  /// @param block
+  /// The dispatch block object to observe.
+  /// The result of passing NULL or a block object not returned by one of the
+  /// dispatch_block_create* functions is undefined.
+  ///
+  /// @param queue
+  /// The queue to which the supplied notification block will be submitted when
+  /// the observed block completes.
+  ///
+  /// @param notification_block
+  /// The notification block to submit when the observed block object completes.
+  void dispatch_block_notify(
+    dispatch_block_t block,
+    dispatch_queue_t queue,
+    dispatch_block_t notification_block,
+  ) {
+    return _dispatch_block_notify(
+      block,
+      queue,
+      notification_block,
+    );
+  }
+
+  late final _dispatch_block_notifyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_block_t, dispatch_queue_t,
+              dispatch_block_t)>>('dispatch_block_notify');
+  late final _dispatch_block_notify = _dispatch_block_notifyPtr.asFunction<
+      void Function(dispatch_block_t, dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_block_cancel
+  ///
+  /// @abstract
+  /// Asynchronously cancel the specified dispatch block object.
+  ///
+  /// @discussion
+  /// Cancellation causes any future execution of the dispatch block object to
+  /// return immediately, but does not affect any execution of the block object
+  /// that is already in progress.
+  ///
+  /// Release of any resources associated with the block object will be delayed
+  /// until execution of the block object is next attempted (or any execution
+  /// already in progress completes).
+  ///
+  /// NOTE: care needs to be taken to ensure that a block object that may be
+  /// canceled does not capture any resources that require execution of the
+  /// block body in order to be released (e.g. memory allocated with
+  /// malloc(3) that the block body calls free(3) on). Such resources will
+  /// be leaked if the block body is never executed due to cancellation.
+  ///
+  /// @param block
+  /// The dispatch block object to cancel.
+  /// The result of passing NULL or a block object not returned by one of the
+  /// dispatch_block_create* functions is undefined.
+  void dispatch_block_cancel(
+    dispatch_block_t block,
+  ) {
+    return _dispatch_block_cancel(
+      block,
+    );
+  }
+
+  late final _dispatch_block_cancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_block_t)>>(
+          'dispatch_block_cancel');
+  late final _dispatch_block_cancel =
+      _dispatch_block_cancelPtr.asFunction<void Function(dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_block_testcancel
+  ///
+  /// @abstract
+  /// Tests whether the given dispatch block object has been canceled.
+  ///
+  /// @param block
+  /// The dispatch block object to test.
+  /// The result of passing NULL or a block object not returned by one of the
+  /// dispatch_block_create* functions is undefined.
+  ///
+  /// @result
+  /// Non-zero if canceled and zero if not canceled.
+  int dispatch_block_testcancel(
+    dispatch_block_t block,
+  ) {
+    return _dispatch_block_testcancel(
+      block,
+    );
+  }
+
+  late final _dispatch_block_testcancelPtr =
+      _lookup<ffi.NativeFunction<ffi.IntPtr Function(dispatch_block_t)>>(
+          'dispatch_block_testcancel');
+  late final _dispatch_block_testcancel = _dispatch_block_testcancelPtr
+      .asFunction<int Function(dispatch_block_t)>();
+
+  late final ffi.Pointer<security_token_t> _KERNEL_SECURITY_TOKEN =
+      _lookup<security_token_t>('KERNEL_SECURITY_TOKEN');
+
+  security_token_t get KERNEL_SECURITY_TOKEN => _KERNEL_SECURITY_TOKEN.ref;
+
+  late final ffi.Pointer<audit_token_t> _KERNEL_AUDIT_TOKEN =
+      _lookup<audit_token_t>('KERNEL_AUDIT_TOKEN');
+
+  audit_token_t get KERNEL_AUDIT_TOKEN => _KERNEL_AUDIT_TOKEN.ref;
+
+  int mach_msg_overwrite(
+    ffi.Pointer<mach_msg_header_t> msg,
+    int option,
+    int send_size,
+    int rcv_size,
+    int rcv_name,
+    int timeout,
+    int notify,
+    ffi.Pointer<mach_msg_header_t> rcv_msg,
+    int rcv_limit,
+  ) {
+    return _mach_msg_overwrite(
+      msg,
+      option,
+      send_size,
+      rcv_size,
+      rcv_name,
+      timeout,
+      notify,
+      rcv_msg,
+      rcv_limit,
+    );
+  }
+
+  late final _mach_msg_overwritePtr = _lookup<
+      ffi.NativeFunction<
+          mach_msg_return_t Function(
+              ffi.Pointer<mach_msg_header_t>,
+              mach_msg_option_t,
+              mach_msg_size_t,
+              mach_msg_size_t,
+              mach_port_name_t,
+              mach_msg_timeout_t,
+              mach_port_name_t,
+              ffi.Pointer<mach_msg_header_t>,
+              mach_msg_size_t)>>('mach_msg_overwrite');
+  late final _mach_msg_overwrite = _mach_msg_overwritePtr.asFunction<
+      int Function(ffi.Pointer<mach_msg_header_t>, int, int, int, int, int, int,
+          ffi.Pointer<mach_msg_header_t>, int)>();
+
+  int mach_msg(
+    ffi.Pointer<mach_msg_header_t> msg,
+    int option,
+    int send_size,
+    int rcv_size,
+    int rcv_name,
+    int timeout,
+    int notify,
+  ) {
+    return _mach_msg(
+      msg,
+      option,
+      send_size,
+      rcv_size,
+      rcv_name,
+      timeout,
+      notify,
+    );
+  }
+
+  late final _mach_msgPtr = _lookup<
+      ffi.NativeFunction<
+          mach_msg_return_t Function(
+              ffi.Pointer<mach_msg_header_t>,
+              mach_msg_option_t,
+              mach_msg_size_t,
+              mach_msg_size_t,
+              mach_port_name_t,
+              mach_msg_timeout_t,
+              mach_port_name_t)>>('mach_msg');
+  late final _mach_msg = _mach_msgPtr.asFunction<
+      int Function(
+          ffi.Pointer<mach_msg_header_t>, int, int, int, int, int, int)>();
+
+  int mach_voucher_deallocate(
+    int voucher,
+  ) {
+    return _mach_voucher_deallocate(
+      voucher,
+    );
+  }
+
+  late final _mach_voucher_deallocatePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(mach_port_name_t)>>(
+          'mach_voucher_deallocate');
+  late final _mach_voucher_deallocate =
+      _mach_voucher_deallocatePtr.asFunction<int Function(int)>();
+
+  late final ffi.Pointer<dispatch_source_type_s>
+      __dispatch_source_type_data_add =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_data_add');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_data_add =>
+      __dispatch_source_type_data_add;
+
+  late final ffi.Pointer<dispatch_source_type_s>
+      __dispatch_source_type_data_or =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_data_or');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_data_or =>
+      __dispatch_source_type_data_or;
+
+  late final ffi.Pointer<dispatch_source_type_s>
+      __dispatch_source_type_data_replace =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_data_replace');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_data_replace =>
+      __dispatch_source_type_data_replace;
+
+  late final ffi.Pointer<dispatch_source_type_s>
+      __dispatch_source_type_mach_send =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_mach_send');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_mach_send =>
+      __dispatch_source_type_mach_send;
+
+  late final ffi.Pointer<dispatch_source_type_s>
+      __dispatch_source_type_mach_recv =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_mach_recv');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_mach_recv =>
+      __dispatch_source_type_mach_recv;
+
+  late final ffi.Pointer<dispatch_source_type_s>
+      __dispatch_source_type_memorypressure =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_memorypressure');
+
+  ffi.Pointer<dispatch_source_type_s>
+      get _dispatch_source_type_memorypressure =>
+          __dispatch_source_type_memorypressure;
+
+  late final ffi.Pointer<dispatch_source_type_s> __dispatch_source_type_proc =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_proc');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_proc =>
+      __dispatch_source_type_proc;
+
+  late final ffi.Pointer<dispatch_source_type_s> __dispatch_source_type_read =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_read');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_read =>
+      __dispatch_source_type_read;
+
+  late final ffi.Pointer<dispatch_source_type_s> __dispatch_source_type_signal =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_signal');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_signal =>
+      __dispatch_source_type_signal;
+
+  late final ffi.Pointer<dispatch_source_type_s> __dispatch_source_type_timer =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_timer');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_timer =>
+      __dispatch_source_type_timer;
+
+  late final ffi.Pointer<dispatch_source_type_s> __dispatch_source_type_vnode =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_vnode');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_vnode =>
+      __dispatch_source_type_vnode;
+
+  late final ffi.Pointer<dispatch_source_type_s> __dispatch_source_type_write =
+      _lookup<dispatch_source_type_s>('_dispatch_source_type_write');
+
+  ffi.Pointer<dispatch_source_type_s> get _dispatch_source_type_write =>
+      __dispatch_source_type_write;
+
+  /// !
+  /// @function dispatch_source_create
+  ///
+  /// @abstract
+  /// Creates a new dispatch source to monitor low-level system objects and auto-
+  /// matically submit a handler block to a dispatch queue in response to events.
+  ///
+  /// @discussion
+  /// Dispatch sources are not reentrant. Any events received while the dispatch
+  /// source is suspended or while the event handler block is currently executing
+  /// will be coalesced and delivered after the dispatch source is resumed or the
+  /// event handler block has returned.
+  ///
+  /// Dispatch sources are created in an inactive state. After creating the
+  /// source and setting any desired attributes (i.e. the handler, context, etc.),
+  /// a call must be made to dispatch_activate() in order to begin event delivery.
+  ///
+  /// Calling dispatch_set_target_queue() on a source once it has been activated
+  /// is not allowed (see dispatch_activate() and dispatch_set_target_queue()).
+  ///
+  /// For backward compatibility reasons, dispatch_resume() on an inactive,
+  /// and not otherwise suspended source has the same effect as calling
+  /// dispatch_activate(). For new code, using dispatch_activate() is preferred.
+  ///
+  /// @param type
+  /// Declares the type of the dispatch source. Must be one of the defined
+  /// dispatch_source_type_t constants.
+  ///
+  /// @param handle
+  /// The underlying system handle to monitor. The interpretation of this argument
+  /// is determined by the constant provided in the type parameter.
+  ///
+  /// @param mask
+  /// A mask of flags specifying which events are desired. The interpretation of
+  /// this argument is determined by the constant provided in the type parameter.
+  ///
+  /// @param queue
+  /// The dispatch queue to which the event handler block will be submitted.
+  /// If queue is DISPATCH_TARGET_QUEUE_DEFAULT, the source will submit the event
+  /// handler block to the default priority global queue.
+  ///
+  /// @result
+  /// The newly created dispatch source. Or NULL if invalid arguments are passed.
+  dispatch_source_t dispatch_source_create(
+    dispatch_source_type_t type,
+    int handle,
+    int mask,
+    dispatch_queue_t queue,
+  ) {
+    return _dispatch_source_create(
+      type,
+      handle,
+      mask,
+      queue,
+    );
+  }
+
+  late final _dispatch_source_createPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_source_t Function(dispatch_source_type_t, ffi.UintPtr,
+              ffi.UintPtr, dispatch_queue_t)>>('dispatch_source_create');
+  late final _dispatch_source_create = _dispatch_source_createPtr.asFunction<
+      dispatch_source_t Function(
+          dispatch_source_type_t, int, int, dispatch_queue_t)>();
+
+  void dispatch_source_set_event_handler(
+    dispatch_source_t source,
+    dispatch_block_t handler,
+  ) {
+    return _dispatch_source_set_event_handler(
+      source,
+      handler,
+    );
+  }
+
+  late final _dispatch_source_set_event_handlerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_source_t,
+              dispatch_block_t)>>('dispatch_source_set_event_handler');
+  late final _dispatch_source_set_event_handler =
+      _dispatch_source_set_event_handlerPtr
+          .asFunction<void Function(dispatch_source_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_source_set_event_handler_f
+  ///
+  /// @abstract
+  /// Sets the event handler function for the given dispatch source.
+  ///
+  /// @param source
+  /// The dispatch source to modify.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param handler
+  /// The event handler function to submit to the source's target queue.
+  /// The context parameter passed to the event handler function is the context of
+  /// the dispatch source current at the time the event handler was set.
+  void dispatch_source_set_event_handler_f(
+    dispatch_source_t source,
+    dispatch_function_t handler,
+  ) {
+    return _dispatch_source_set_event_handler_f(
+      source,
+      handler,
+    );
+  }
+
+  late final _dispatch_source_set_event_handler_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_source_t,
+              dispatch_function_t)>>('dispatch_source_set_event_handler_f');
+  late final _dispatch_source_set_event_handler_f =
+      _dispatch_source_set_event_handler_fPtr
+          .asFunction<void Function(dispatch_source_t, dispatch_function_t)>();
+
+  void dispatch_source_set_cancel_handler(
+    dispatch_source_t source,
+    dispatch_block_t handler,
+  ) {
+    return _dispatch_source_set_cancel_handler(
+      source,
+      handler,
+    );
+  }
+
+  late final _dispatch_source_set_cancel_handlerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_source_t,
+              dispatch_block_t)>>('dispatch_source_set_cancel_handler');
+  late final _dispatch_source_set_cancel_handler =
+      _dispatch_source_set_cancel_handlerPtr
+          .asFunction<void Function(dispatch_source_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_source_set_cancel_handler_f
+  ///
+  /// @abstract
+  /// Sets the cancellation handler function for the given dispatch source.
+  ///
+  /// @discussion
+  /// See dispatch_source_set_cancel_handler() for more details.
+  ///
+  /// @param source
+  /// The dispatch source to modify.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param handler
+  /// The cancellation handler function to submit to the source's target queue.
+  /// The context parameter passed to the event handler function is the current
+  /// context of the dispatch source at the time the handler call is made.
+  void dispatch_source_set_cancel_handler_f(
+    dispatch_source_t source,
+    dispatch_function_t handler,
+  ) {
+    return _dispatch_source_set_cancel_handler_f(
+      source,
+      handler,
+    );
+  }
+
+  late final _dispatch_source_set_cancel_handler_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_source_t,
+              dispatch_function_t)>>('dispatch_source_set_cancel_handler_f');
+  late final _dispatch_source_set_cancel_handler_f =
+      _dispatch_source_set_cancel_handler_fPtr
+          .asFunction<void Function(dispatch_source_t, dispatch_function_t)>();
+
+  /// !
+  /// @function dispatch_source_cancel
+  ///
+  /// @abstract
+  /// Asynchronously cancel the dispatch source, preventing any further invocation
+  /// of its event handler block.
+  ///
+  /// @discussion
+  /// Cancellation prevents any further invocation of the event handler block for
+  /// the specified dispatch source, but does not interrupt an event handler
+  /// block that is already in progress.
+  ///
+  /// The cancellation handler is submitted to the source's target queue once the
+  /// the source's event handler has finished, indicating it is now safe to close
+  /// the source's handle (i.e. file descriptor or mach port).
+  ///
+  /// See dispatch_source_set_cancel_handler() for more information.
+  ///
+  /// @param source
+  /// The dispatch source to be canceled.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_source_cancel(
+    dispatch_source_t source,
+  ) {
+    return _dispatch_source_cancel(
+      source,
+    );
+  }
+
+  late final _dispatch_source_cancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_source_t)>>(
+          'dispatch_source_cancel');
+  late final _dispatch_source_cancel =
+      _dispatch_source_cancelPtr.asFunction<void Function(dispatch_source_t)>();
+
+  /// !
+  /// @function dispatch_source_testcancel
+  ///
+  /// @abstract
+  /// Tests whether the given dispatch source has been canceled.
+  ///
+  /// @param source
+  /// The dispatch source to be tested.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @result
+  /// Non-zero if canceled and zero if not canceled.
+  int dispatch_source_testcancel(
+    dispatch_source_t source,
+  ) {
+    return _dispatch_source_testcancel(
+      source,
+    );
+  }
+
+  late final _dispatch_source_testcancelPtr =
+      _lookup<ffi.NativeFunction<ffi.IntPtr Function(dispatch_source_t)>>(
+          'dispatch_source_testcancel');
+  late final _dispatch_source_testcancel = _dispatch_source_testcancelPtr
+      .asFunction<int Function(dispatch_source_t)>();
+
+  /// !
+  /// @function dispatch_source_get_handle
+  ///
+  /// @abstract
+  /// Returns the underlying system handle associated with this dispatch source.
+  ///
+  /// @param source
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @result
+  /// The return value should be interpreted according to the type of the dispatch
+  /// source, and may be one of the following handles:
+  ///
+  /// DISPATCH_SOURCE_TYPE_DATA_ADD:        n/a
+  /// DISPATCH_SOURCE_TYPE_DATA_OR:         n/a
+  /// DISPATCH_SOURCE_TYPE_DATA_REPLACE:    n/a
+  /// DISPATCH_SOURCE_TYPE_MACH_SEND:       mach port (mach_port_t)
+  /// DISPATCH_SOURCE_TYPE_MACH_RECV:       mach port (mach_port_t)
+  /// DISPATCH_SOURCE_TYPE_MEMORYPRESSURE   n/a
+  /// DISPATCH_SOURCE_TYPE_PROC:            process identifier (pid_t)
+  /// DISPATCH_SOURCE_TYPE_READ:            file descriptor (int)
+  /// DISPATCH_SOURCE_TYPE_SIGNAL:          signal number (int)
+  /// DISPATCH_SOURCE_TYPE_TIMER:           n/a
+  /// DISPATCH_SOURCE_TYPE_VNODE:           file descriptor (int)
+  /// DISPATCH_SOURCE_TYPE_WRITE:           file descriptor (int)
+  int dispatch_source_get_handle(
+    dispatch_source_t source,
+  ) {
+    return _dispatch_source_get_handle(
+      source,
+    );
+  }
+
+  late final _dispatch_source_get_handlePtr =
+      _lookup<ffi.NativeFunction<ffi.UintPtr Function(dispatch_source_t)>>(
+          'dispatch_source_get_handle');
+  late final _dispatch_source_get_handle = _dispatch_source_get_handlePtr
+      .asFunction<int Function(dispatch_source_t)>();
+
+  /// !
+  /// @function dispatch_source_get_mask
+  ///
+  /// @abstract
+  /// Returns the mask of events monitored by the dispatch source.
+  ///
+  /// @param source
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @result
+  /// The return value should be interpreted according to the type of the dispatch
+  /// source, and may be one of the following flag sets:
+  ///
+  /// DISPATCH_SOURCE_TYPE_DATA_ADD:        n/a
+  /// DISPATCH_SOURCE_TYPE_DATA_OR:         n/a
+  /// DISPATCH_SOURCE_TYPE_DATA_REPLACE:    n/a
+  /// DISPATCH_SOURCE_TYPE_MACH_SEND:       dispatch_source_mach_send_flags_t
+  /// DISPATCH_SOURCE_TYPE_MACH_RECV:       dispatch_source_mach_recv_flags_t
+  /// DISPATCH_SOURCE_TYPE_MEMORYPRESSURE   dispatch_source_memorypressure_flags_t
+  /// DISPATCH_SOURCE_TYPE_PROC:            dispatch_source_proc_flags_t
+  /// DISPATCH_SOURCE_TYPE_READ:            n/a
+  /// DISPATCH_SOURCE_TYPE_SIGNAL:          n/a
+  /// DISPATCH_SOURCE_TYPE_TIMER:           dispatch_source_timer_flags_t
+  /// DISPATCH_SOURCE_TYPE_VNODE:           dispatch_source_vnode_flags_t
+  /// DISPATCH_SOURCE_TYPE_WRITE:           n/a
+  int dispatch_source_get_mask(
+    dispatch_source_t source,
+  ) {
+    return _dispatch_source_get_mask(
+      source,
+    );
+  }
+
+  late final _dispatch_source_get_maskPtr =
+      _lookup<ffi.NativeFunction<ffi.UintPtr Function(dispatch_source_t)>>(
+          'dispatch_source_get_mask');
+  late final _dispatch_source_get_mask = _dispatch_source_get_maskPtr
+      .asFunction<int Function(dispatch_source_t)>();
+
+  /// !
+  /// @function dispatch_source_get_data
+  ///
+  /// @abstract
+  /// Returns pending data for the dispatch source.
+  ///
+  /// @discussion
+  /// This function is intended to be called from within the event handler block.
+  /// The result of calling this function outside of the event handler callback is
+  /// undefined.
+  ///
+  /// @param source
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @result
+  /// The return value should be interpreted according to the type of the dispatch
+  /// source, and may be one of the following:
+  ///
+  /// DISPATCH_SOURCE_TYPE_DATA_ADD:        application defined data
+  /// DISPATCH_SOURCE_TYPE_DATA_OR:         application defined data
+  /// DISPATCH_SOURCE_TYPE_DATA_REPLACE:    application defined data
+  /// DISPATCH_SOURCE_TYPE_MACH_SEND:       dispatch_source_mach_send_flags_t
+  /// DISPATCH_SOURCE_TYPE_MACH_RECV:       dispatch_source_mach_recv_flags_t
+  /// DISPATCH_SOURCE_TYPE_MEMORYPRESSURE   dispatch_source_memorypressure_flags_t
+  /// DISPATCH_SOURCE_TYPE_PROC:            dispatch_source_proc_flags_t
+  /// DISPATCH_SOURCE_TYPE_READ:            estimated bytes available to read
+  /// DISPATCH_SOURCE_TYPE_SIGNAL:          number of signals delivered since
+  /// the last handler invocation
+  /// DISPATCH_SOURCE_TYPE_TIMER:           number of times the timer has fired
+  /// since the last handler invocation
+  /// DISPATCH_SOURCE_TYPE_VNODE:           dispatch_source_vnode_flags_t
+  /// DISPATCH_SOURCE_TYPE_WRITE:           estimated buffer space available
+  int dispatch_source_get_data(
+    dispatch_source_t source,
+  ) {
+    return _dispatch_source_get_data(
+      source,
+    );
+  }
+
+  late final _dispatch_source_get_dataPtr =
+      _lookup<ffi.NativeFunction<ffi.UintPtr Function(dispatch_source_t)>>(
+          'dispatch_source_get_data');
+  late final _dispatch_source_get_data = _dispatch_source_get_dataPtr
+      .asFunction<int Function(dispatch_source_t)>();
+
+  /// !
+  /// @function dispatch_source_merge_data
+  ///
+  /// @abstract
+  /// Merges data into a dispatch source of type DISPATCH_SOURCE_TYPE_DATA_ADD,
+  /// DISPATCH_SOURCE_TYPE_DATA_OR or DISPATCH_SOURCE_TYPE_DATA_REPLACE,
+  /// and submits its event handler block to its target queue.
+  ///
+  /// @param source
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param value
+  /// The value to coalesce with the pending data using a logical OR or an ADD
+  /// as specified by the dispatch source type. A value of zero has no effect
+  /// and will not result in the submission of the event handler block.
+  void dispatch_source_merge_data(
+    dispatch_source_t source,
+    int value,
+  ) {
+    return _dispatch_source_merge_data(
+      source,
+      value,
+    );
+  }
+
+  late final _dispatch_source_merge_dataPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(dispatch_source_t, ffi.UintPtr)>>(
+      'dispatch_source_merge_data');
+  late final _dispatch_source_merge_data = _dispatch_source_merge_dataPtr
+      .asFunction<void Function(dispatch_source_t, int)>();
+
+  /// !
+  /// @function dispatch_source_set_timer
+  ///
+  /// @abstract
+  /// Sets a start time, interval, and leeway value for a timer source.
+  ///
+  /// @discussion
+  /// Once this function returns, any pending source data accumulated for the
+  /// previous timer values has been cleared; the next fire of the timer will
+  /// occur at 'start', and every 'interval' nanoseconds thereafter until the
+  /// timer source is canceled.
+  ///
+  /// Any fire of the timer may be delayed by the system in order to improve power
+  /// consumption and system performance. The upper limit to the allowable delay
+  /// may be configured with the 'leeway' argument, the lower limit is under the
+  /// control of the system.
+  ///
+  /// For the initial timer fire at 'start', the upper limit to the allowable
+  /// delay is set to 'leeway' nanoseconds. For the subsequent timer fires at
+  /// 'start' + N * 'interval', the upper limit is MIN('leeway','interval'/2).
+  ///
+  /// The lower limit to the allowable delay may vary with process state such as
+  /// visibility of application UI. If the specified timer source was created with
+  /// a mask of DISPATCH_TIMER_STRICT, the system will make a best effort to
+  /// strictly observe the provided 'leeway' value even if it is smaller than the
+  /// current lower limit. Note that a minimal amount of delay is to be expected
+  /// even if this flag is specified.
+  ///
+  /// The 'start' argument also determines which clock will be used for the timer:
+  /// If 'start' is DISPATCH_TIME_NOW or was created with dispatch_time(3), the
+  /// timer is based on up time (which is obtained from mach_absolute_time() on
+  /// Apple platforms). If 'start' was created with dispatch_walltime(3), the
+  /// timer is based on gettimeofday(3).
+  ///
+  /// Calling this function has no effect if the timer source has already been
+  /// canceled.
+  ///
+  /// @param start
+  /// The start time of the timer. See dispatch_time() and dispatch_walltime()
+  /// for more information.
+  ///
+  /// @param interval
+  /// The nanosecond interval for the timer. Use DISPATCH_TIME_FOREVER for a
+  /// one-shot timer.
+  ///
+  /// @param leeway
+  /// The nanosecond leeway for the timer.
+  void dispatch_source_set_timer(
+    dispatch_source_t source,
+    int start,
+    int interval,
+    int leeway,
+  ) {
+    return _dispatch_source_set_timer(
+      source,
+      start,
+      interval,
+      leeway,
+    );
+  }
+
+  late final _dispatch_source_set_timerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_source_t, dispatch_time_t, ffi.Uint64,
+              ffi.Uint64)>>('dispatch_source_set_timer');
+  late final _dispatch_source_set_timer = _dispatch_source_set_timerPtr
+      .asFunction<void Function(dispatch_source_t, int, int, int)>();
+
+  void dispatch_source_set_registration_handler(
+    dispatch_source_t source,
+    dispatch_block_t handler,
+  ) {
+    return _dispatch_source_set_registration_handler(
+      source,
+      handler,
+    );
+  }
+
+  late final _dispatch_source_set_registration_handlerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_source_t,
+              dispatch_block_t)>>('dispatch_source_set_registration_handler');
+  late final _dispatch_source_set_registration_handler =
+      _dispatch_source_set_registration_handlerPtr
+          .asFunction<void Function(dispatch_source_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_source_set_registration_handler_f
+  ///
+  /// @abstract
+  /// Sets the registration handler function for the given dispatch source.
+  ///
+  /// @discussion
+  /// See dispatch_source_set_registration_handler() for more details.
+  ///
+  /// @param source
+  /// The dispatch source to modify.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param handler
+  /// The registration handler function to submit to the source's target queue.
+  /// The context parameter passed to the registration handler function is the
+  /// current context of the dispatch source at the time the handler call is made.
+  void dispatch_source_set_registration_handler_f(
+    dispatch_source_t source,
+    dispatch_function_t handler,
+  ) {
+    return _dispatch_source_set_registration_handler_f(
+      source,
+      handler,
+    );
+  }
+
+  late final _dispatch_source_set_registration_handler_fPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(dispatch_source_t, dispatch_function_t)>>(
+      'dispatch_source_set_registration_handler_f');
+  late final _dispatch_source_set_registration_handler_f =
+      _dispatch_source_set_registration_handler_fPtr
+          .asFunction<void Function(dispatch_source_t, dispatch_function_t)>();
+
+  /// !
+  /// @function dispatch_group_create
+  ///
+  /// @abstract
+  /// Creates new group with which blocks may be associated.
+  ///
+  /// @discussion
+  /// This function creates a new group with which blocks may be associated.
+  /// The dispatch group may be used to wait for the completion of the blocks it
+  /// references. The group object memory is freed with dispatch_release().
+  ///
+  /// @result
+  /// The newly created group, or NULL on failure.
+  dispatch_group_t dispatch_group_create() {
+    return _dispatch_group_create();
+  }
+
+  late final _dispatch_group_createPtr =
+      _lookup<ffi.NativeFunction<dispatch_group_t Function()>>(
+          'dispatch_group_create');
+  late final _dispatch_group_create =
+      _dispatch_group_createPtr.asFunction<dispatch_group_t Function()>();
+
+  void dispatch_group_async(
+    dispatch_group_t group,
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_group_async(
+      group,
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_group_asyncPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_group_t, dispatch_queue_t,
+              dispatch_block_t)>>('dispatch_group_async');
+  late final _dispatch_group_async = _dispatch_group_asyncPtr.asFunction<
+      void Function(dispatch_group_t, dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_group_async_f
+  ///
+  /// @abstract
+  /// Submits a function to a dispatch queue and associates the block with the
+  /// given dispatch group.
+  ///
+  /// @discussion
+  /// See dispatch_group_async() for details.
+  ///
+  /// @param group
+  /// A dispatch group to associate with the submitted function.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param queue
+  /// The dispatch queue to which the function will be submitted for asynchronous
+  /// invocation.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_group_async_f().
+  void dispatch_group_async_f(
+    dispatch_group_t group,
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_group_async_f(
+      group,
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_group_async_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_group_t,
+              dispatch_queue_t,
+              ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_group_async_f');
+  late final _dispatch_group_async_f = _dispatch_group_async_fPtr.asFunction<
+      void Function(dispatch_group_t, dispatch_queue_t, ffi.Pointer<ffi.Void>,
+          dispatch_function_t)>();
+
+  /// !
+  /// @function dispatch_group_wait
+  ///
+  /// @abstract
+  /// Wait synchronously until all the blocks associated with a group have
+  /// completed or until the specified timeout has elapsed.
+  ///
+  /// @discussion
+  /// This function waits for the completion of the blocks associated with the
+  /// given dispatch group, and returns after all blocks have completed or when
+  /// the specified timeout has elapsed.
+  ///
+  /// This function will return immediately if there are no blocks associated
+  /// with the dispatch group (i.e. the group is empty).
+  ///
+  /// The result of calling this function from multiple threads simultaneously
+  /// with the same dispatch group is undefined.
+  ///
+  /// After the successful return of this function, the dispatch group is empty.
+  /// It may either be released with dispatch_release() or re-used for additional
+  /// blocks. See dispatch_group_async() for more information.
+  ///
+  /// @param group
+  /// The dispatch group to wait on.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param timeout
+  /// When to timeout (see dispatch_time). As a convenience, there are the
+  /// DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants.
+  ///
+  /// @result
+  /// Returns zero on success (all blocks associated with the group completed
+  /// within the specified timeout) or non-zero on error (i.e. timed out).
+  int dispatch_group_wait(
+    dispatch_group_t group,
+    int timeout,
+  ) {
+    return _dispatch_group_wait(
+      group,
+      timeout,
+    );
+  }
+
+  late final _dispatch_group_waitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.IntPtr Function(
+              dispatch_group_t, dispatch_time_t)>>('dispatch_group_wait');
+  late final _dispatch_group_wait =
+      _dispatch_group_waitPtr.asFunction<int Function(dispatch_group_t, int)>();
+
+  void dispatch_group_notify(
+    dispatch_group_t group,
+    dispatch_queue_t queue,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_group_notify(
+      group,
+      queue,
+      block,
+    );
+  }
+
+  late final _dispatch_group_notifyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_group_t, dispatch_queue_t,
+              dispatch_block_t)>>('dispatch_group_notify');
+  late final _dispatch_group_notify = _dispatch_group_notifyPtr.asFunction<
+      void Function(dispatch_group_t, dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_group_notify_f
+  ///
+  /// @abstract
+  /// Schedule a function to be submitted to a queue when all the blocks
+  /// associated with a group have completed.
+  ///
+  /// @discussion
+  /// See dispatch_group_notify() for details.
+  ///
+  /// @param group
+  /// The dispatch group to observe.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param context
+  /// The application-defined context parameter to pass to the function.
+  ///
+  /// @param work
+  /// The application-defined function to invoke on the target queue. The first
+  /// parameter passed to this function is the context provided to
+  /// dispatch_group_notify_f().
+  void dispatch_group_notify_f(
+    dispatch_group_t group,
+    dispatch_queue_t queue,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t work,
+  ) {
+    return _dispatch_group_notify_f(
+      group,
+      queue,
+      context,
+      work,
+    );
+  }
+
+  late final _dispatch_group_notify_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_group_t,
+              dispatch_queue_t,
+              ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_group_notify_f');
+  late final _dispatch_group_notify_f = _dispatch_group_notify_fPtr.asFunction<
+      void Function(dispatch_group_t, dispatch_queue_t, ffi.Pointer<ffi.Void>,
+          dispatch_function_t)>();
+
+  /// !
+  /// @function dispatch_group_enter
+  ///
+  /// @abstract
+  /// Manually indicate a block has entered the group
+  ///
+  /// @discussion
+  /// Calling this function indicates another block has joined the group through
+  /// a means other than dispatch_group_async(). Calls to this function must be
+  /// balanced with dispatch_group_leave().
+  ///
+  /// @param group
+  /// The dispatch group to update.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_group_enter(
+    dispatch_group_t group,
+  ) {
+    return _dispatch_group_enter(
+      group,
+    );
+  }
+
+  late final _dispatch_group_enterPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_group_t)>>(
+          'dispatch_group_enter');
+  late final _dispatch_group_enter =
+      _dispatch_group_enterPtr.asFunction<void Function(dispatch_group_t)>();
+
+  /// !
+  /// @function dispatch_group_leave
+  ///
+  /// @abstract
+  /// Manually indicate a block in the group has completed
+  ///
+  /// @discussion
+  /// Calling this function indicates block has completed and left the dispatch
+  /// group by a means other than dispatch_group_async().
+  ///
+  /// @param group
+  /// The dispatch group to update.
+  /// The result of passing NULL in this parameter is undefined.
+  void dispatch_group_leave(
+    dispatch_group_t group,
+  ) {
+    return _dispatch_group_leave(
+      group,
+    );
+  }
+
+  late final _dispatch_group_leavePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_group_t)>>(
+          'dispatch_group_leave');
+  late final _dispatch_group_leave =
+      _dispatch_group_leavePtr.asFunction<void Function(dispatch_group_t)>();
+
+  /// !
+  /// @function dispatch_semaphore_create
+  ///
+  /// @abstract
+  /// Creates new counting semaphore with an initial value.
+  ///
+  /// @discussion
+  /// Passing zero for the value is useful for when two threads need to reconcile
+  /// the completion of a particular event. Passing a value greater than zero is
+  /// useful for managing a finite pool of resources, where the pool size is equal
+  /// to the value.
+  ///
+  /// @param value
+  /// The starting value for the semaphore. Passing a value less than zero will
+  /// cause NULL to be returned.
+  ///
+  /// @result
+  /// The newly created semaphore, or NULL on failure.
+  dispatch_semaphore_t dispatch_semaphore_create(
+    int value,
+  ) {
+    return _dispatch_semaphore_create(
+      value,
+    );
+  }
+
+  late final _dispatch_semaphore_createPtr =
+      _lookup<ffi.NativeFunction<dispatch_semaphore_t Function(ffi.IntPtr)>>(
+          'dispatch_semaphore_create');
+  late final _dispatch_semaphore_create = _dispatch_semaphore_createPtr
+      .asFunction<dispatch_semaphore_t Function(int)>();
+
+  /// !
+  /// @function dispatch_semaphore_wait
+  ///
+  /// @abstract
+  /// Wait (decrement) for a semaphore.
+  ///
+  /// @discussion
+  /// Decrement the counting semaphore. If the resulting value is less than zero,
+  /// this function waits for a signal to occur before returning. If the timeout is
+  /// reached without a signal being received, the semaphore is re-incremented
+  /// before the function returns.
+  ///
+  /// @param dsema
+  /// The semaphore. The result of passing NULL in this parameter is undefined.
+  ///
+  /// @param timeout
+  /// When to timeout (see dispatch_time). As a convenience, there are the
+  /// DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants.
+  ///
+  /// @result
+  /// Returns zero on success, or non-zero if the timeout occurred.
+  int dispatch_semaphore_wait(
+    dispatch_semaphore_t dsema,
+    int timeout,
+  ) {
+    return _dispatch_semaphore_wait(
+      dsema,
+      timeout,
+    );
+  }
+
+  late final _dispatch_semaphore_waitPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.IntPtr Function(dispatch_semaphore_t,
+              dispatch_time_t)>>('dispatch_semaphore_wait');
+  late final _dispatch_semaphore_wait = _dispatch_semaphore_waitPtr
+      .asFunction<int Function(dispatch_semaphore_t, int)>();
+
+  /// !
+  /// @function dispatch_semaphore_signal
+  ///
+  /// @abstract
+  /// Signal (increment) a semaphore.
+  ///
+  /// @discussion
+  /// Increment the counting semaphore. If the previous value was less than zero,
+  /// this function wakes a waiting thread before returning.
+  ///
+  /// @param dsema The counting semaphore.
+  /// The result of passing NULL in this parameter is undefined.
+  ///
+  /// @result
+  /// This function returns non-zero if a thread is woken. Otherwise, zero is
+  /// returned.
+  int dispatch_semaphore_signal(
+    dispatch_semaphore_t dsema,
+  ) {
+    return _dispatch_semaphore_signal(
+      dsema,
+    );
+  }
+
+  late final _dispatch_semaphore_signalPtr =
+      _lookup<ffi.NativeFunction<ffi.IntPtr Function(dispatch_semaphore_t)>>(
+          'dispatch_semaphore_signal');
+  late final _dispatch_semaphore_signal = _dispatch_semaphore_signalPtr
+      .asFunction<int Function(dispatch_semaphore_t)>();
+
+  void dispatch_once(
+    ffi.Pointer<dispatch_once_t> predicate,
+    dispatch_block_t block,
+  ) {
+    return _dispatch_once(
+      predicate,
+      block,
+    );
+  }
+
+  late final _dispatch_oncePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<dispatch_once_t>,
+              dispatch_block_t)>>('dispatch_once');
+  late final _dispatch_once = _dispatch_oncePtr.asFunction<
+      void Function(ffi.Pointer<dispatch_once_t>, dispatch_block_t)>();
+
+  void dispatch_once_f(
+    ffi.Pointer<dispatch_once_t> predicate,
+    ffi.Pointer<ffi.Void> context,
+    dispatch_function_t function,
+  ) {
+    return _dispatch_once_f(
+      predicate,
+      context,
+      function,
+    );
+  }
+
+  late final _dispatch_once_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<dispatch_once_t>, ffi.Pointer<ffi.Void>,
+              dispatch_function_t)>>('dispatch_once_f');
+  late final _dispatch_once_f = _dispatch_once_fPtr.asFunction<
+      void Function(ffi.Pointer<dispatch_once_t>, ffi.Pointer<ffi.Void>,
+          dispatch_function_t)>();
+
+  late final ffi.Pointer<dispatch_data_s> __dispatch_data_empty =
+      _lookup<dispatch_data_s>('_dispatch_data_empty');
+
+  ffi.Pointer<dispatch_data_s> get _dispatch_data_empty =>
+      __dispatch_data_empty;
+
+  late final ffi.Pointer<dispatch_block_t> __dispatch_data_destructor_free =
+      _lookup<dispatch_block_t>('_dispatch_data_destructor_free');
+
+  dispatch_block_t get _dispatch_data_destructor_free =>
+      __dispatch_data_destructor_free.value;
+
+  set _dispatch_data_destructor_free(dispatch_block_t value) =>
+      __dispatch_data_destructor_free.value = value;
+
+  late final ffi.Pointer<dispatch_block_t> __dispatch_data_destructor_munmap =
+      _lookup<dispatch_block_t>('_dispatch_data_destructor_munmap');
+
+  dispatch_block_t get _dispatch_data_destructor_munmap =>
+      __dispatch_data_destructor_munmap.value;
+
+  set _dispatch_data_destructor_munmap(dispatch_block_t value) =>
+      __dispatch_data_destructor_munmap.value = value;
+
+  /// !
+  /// @function dispatch_data_create
+  /// Creates a dispatch data object from the given contiguous buffer of memory. If
+  /// a non-default destructor is provided, ownership of the buffer remains with
+  /// the caller (i.e. the bytes will not be copied). The last release of the data
+  /// object will result in the invocation of the specified destructor on the
+  /// specified queue to free the buffer.
+  ///
+  /// If the DISPATCH_DATA_DESTRUCTOR_FREE destructor is provided the buffer will
+  /// be freed via free(3) and the queue argument ignored.
+  ///
+  /// If the DISPATCH_DATA_DESTRUCTOR_DEFAULT destructor is provided, data object
+  /// creation will copy the buffer into internal memory managed by the system.
+  ///
+  /// @param buffer	A contiguous buffer of data.
+  /// @param size		The size of the contiguous buffer of data.
+  /// @param queue		The queue to which the destructor should be submitted.
+  /// @param destructor	The destructor responsible for freeing the data when it
+  /// is no longer needed.
+  /// @result		A newly created dispatch data object.
+  dispatch_data_t dispatch_data_create(
+    ffi.Pointer<ffi.Void> buffer,
+    int size,
+    dispatch_queue_t queue,
+    dispatch_block_t destructor,
+  ) {
+    return _dispatch_data_create(
+      buffer,
+      size,
+      queue,
+      destructor,
+    );
+  }
+
+  late final _dispatch_data_createPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_data_t Function(ffi.Pointer<ffi.Void>, ffi.Size,
+              dispatch_queue_t, dispatch_block_t)>>('dispatch_data_create');
+  late final _dispatch_data_create = _dispatch_data_createPtr.asFunction<
+      dispatch_data_t Function(
+          ffi.Pointer<ffi.Void>, int, dispatch_queue_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_data_get_size
+  /// Returns the logical size of the memory region(s) represented by the specified
+  /// dispatch data object.
+  ///
+  /// @param data	The dispatch data object to query.
+  /// @result	The number of bytes represented by the data object.
+  int dispatch_data_get_size(
+    dispatch_data_t data,
+  ) {
+    return _dispatch_data_get_size(
+      data,
+    );
+  }
+
+  late final _dispatch_data_get_sizePtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(dispatch_data_t)>>(
+          'dispatch_data_get_size');
+  late final _dispatch_data_get_size =
+      _dispatch_data_get_sizePtr.asFunction<int Function(dispatch_data_t)>();
+
+  /// !
+  /// @function dispatch_data_create_map
+  /// Maps the memory represented by the specified dispatch data object as a single
+  /// contiguous memory region and returns a new data object representing it.
+  /// If non-NULL references to a pointer and a size variable are provided, they
+  /// are filled with the location and extent of that region. These allow direct
+  /// read access to the represented memory, but are only valid until the returned
+  /// object is released. Under ARC, if that object is held in a variable with
+  /// automatic storage, care needs to be taken to ensure that it is not released
+  /// by the compiler before memory access via the pointer has been completed.
+  ///
+  /// @param data		The dispatch data object to map.
+  /// @param buffer_ptr	A pointer to a pointer variable to be filled with the
+  /// location of the mapped contiguous memory region, or
+  /// NULL.
+  /// @param size_ptr	A pointer to a size_t variable to be filled with the
+  /// size of the mapped contiguous memory region, or NULL.
+  /// @result		A newly created dispatch data object.
+  dispatch_data_t dispatch_data_create_map(
+    dispatch_data_t data,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> buffer_ptr,
+    ffi.Pointer<ffi.Size> size_ptr,
+  ) {
+    return _dispatch_data_create_map(
+      data,
+      buffer_ptr,
+      size_ptr,
+    );
+  }
+
+  late final _dispatch_data_create_mapPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_data_t Function(
+              dispatch_data_t,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Size>)>>('dispatch_data_create_map');
+  late final _dispatch_data_create_map =
+      _dispatch_data_create_mapPtr.asFunction<
+          dispatch_data_t Function(dispatch_data_t,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>, ffi.Pointer<ffi.Size>)>();
+
+  /// !
+  /// @function dispatch_data_create_concat
+  /// Returns a new dispatch data object representing the concatenation of the
+  /// specified data objects. Those objects may be released by the application
+  /// after the call returns (however, the system might not deallocate the memory
+  /// region(s) described by them until the newly created object has also been
+  /// released).
+  ///
+  /// @param data1	The data object representing the region(s) of memory to place
+  /// at the beginning of the newly created object.
+  /// @param data2	The data object representing the region(s) of memory to place
+  /// at the end of the newly created object.
+  /// @result	A newly created object representing the concatenation of the
+  /// data1 and data2 objects.
+  dispatch_data_t dispatch_data_create_concat(
+    dispatch_data_t data1,
+    dispatch_data_t data2,
+  ) {
+    return _dispatch_data_create_concat(
+      data1,
+      data2,
+    );
+  }
+
+  late final _dispatch_data_create_concatPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_data_t Function(dispatch_data_t,
+              dispatch_data_t)>>('dispatch_data_create_concat');
+  late final _dispatch_data_create_concat = _dispatch_data_create_concatPtr
+      .asFunction<dispatch_data_t Function(dispatch_data_t, dispatch_data_t)>();
+
+  /// !
+  /// @function dispatch_data_create_subrange
+  /// Returns a new dispatch data object representing a subrange of the specified
+  /// data object, which may be released by the application after the call returns
+  /// (however, the system might not deallocate the memory region(s) described by
+  /// that object until the newly created object has also been released).
+  ///
+  /// @param data		The data object representing the region(s) of memory to
+  /// create a subrange of.
+  /// @param offset	The offset into the data object where the subrange
+  /// starts.
+  /// @param length	The length of the range.
+  /// @result		A newly created object representing the specified
+  /// subrange of the data object.
+  dispatch_data_t dispatch_data_create_subrange(
+    dispatch_data_t data,
+    int offset,
+    int length,
+  ) {
+    return _dispatch_data_create_subrange(
+      data,
+      offset,
+      length,
+    );
+  }
+
+  late final _dispatch_data_create_subrangePtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_data_t Function(dispatch_data_t, ffi.Size,
+              ffi.Size)>>('dispatch_data_create_subrange');
+  late final _dispatch_data_create_subrange = _dispatch_data_create_subrangePtr
+      .asFunction<dispatch_data_t Function(dispatch_data_t, int, int)>();
+
+  /// !
+  /// @function dispatch_data_apply
+  /// Traverse the memory regions represented by the specified dispatch data object
+  /// in logical order and invoke the specified block once for every contiguous
+  /// memory region encountered.
+  ///
+  /// Each invocation of the block is passed a data object representing the current
+  /// region and its logical offset, along with the memory location and extent of
+  /// the region. These allow direct read access to the memory region, but are only
+  /// valid until the passed-in region object is released. Note that the region
+  /// object is released by the system when the block returns, it is the
+  /// responsibility of the application to retain it if the region object or the
+  /// associated memory location are needed after the block returns.
+  ///
+  /// @param data		The data object to traverse.
+  /// @param applier	The block to be invoked for every contiguous memory
+  /// region in the data object.
+  /// @result		A Boolean indicating whether traversal completed
+  /// successfully.
+  bool dispatch_data_apply(
+    dispatch_data_t data,
+    dispatch_data_applier_t applier,
+  ) {
+    return _dispatch_data_apply(
+      data,
+      applier,
+    );
+  }
+
+  late final _dispatch_data_applyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(dispatch_data_t,
+              dispatch_data_applier_t)>>('dispatch_data_apply');
+  late final _dispatch_data_apply = _dispatch_data_applyPtr
+      .asFunction<bool Function(dispatch_data_t, dispatch_data_applier_t)>();
+
+  /// !
+  /// @function dispatch_data_copy_region
+  /// Finds the contiguous memory region containing the specified location among
+  /// the regions represented by the specified object and returns a copy of the
+  /// internal dispatch data object representing that region along with its logical
+  /// offset in the specified object.
+  ///
+  /// @param data		The dispatch data object to query.
+  /// @param location	The logical position in the data object to query.
+  /// @param offset_ptr	A pointer to a size_t variable to be filled with the
+  /// logical offset of the returned region object to the
+  /// start of the queried data object.
+  /// @result		A newly created dispatch data object.
+  dispatch_data_t dispatch_data_copy_region(
+    dispatch_data_t data,
+    int location,
+    ffi.Pointer<ffi.Size> offset_ptr,
+  ) {
+    return _dispatch_data_copy_region(
+      data,
+      location,
+      offset_ptr,
+    );
+  }
+
+  late final _dispatch_data_copy_regionPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_data_t Function(dispatch_data_t, ffi.Size,
+              ffi.Pointer<ffi.Size>)>>('dispatch_data_copy_region');
+  late final _dispatch_data_copy_region =
+      _dispatch_data_copy_regionPtr.asFunction<
+          dispatch_data_t Function(
+              dispatch_data_t, int, ffi.Pointer<ffi.Size>)>();
+
+  /// !
+  /// @function dispatch_read
+  /// Schedule a read operation for asynchronous execution on the specified file
+  /// descriptor. The specified handler is enqueued with the data read from the
+  /// file descriptor when the operation has completed or an error occurs.
+  ///
+  /// The data object passed to the handler will be automatically released by the
+  /// system when the handler returns. It is the responsibility of the application
+  /// to retain, concatenate or copy the data object if it is needed after the
+  /// handler returns.
+  ///
+  /// The data object passed to the handler will only contain as much data as is
+  /// currently available from the file descriptor (up to the specified length).
+  ///
+  /// If an unrecoverable error occurs on the file descriptor, the handler will be
+  /// enqueued with the appropriate error code along with a data object of any data
+  /// that could be read successfully.
+  ///
+  /// An invocation of the handler with an error code of zero and an empty data
+  /// object indicates that EOF was reached.
+  ///
+  /// The system takes control of the file descriptor until the handler is
+  /// enqueued, and during this time file descriptor flags such as O_NONBLOCK will
+  /// be modified by the system on behalf of the application. It is an error for
+  /// the application to modify a file descriptor directly while it is under the
+  /// control of the system, but it may create additional dispatch I/O convenience
+  /// operations or dispatch I/O channels associated with that file descriptor.
+  ///
+  /// @param fd		The file descriptor from which to read the data.
+  /// @param length	The length of data to read from the file descriptor,
+  /// or SIZE_MAX to indicate that all of the data currently
+  /// available from the file descriptor should be read.
+  /// @param queue		The dispatch queue to which the handler should be
+  /// submitted.
+  /// @param handler	The handler to enqueue when data is ready to be
+  /// delivered.
+  /// param data	The data read from the file descriptor.
+  /// param error	An errno condition for the read operation or
+  /// zero if the read was successful.
+  void dispatch_read(
+    int fd,
+    int length,
+    dispatch_queue_t queue,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _dispatch_read(
+      fd,
+      length,
+      queue,
+      handler,
+    );
+  }
+
+  late final _dispatch_readPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_fd_t, ffi.Size, dispatch_queue_t,
+              ffi.Pointer<_ObjCBlock>)>>('dispatch_read');
+  late final _dispatch_read = _dispatch_readPtr.asFunction<
+      void Function(int, int, dispatch_queue_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function dispatch_write
+  /// Schedule a write operation for asynchronous execution on the specified file
+  /// descriptor. The specified handler is enqueued when the operation has
+  /// completed or an error occurs.
+  ///
+  /// If an unrecoverable error occurs on the file descriptor, the handler will be
+  /// enqueued with the appropriate error code along with the data that could not
+  /// be successfully written.
+  ///
+  /// An invocation of the handler with an error code of zero indicates that the
+  /// data was fully written to the channel.
+  ///
+  /// The system takes control of the file descriptor until the handler is
+  /// enqueued, and during this time file descriptor flags such as O_NONBLOCK will
+  /// be modified by the system on behalf of the application. It is an error for
+  /// the application to modify a file descriptor directly while it is under the
+  /// control of the system, but it may create additional dispatch I/O convenience
+  /// operations or dispatch I/O channels associated with that file descriptor.
+  ///
+  /// @param fd		The file descriptor to which to write the data.
+  /// @param data		The data object to write to the file descriptor.
+  /// @param queue		The dispatch queue to which the handler should be
+  /// submitted.
+  /// @param handler	The handler to enqueue when the data has been written.
+  /// param data	The data that could not be written to the I/O
+  /// channel, or NULL.
+  /// param error	An errno condition for the write operation or
+  /// zero if the write was successful.
+  void dispatch_write(
+    int fd,
+    dispatch_data_t data,
+    dispatch_queue_t queue,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _dispatch_write(
+      fd,
+      data,
+      queue,
+      handler,
+    );
+  }
+
+  late final _dispatch_writePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_fd_t, dispatch_data_t, dispatch_queue_t,
+              ffi.Pointer<_ObjCBlock>)>>('dispatch_write');
+  late final _dispatch_write = _dispatch_writePtr.asFunction<
+      void Function(
+          int, dispatch_data_t, dispatch_queue_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function dispatch_io_create
+  /// Create a dispatch I/O channel associated with a file descriptor. The system
+  /// takes control of the file descriptor until the channel is closed, an error
+  /// occurs on the file descriptor or all references to the channel are released.
+  /// At that time the specified cleanup handler will be enqueued and control over
+  /// the file descriptor relinquished.
+  ///
+  /// While a file descriptor is under the control of a dispatch I/O channel, file
+  /// descriptor flags such as O_NONBLOCK will be modified by the system on behalf
+  /// of the application. It is an error for the application to modify a file
+  /// descriptor directly while it is under the control of a dispatch I/O channel,
+  /// but it may create additional channels associated with that file descriptor.
+  ///
+  /// @param type	The desired type of I/O channel (DISPATCH_IO_STREAM
+  /// or DISPATCH_IO_RANDOM).
+  /// @param fd	The file descriptor to associate with the I/O channel.
+  /// @param queue	The dispatch queue to which the handler should be submitted.
+  /// @param cleanup_handler	The handler to enqueue when the system
+  /// relinquishes control over the file descriptor.
+  /// param error		An errno condition if control is relinquished
+  /// because channel creation failed, zero otherwise.
+  /// @result	The newly created dispatch I/O channel or NULL if an error
+  /// occurred (invalid type specified).
+  dispatch_io_t dispatch_io_create(
+    int type,
+    int fd,
+    dispatch_queue_t queue,
+    ffi.Pointer<_ObjCBlock> cleanup_handler,
+  ) {
+    return _dispatch_io_create(
+      type,
+      fd,
+      queue,
+      cleanup_handler,
+    );
+  }
+
+  late final _dispatch_io_createPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_io_t Function(
+              dispatch_io_type_t,
+              dispatch_fd_t,
+              dispatch_queue_t,
+              ffi.Pointer<_ObjCBlock>)>>('dispatch_io_create');
+  late final _dispatch_io_create = _dispatch_io_createPtr.asFunction<
+      dispatch_io_t Function(
+          int, int, dispatch_queue_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function dispatch_io_create_with_path
+  /// Create a dispatch I/O channel associated with a path name. The specified
+  /// path, oflag and mode parameters will be passed to open(2) when the first I/O
+  /// operation on the channel is ready to execute and the resulting file
+  /// descriptor will remain open and under the control of the system until the
+  /// channel is closed, an error occurs on the file descriptor or all references
+  /// to the channel are released. At that time the file descriptor will be closed
+  /// and the specified cleanup handler will be enqueued.
+  ///
+  /// @param type	The desired type of I/O channel (DISPATCH_IO_STREAM
+  /// or DISPATCH_IO_RANDOM).
+  /// @param path	The absolute path to associate with the I/O channel.
+  /// @param oflag	The flags to pass to open(2) when opening the file at
+  /// path.
+  /// @param mode	The mode to pass to open(2) when creating the file at
+  /// path (i.e. with flag O_CREAT), zero otherwise.
+  /// @param queue	The dispatch queue to which the handler should be
+  /// submitted.
+  /// @param cleanup_handler	The handler to enqueue when the system
+  /// has closed the file at path.
+  /// param error		An errno condition if control is relinquished
+  /// because channel creation or opening of the
+  /// specified file failed, zero otherwise.
+  /// @result	The newly created dispatch I/O channel or NULL if an error
+  /// occurred (invalid type or non-absolute path specified).
+  dispatch_io_t dispatch_io_create_with_path(
+    int type,
+    ffi.Pointer<ffi.Char> path,
+    int oflag,
+    int mode,
+    dispatch_queue_t queue,
+    ffi.Pointer<_ObjCBlock> cleanup_handler,
+  ) {
+    return _dispatch_io_create_with_path(
+      type,
+      path,
+      oflag,
+      mode,
+      queue,
+      cleanup_handler,
+    );
+  }
+
+  late final _dispatch_io_create_with_pathPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_io_t Function(
+              dispatch_io_type_t,
+              ffi.Pointer<ffi.Char>,
+              ffi.Int,
+              mode_t,
+              dispatch_queue_t,
+              ffi.Pointer<_ObjCBlock>)>>('dispatch_io_create_with_path');
+  late final _dispatch_io_create_with_path =
+      _dispatch_io_create_with_pathPtr.asFunction<
+          dispatch_io_t Function(int, ffi.Pointer<ffi.Char>, int, int,
+              dispatch_queue_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function dispatch_io_create_with_io
+  /// Create a new dispatch I/O channel from an existing dispatch I/O channel.
+  /// The new channel inherits the file descriptor or path name associated with
+  /// the existing channel, but not its channel type or policies.
+  ///
+  /// If the existing channel is associated with a file descriptor, control by the
+  /// system over that file descriptor is extended until the new channel is also
+  /// closed, an error occurs on the file descriptor, or all references to both
+  /// channels are released. At that time the specified cleanup handler will be
+  /// enqueued and control over the file descriptor relinquished.
+  ///
+  /// While a file descriptor is under the control of a dispatch I/O channel, file
+  /// descriptor flags such as O_NONBLOCK will be modified by the system on behalf
+  /// of the application. It is an error for the application to modify a file
+  /// descriptor directly while it is under the control of a dispatch I/O channel,
+  /// but it may create additional channels associated with that file descriptor.
+  ///
+  /// @param type	The desired type of I/O channel (DISPATCH_IO_STREAM
+  /// or DISPATCH_IO_RANDOM).
+  /// @param io	The existing channel to create the new I/O channel from.
+  /// @param queue	The dispatch queue to which the handler should be submitted.
+  /// @param cleanup_handler	The handler to enqueue when the system
+  /// relinquishes control over the file descriptor
+  /// (resp. closes the file at path) associated with
+  /// the existing channel.
+  /// param error		An errno condition if control is relinquished
+  /// because channel creation failed, zero otherwise.
+  /// @result	The newly created dispatch I/O channel or NULL if an error
+  /// occurred (invalid type specified).
+  dispatch_io_t dispatch_io_create_with_io(
+    int type,
+    dispatch_io_t io,
+    dispatch_queue_t queue,
+    ffi.Pointer<_ObjCBlock> cleanup_handler,
+  ) {
+    return _dispatch_io_create_with_io(
+      type,
+      io,
+      queue,
+      cleanup_handler,
+    );
+  }
+
+  late final _dispatch_io_create_with_ioPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_io_t Function(
+              dispatch_io_type_t,
+              dispatch_io_t,
+              dispatch_queue_t,
+              ffi.Pointer<_ObjCBlock>)>>('dispatch_io_create_with_io');
+  late final _dispatch_io_create_with_io =
+      _dispatch_io_create_with_ioPtr.asFunction<
+          dispatch_io_t Function(
+              int, dispatch_io_t, dispatch_queue_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function dispatch_io_read
+  /// Schedule a read operation for asynchronous execution on the specified I/O
+  /// channel. The I/O handler is enqueued one or more times depending on the
+  /// general load of the system and the policy specified on the I/O channel.
+  ///
+  /// Any data read from the channel is described by the dispatch data object
+  /// passed to the I/O handler. This object will be automatically released by the
+  /// system when the I/O handler returns. It is the responsibility of the
+  /// application to retain, concatenate or copy the data object if it is needed
+  /// after the I/O handler returns.
+  ///
+  /// Dispatch I/O handlers are not reentrant. The system will ensure that no new
+  /// I/O handler instance is invoked until the previously enqueued handler block
+  /// has returned.
+  ///
+  /// An invocation of the I/O handler with the done flag set indicates that the
+  /// read operation is complete and that the handler will not be enqueued again.
+  ///
+  /// If an unrecoverable error occurs on the I/O channel's underlying file
+  /// descriptor, the I/O handler will be enqueued with the done flag set, the
+  /// appropriate error code and a NULL data object.
+  ///
+  /// An invocation of the I/O handler with the done flag set, an error code of
+  /// zero and an empty data object indicates that EOF was reached.
+  ///
+  /// @param channel	The dispatch I/O channel from which to read the data.
+  /// @param offset	The offset relative to the channel position from which
+  /// to start reading (only for DISPATCH_IO_RANDOM).
+  /// @param length	The length of data to read from the I/O channel, or
+  /// SIZE_MAX to indicate that data should be read until EOF
+  /// is reached.
+  /// @param queue		The dispatch queue to which the I/O handler should be
+  /// submitted.
+  /// @param io_handler	The I/O handler to enqueue when data is ready to be
+  /// delivered.
+  /// param done	A flag indicating whether the operation is complete.
+  /// param data	An object with the data most recently read from the
+  /// I/O channel as part of this read operation, or NULL.
+  /// param error	An errno condition for the read operation or zero if
+  /// the read was successful.
+  void dispatch_io_read(
+    dispatch_io_t channel,
+    int offset,
+    int length,
+    dispatch_queue_t queue,
+    dispatch_io_handler_t io_handler,
+  ) {
+    return _dispatch_io_read(
+      channel,
+      offset,
+      length,
+      queue,
+      io_handler,
+    );
+  }
+
+  late final _dispatch_io_readPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_io_t, off_t, ffi.Size, dispatch_queue_t,
+              dispatch_io_handler_t)>>('dispatch_io_read');
+  late final _dispatch_io_read = _dispatch_io_readPtr.asFunction<
+      void Function(
+          dispatch_io_t, int, int, dispatch_queue_t, dispatch_io_handler_t)>();
+
+  /// !
+  /// @function dispatch_io_write
+  /// Schedule a write operation for asynchronous execution on the specified I/O
+  /// channel. The I/O handler is enqueued one or more times depending on the
+  /// general load of the system and the policy specified on the I/O channel.
+  ///
+  /// Any data remaining to be written to the I/O channel is described by the
+  /// dispatch data object passed to the I/O handler. This object will be
+  /// automatically released by the system when the I/O handler returns. It is the
+  /// responsibility of the application to retain, concatenate or copy the data
+  /// object if it is needed after the I/O handler returns.
+  ///
+  /// Dispatch I/O handlers are not reentrant. The system will ensure that no new
+  /// I/O handler instance is invoked until the previously enqueued handler block
+  /// has returned.
+  ///
+  /// An invocation of the I/O handler with the done flag set indicates that the
+  /// write operation is complete and that the handler will not be enqueued again.
+  ///
+  /// If an unrecoverable error occurs on the I/O channel's underlying file
+  /// descriptor, the I/O handler will be enqueued with the done flag set, the
+  /// appropriate error code and an object containing the data that could not be
+  /// written.
+  ///
+  /// An invocation of the I/O handler with the done flag set and an error code of
+  /// zero indicates that the data was fully written to the channel.
+  ///
+  /// @param channel	The dispatch I/O channel on which to write the data.
+  /// @param offset	The offset relative to the channel position from which
+  /// to start writing (only for DISPATCH_IO_RANDOM).
+  /// @param data		The data to write to the I/O channel. The data object
+  /// will be retained by the system until the write operation
+  /// is complete.
+  /// @param queue		The dispatch queue to which the I/O handler should be
+  /// submitted.
+  /// @param io_handler	The I/O handler to enqueue when data has been delivered.
+  /// param done	A flag indicating whether the operation is complete.
+  /// param data	An object of the data remaining to be
+  /// written to the I/O channel as part of this write
+  /// operation, or NULL.
+  /// param error	An errno condition for the write operation or zero
+  /// if the write was successful.
+  void dispatch_io_write(
+    dispatch_io_t channel,
+    int offset,
+    dispatch_data_t data,
+    dispatch_queue_t queue,
+    dispatch_io_handler_t io_handler,
+  ) {
+    return _dispatch_io_write(
+      channel,
+      offset,
+      data,
+      queue,
+      io_handler,
+    );
+  }
+
+  late final _dispatch_io_writePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_io_t, off_t, dispatch_data_t,
+              dispatch_queue_t, dispatch_io_handler_t)>>('dispatch_io_write');
+  late final _dispatch_io_write = _dispatch_io_writePtr.asFunction<
+      void Function(dispatch_io_t, int, dispatch_data_t, dispatch_queue_t,
+          dispatch_io_handler_t)>();
+
+  /// !
+  /// @function dispatch_io_close
+  /// Close the specified I/O channel to new read or write operations; scheduling
+  /// operations on a closed channel results in their handler returning an error.
+  ///
+  /// If the DISPATCH_IO_STOP flag is provided, the system will make a best effort
+  /// to interrupt any outstanding read and write operations on the I/O channel,
+  /// otherwise those operations will run to completion normally.
+  /// Partial results of read and write operations may be returned even after a
+  /// channel is closed with the DISPATCH_IO_STOP flag.
+  /// The final invocation of an I/O handler of an interrupted operation will be
+  /// passed an ECANCELED error code, as will the I/O handler of an operation
+  /// scheduled on a closed channel.
+  ///
+  /// @param channel	The dispatch I/O channel to close.
+  /// @param flags		The flags for the close operation.
+  void dispatch_io_close(
+    dispatch_io_t channel,
+    int flags,
+  ) {
+    return _dispatch_io_close(
+      channel,
+      flags,
+    );
+  }
+
+  late final _dispatch_io_closePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              dispatch_io_t, dispatch_io_close_flags_t)>>('dispatch_io_close');
+  late final _dispatch_io_close =
+      _dispatch_io_closePtr.asFunction<void Function(dispatch_io_t, int)>();
+
+  /// !
+  /// @function dispatch_io_barrier
+  /// Schedule a barrier operation on the specified I/O channel; all previously
+  /// scheduled operations on the channel will complete before the provided
+  /// barrier block is enqueued onto the global queue determined by the channel's
+  /// target queue, and no subsequently scheduled operations will start until the
+  /// barrier block has returned.
+  ///
+  /// If multiple channels are associated with the same file descriptor, a barrier
+  /// operation scheduled on any of these channels will act as a barrier across all
+  /// channels in question, i.e. all previously scheduled operations on any of the
+  /// channels will complete before the barrier block is enqueued, and no
+  /// operations subsequently scheduled on any of the channels will start until the
+  /// barrier block has returned.
+  ///
+  /// While the barrier block is running, it may safely operate on the channel's
+  /// underlying file descriptor with fsync(2), lseek(2) etc. (but not close(2)).
+  ///
+  /// @param channel	The dispatch I/O channel to schedule the barrier on.
+  /// @param barrier	The barrier block.
+  void dispatch_io_barrier(
+    dispatch_io_t channel,
+    dispatch_block_t barrier,
+  ) {
+    return _dispatch_io_barrier(
+      channel,
+      barrier,
+    );
+  }
+
+  late final _dispatch_io_barrierPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(dispatch_io_t, dispatch_block_t)>>(
+      'dispatch_io_barrier');
+  late final _dispatch_io_barrier = _dispatch_io_barrierPtr
+      .asFunction<void Function(dispatch_io_t, dispatch_block_t)>();
+
+  /// !
+  /// @function dispatch_io_get_descriptor
+  /// Returns the file descriptor underlying a dispatch I/O channel.
+  ///
+  /// Will return -1 for a channel closed with dispatch_io_close() and for a
+  /// channel associated with a path name that has not yet been open(2)ed.
+  ///
+  /// If called from a barrier block scheduled on a channel associated with a path
+  /// name that has not yet been open(2)ed, this will trigger the channel open(2)
+  /// operation and return the resulting file descriptor.
+  ///
+  /// @param channel	The dispatch I/O channel to query.
+  /// @result		The file descriptor underlying the channel, or -1.
+  int dispatch_io_get_descriptor(
+    dispatch_io_t channel,
+  ) {
+    return _dispatch_io_get_descriptor(
+      channel,
+    );
+  }
+
+  late final _dispatch_io_get_descriptorPtr =
+      _lookup<ffi.NativeFunction<dispatch_fd_t Function(dispatch_io_t)>>(
+          'dispatch_io_get_descriptor');
+  late final _dispatch_io_get_descriptor =
+      _dispatch_io_get_descriptorPtr.asFunction<int Function(dispatch_io_t)>();
+
+  /// !
+  /// @function dispatch_io_set_high_water
+  /// Set a high water mark on the I/O channel for all operations.
+  ///
+  /// The system will make a best effort to enqueue I/O handlers with partial
+  /// results as soon the number of bytes processed by an operation (i.e. read or
+  /// written) reaches the high water mark.
+  ///
+  /// The size of data objects passed to I/O handlers for this channel will never
+  /// exceed the specified high water mark.
+  ///
+  /// The default value for the high water mark is unlimited (i.e. SIZE_MAX).
+  ///
+  /// @param channel	The dispatch I/O channel on which to set the policy.
+  /// @param high_water	The number of bytes to use as a high water mark.
+  void dispatch_io_set_high_water(
+    dispatch_io_t channel,
+    int high_water,
+  ) {
+    return _dispatch_io_set_high_water(
+      channel,
+      high_water,
+    );
+  }
+
+  late final _dispatch_io_set_high_waterPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_io_t, ffi.Size)>>(
+          'dispatch_io_set_high_water');
+  late final _dispatch_io_set_high_water = _dispatch_io_set_high_waterPtr
+      .asFunction<void Function(dispatch_io_t, int)>();
+
+  /// !
+  /// @function dispatch_io_set_low_water
+  /// Set a low water mark on the I/O channel for all operations.
+  ///
+  /// The system will process (i.e. read or write) at least the low water mark
+  /// number of bytes for an operation before enqueueing I/O handlers with partial
+  /// results.
+  ///
+  /// The size of data objects passed to intermediate I/O handler invocations for
+  /// this channel (i.e. excluding the final invocation) will never be smaller than
+  /// the specified low water mark, except if the channel has an interval with the
+  /// DISPATCH_IO_STRICT_INTERVAL flag set or if EOF or an error was encountered.
+  ///
+  /// I/O handlers should be prepared to receive amounts of data significantly
+  /// larger than the low water mark in general. If an I/O handler requires
+  /// intermediate results of fixed size, set both the low and and the high water
+  /// mark to that size.
+  ///
+  /// The default value for the low water mark is unspecified, but must be assumed
+  /// to be such that intermediate handler invocations may occur.
+  /// If I/O handler invocations with partial results are not desired, set the
+  /// low water mark to SIZE_MAX.
+  ///
+  /// @param channel	The dispatch I/O channel on which to set the policy.
+  /// @param low_water	The number of bytes to use as a low water mark.
+  void dispatch_io_set_low_water(
+    dispatch_io_t channel,
+    int low_water,
+  ) {
+    return _dispatch_io_set_low_water(
+      channel,
+      low_water,
+    );
+  }
+
+  late final _dispatch_io_set_low_waterPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(dispatch_io_t, ffi.Size)>>(
+          'dispatch_io_set_low_water');
+  late final _dispatch_io_set_low_water = _dispatch_io_set_low_waterPtr
+      .asFunction<void Function(dispatch_io_t, int)>();
+
+  /// !
+  /// @function dispatch_io_set_interval
+  /// Set a nanosecond interval at which I/O handlers are to be enqueued on the
+  /// I/O channel for all operations.
+  ///
+  /// This allows an application to receive periodic feedback on the progress of
+  /// read and write operations, e.g. for the purposes of displaying progress bars.
+  ///
+  /// If the amount of data ready to be delivered to an I/O handler at the interval
+  /// is inferior to the channel low water mark, the handler will only be enqueued
+  /// if the DISPATCH_IO_STRICT_INTERVAL flag is set.
+  ///
+  /// Note that the system may defer enqueueing interval I/O handlers by a small
+  /// unspecified amount of leeway in order to align with other system activity for
+  /// improved system performance or power consumption.
+  ///
+  /// @param channel	The dispatch I/O channel on which to set the policy.
+  /// @param interval	The interval in nanoseconds at which delivery of the I/O
+  /// handler is desired.
+  /// @param flags		Flags indicating desired data delivery behavior at
+  /// interval time.
+  void dispatch_io_set_interval(
+    dispatch_io_t channel,
+    int interval,
+    int flags,
+  ) {
+    return _dispatch_io_set_interval(
+      channel,
+      interval,
+      flags,
+    );
+  }
+
+  late final _dispatch_io_set_intervalPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_io_t, ffi.Uint64,
+              dispatch_io_interval_flags_t)>>('dispatch_io_set_interval');
+  late final _dispatch_io_set_interval = _dispatch_io_set_intervalPtr
+      .asFunction<void Function(dispatch_io_t, int, int)>();
+
+  /// !
+  /// @function dispatch_workloop_create
+  ///
+  /// @abstract
+  /// Creates a new dispatch workloop to which workitems may be submitted.
+  ///
+  /// @param label
+  /// A string label to attach to the workloop.
+  ///
+  /// @result
+  /// The newly created dispatch workloop.
+  dispatch_workloop_t dispatch_workloop_create(
+    ffi.Pointer<ffi.Char> label,
+  ) {
+    return _dispatch_workloop_create(
+      label,
+    );
+  }
+
+  late final _dispatch_workloop_createPtr = _lookup<
+          ffi
+          .NativeFunction<dispatch_workloop_t Function(ffi.Pointer<ffi.Char>)>>(
+      'dispatch_workloop_create');
+  late final _dispatch_workloop_create = _dispatch_workloop_createPtr
+      .asFunction<dispatch_workloop_t Function(ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function dispatch_workloop_create_inactive
+  ///
+  /// @abstract
+  /// Creates a new inactive dispatch workloop that can be setup and then
+  /// activated.
+  ///
+  /// @discussion
+  /// Creating an inactive workloop allows for it to receive further configuration
+  /// before it is activated, and workitems can be submitted to it.
+  ///
+  /// Submitting workitems to an inactive workloop is undefined and will cause the
+  /// process to be terminated.
+  ///
+  /// @param label
+  /// A string label to attach to the workloop.
+  ///
+  /// @result
+  /// The newly created dispatch workloop.
+  dispatch_workloop_t dispatch_workloop_create_inactive(
+    ffi.Pointer<ffi.Char> label,
+  ) {
+    return _dispatch_workloop_create_inactive(
+      label,
+    );
+  }
+
+  late final _dispatch_workloop_create_inactivePtr = _lookup<
+          ffi
+          .NativeFunction<dispatch_workloop_t Function(ffi.Pointer<ffi.Char>)>>(
+      'dispatch_workloop_create_inactive');
+  late final _dispatch_workloop_create_inactive =
+      _dispatch_workloop_create_inactivePtr
+          .asFunction<dispatch_workloop_t Function(ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function dispatch_workloop_set_autorelease_frequency
+  ///
+  /// @abstract
+  /// Sets the autorelease frequency of the workloop.
+  ///
+  /// @discussion
+  /// See dispatch_queue_attr_make_with_autorelease_frequency().
+  /// The default policy for a workloop is
+  /// DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM.
+  ///
+  /// @param workloop
+  /// The dispatch workloop to modify.
+  ///
+  /// This workloop must be inactive, passing an activated object is undefined
+  /// and will cause the process to be terminated.
+  ///
+  /// @param frequency
+  /// The requested autorelease frequency.
+  void dispatch_workloop_set_autorelease_frequency(
+    dispatch_workloop_t workloop,
+    int frequency,
+  ) {
+    return _dispatch_workloop_set_autorelease_frequency(
+      workloop,
+      frequency,
+    );
+  }
+
+  late final _dispatch_workloop_set_autorelease_frequencyPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(dispatch_workloop_t, ffi.Int32)>>(
+      'dispatch_workloop_set_autorelease_frequency');
+  late final _dispatch_workloop_set_autorelease_frequency =
+      _dispatch_workloop_set_autorelease_frequencyPtr
+          .asFunction<void Function(dispatch_workloop_t, int)>();
+
+  /// !
+  /// @function dispatch_workloop_set_os_workgroup
+  ///
+  /// @abstract
+  /// Associates an os_workgroup_t with the specified dispatch workloop.
+  ///
+  /// The worker thread will be a member of the specified os_workgroup_t while executing
+  /// work items submitted to the workloop.
+  ///
+  /// @param workloop
+  /// The dispatch workloop to modify.
+  ///
+  /// This workloop must be inactive, passing an activated object is undefined
+  /// and will cause the process to be terminated.
+  ///
+  /// @param workgroup
+  /// The workgroup to associate with this workloop.
+  ///
+  /// The workgroup specified is retained and the previously associated workgroup
+  /// (if any) is released.
+  void dispatch_workloop_set_os_workgroup(
+    dispatch_workloop_t workloop,
+    os_workgroup_t workgroup,
+  ) {
+    return _dispatch_workloop_set_os_workgroup(
+      workloop,
+      workgroup,
+    );
+  }
+
+  late final _dispatch_workloop_set_os_workgroupPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(dispatch_workloop_t,
+              os_workgroup_t)>>('dispatch_workloop_set_os_workgroup');
+  late final _dispatch_workloop_set_os_workgroup =
+      _dispatch_workloop_set_os_workgroupPtr
+          .asFunction<void Function(dispatch_workloop_t, os_workgroup_t)>();
+
+  int CFReadStreamGetTypeID() {
+    return _CFReadStreamGetTypeID();
+  }
+
+  late final _CFReadStreamGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFReadStreamGetTypeID');
+  late final _CFReadStreamGetTypeID =
+      _CFReadStreamGetTypeIDPtr.asFunction<int Function()>();
+
+  int CFWriteStreamGetTypeID() {
+    return _CFWriteStreamGetTypeID();
+  }
+
+  late final _CFWriteStreamGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFWriteStreamGetTypeID');
+  late final _CFWriteStreamGetTypeID =
+      _CFWriteStreamGetTypeIDPtr.asFunction<int Function()>();
+
+  late final ffi.Pointer<CFStreamPropertyKey> _kCFStreamPropertyDataWritten =
+      _lookup<CFStreamPropertyKey>('kCFStreamPropertyDataWritten');
+
+  CFStreamPropertyKey get kCFStreamPropertyDataWritten =>
+      _kCFStreamPropertyDataWritten.value;
+
+  set kCFStreamPropertyDataWritten(CFStreamPropertyKey value) =>
+      _kCFStreamPropertyDataWritten.value = value;
+
+  CFReadStreamRef CFReadStreamCreateWithBytesNoCopy(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UInt8> bytes,
+    int length,
+    CFAllocatorRef bytesDeallocator,
+  ) {
+    return _CFReadStreamCreateWithBytesNoCopy(
+      alloc,
+      bytes,
+      length,
+      bytesDeallocator,
+    );
+  }
+
+  late final _CFReadStreamCreateWithBytesNoCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFReadStreamRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex,
+              CFAllocatorRef)>>('CFReadStreamCreateWithBytesNoCopy');
+  late final _CFReadStreamCreateWithBytesNoCopy =
+      _CFReadStreamCreateWithBytesNoCopyPtr.asFunction<
+          CFReadStreamRef Function(
+              CFAllocatorRef, ffi.Pointer<UInt8>, int, CFAllocatorRef)>();
+
+  CFWriteStreamRef CFWriteStreamCreateWithBuffer(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UInt8> buffer,
+    int bufferCapacity,
+  ) {
+    return _CFWriteStreamCreateWithBuffer(
+      alloc,
+      buffer,
+      bufferCapacity,
+    );
+  }
+
+  late final _CFWriteStreamCreateWithBufferPtr = _lookup<
+      ffi.NativeFunction<
+          CFWriteStreamRef Function(CFAllocatorRef, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFWriteStreamCreateWithBuffer');
+  late final _CFWriteStreamCreateWithBuffer =
+      _CFWriteStreamCreateWithBufferPtr.asFunction<
+          CFWriteStreamRef Function(CFAllocatorRef, ffi.Pointer<UInt8>, int)>();
+
+  CFWriteStreamRef CFWriteStreamCreateWithAllocatedBuffers(
+    CFAllocatorRef alloc,
+    CFAllocatorRef bufferAllocator,
+  ) {
+    return _CFWriteStreamCreateWithAllocatedBuffers(
+      alloc,
+      bufferAllocator,
+    );
+  }
+
+  late final _CFWriteStreamCreateWithAllocatedBuffersPtr = _lookup<
+      ffi.NativeFunction<
+          CFWriteStreamRef Function(CFAllocatorRef,
+              CFAllocatorRef)>>('CFWriteStreamCreateWithAllocatedBuffers');
+  late final _CFWriteStreamCreateWithAllocatedBuffers =
+      _CFWriteStreamCreateWithAllocatedBuffersPtr.asFunction<
+          CFWriteStreamRef Function(CFAllocatorRef, CFAllocatorRef)>();
+
+  CFReadStreamRef CFReadStreamCreateWithFile(
+    CFAllocatorRef alloc,
+    CFURLRef fileURL,
+  ) {
+    return _CFReadStreamCreateWithFile(
+      alloc,
+      fileURL,
+    );
+  }
+
+  late final _CFReadStreamCreateWithFilePtr = _lookup<
+          ffi
+          .NativeFunction<CFReadStreamRef Function(CFAllocatorRef, CFURLRef)>>(
+      'CFReadStreamCreateWithFile');
+  late final _CFReadStreamCreateWithFile = _CFReadStreamCreateWithFilePtr
+      .asFunction<CFReadStreamRef Function(CFAllocatorRef, CFURLRef)>();
+
+  CFWriteStreamRef CFWriteStreamCreateWithFile(
+    CFAllocatorRef alloc,
+    CFURLRef fileURL,
+  ) {
+    return _CFWriteStreamCreateWithFile(
+      alloc,
+      fileURL,
+    );
+  }
+
+  late final _CFWriteStreamCreateWithFilePtr = _lookup<
+          ffi
+          .NativeFunction<CFWriteStreamRef Function(CFAllocatorRef, CFURLRef)>>(
+      'CFWriteStreamCreateWithFile');
+  late final _CFWriteStreamCreateWithFile = _CFWriteStreamCreateWithFilePtr
+      .asFunction<CFWriteStreamRef Function(CFAllocatorRef, CFURLRef)>();
+
+  void CFStreamCreateBoundPair(
+    CFAllocatorRef alloc,
+    ffi.Pointer<CFReadStreamRef> readStream,
+    ffi.Pointer<CFWriteStreamRef> writeStream,
+    int transferBufferSize,
+  ) {
+    return _CFStreamCreateBoundPair(
+      alloc,
+      readStream,
+      writeStream,
+      transferBufferSize,
+    );
+  }
+
+  late final _CFStreamCreateBoundPairPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFAllocatorRef,
+              ffi.Pointer<CFReadStreamRef>,
+              ffi.Pointer<CFWriteStreamRef>,
+              CFIndex)>>('CFStreamCreateBoundPair');
+  late final _CFStreamCreateBoundPair = _CFStreamCreateBoundPairPtr.asFunction<
+      void Function(CFAllocatorRef, ffi.Pointer<CFReadStreamRef>,
+          ffi.Pointer<CFWriteStreamRef>, int)>();
+
+  late final ffi.Pointer<CFStreamPropertyKey> _kCFStreamPropertyAppendToFile =
+      _lookup<CFStreamPropertyKey>('kCFStreamPropertyAppendToFile');
+
+  CFStreamPropertyKey get kCFStreamPropertyAppendToFile =>
+      _kCFStreamPropertyAppendToFile.value;
+
+  set kCFStreamPropertyAppendToFile(CFStreamPropertyKey value) =>
+      _kCFStreamPropertyAppendToFile.value = value;
+
+  late final ffi.Pointer<CFStreamPropertyKey>
+      _kCFStreamPropertyFileCurrentOffset =
+      _lookup<CFStreamPropertyKey>('kCFStreamPropertyFileCurrentOffset');
+
+  CFStreamPropertyKey get kCFStreamPropertyFileCurrentOffset =>
+      _kCFStreamPropertyFileCurrentOffset.value;
+
+  set kCFStreamPropertyFileCurrentOffset(CFStreamPropertyKey value) =>
+      _kCFStreamPropertyFileCurrentOffset.value = value;
+
+  late final ffi.Pointer<CFStreamPropertyKey>
+      _kCFStreamPropertySocketNativeHandle =
+      _lookup<CFStreamPropertyKey>('kCFStreamPropertySocketNativeHandle');
+
+  CFStreamPropertyKey get kCFStreamPropertySocketNativeHandle =>
+      _kCFStreamPropertySocketNativeHandle.value;
+
+  set kCFStreamPropertySocketNativeHandle(CFStreamPropertyKey value) =>
+      _kCFStreamPropertySocketNativeHandle.value = value;
+
+  late final ffi.Pointer<CFStreamPropertyKey>
+      _kCFStreamPropertySocketRemoteHostName =
+      _lookup<CFStreamPropertyKey>('kCFStreamPropertySocketRemoteHostName');
+
+  CFStreamPropertyKey get kCFStreamPropertySocketRemoteHostName =>
+      _kCFStreamPropertySocketRemoteHostName.value;
+
+  set kCFStreamPropertySocketRemoteHostName(CFStreamPropertyKey value) =>
+      _kCFStreamPropertySocketRemoteHostName.value = value;
+
+  late final ffi.Pointer<CFStreamPropertyKey>
+      _kCFStreamPropertySocketRemotePortNumber =
+      _lookup<CFStreamPropertyKey>('kCFStreamPropertySocketRemotePortNumber');
+
+  CFStreamPropertyKey get kCFStreamPropertySocketRemotePortNumber =>
+      _kCFStreamPropertySocketRemotePortNumber.value;
+
+  set kCFStreamPropertySocketRemotePortNumber(CFStreamPropertyKey value) =>
+      _kCFStreamPropertySocketRemotePortNumber.value = value;
+
+  late final ffi.Pointer<ffi.Int> _kCFStreamErrorDomainSOCKS =
+      _lookup<ffi.Int>('kCFStreamErrorDomainSOCKS');
+
+  int get kCFStreamErrorDomainSOCKS => _kCFStreamErrorDomainSOCKS.value;
+
+  set kCFStreamErrorDomainSOCKS(int value) =>
+      _kCFStreamErrorDomainSOCKS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySOCKSProxy =
+      _lookup<CFStringRef>('kCFStreamPropertySOCKSProxy');
+
+  CFStringRef get kCFStreamPropertySOCKSProxy =>
+      _kCFStreamPropertySOCKSProxy.value;
+
+  set kCFStreamPropertySOCKSProxy(CFStringRef value) =>
+      _kCFStreamPropertySOCKSProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySOCKSProxyHost =
+      _lookup<CFStringRef>('kCFStreamPropertySOCKSProxyHost');
+
+  CFStringRef get kCFStreamPropertySOCKSProxyHost =>
+      _kCFStreamPropertySOCKSProxyHost.value;
+
+  set kCFStreamPropertySOCKSProxyHost(CFStringRef value) =>
+      _kCFStreamPropertySOCKSProxyHost.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySOCKSProxyPort =
+      _lookup<CFStringRef>('kCFStreamPropertySOCKSProxyPort');
+
+  CFStringRef get kCFStreamPropertySOCKSProxyPort =>
+      _kCFStreamPropertySOCKSProxyPort.value;
+
+  set kCFStreamPropertySOCKSProxyPort(CFStringRef value) =>
+      _kCFStreamPropertySOCKSProxyPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySOCKSVersion =
+      _lookup<CFStringRef>('kCFStreamPropertySOCKSVersion');
+
+  CFStringRef get kCFStreamPropertySOCKSVersion =>
+      _kCFStreamPropertySOCKSVersion.value;
+
+  set kCFStreamPropertySOCKSVersion(CFStringRef value) =>
+      _kCFStreamPropertySOCKSVersion.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSocketSOCKSVersion4 =
+      _lookup<CFStringRef>('kCFStreamSocketSOCKSVersion4');
+
+  CFStringRef get kCFStreamSocketSOCKSVersion4 =>
+      _kCFStreamSocketSOCKSVersion4.value;
+
+  set kCFStreamSocketSOCKSVersion4(CFStringRef value) =>
+      _kCFStreamSocketSOCKSVersion4.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSocketSOCKSVersion5 =
+      _lookup<CFStringRef>('kCFStreamSocketSOCKSVersion5');
+
+  CFStringRef get kCFStreamSocketSOCKSVersion5 =>
+      _kCFStreamSocketSOCKSVersion5.value;
+
+  set kCFStreamSocketSOCKSVersion5(CFStringRef value) =>
+      _kCFStreamSocketSOCKSVersion5.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySOCKSUser =
+      _lookup<CFStringRef>('kCFStreamPropertySOCKSUser');
+
+  CFStringRef get kCFStreamPropertySOCKSUser =>
+      _kCFStreamPropertySOCKSUser.value;
+
+  set kCFStreamPropertySOCKSUser(CFStringRef value) =>
+      _kCFStreamPropertySOCKSUser.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySOCKSPassword =
+      _lookup<CFStringRef>('kCFStreamPropertySOCKSPassword');
+
+  CFStringRef get kCFStreamPropertySOCKSPassword =>
+      _kCFStreamPropertySOCKSPassword.value;
+
+  set kCFStreamPropertySOCKSPassword(CFStringRef value) =>
+      _kCFStreamPropertySOCKSPassword.value = value;
+
+  late final ffi.Pointer<ffi.Int> _kCFStreamErrorDomainSSL =
+      _lookup<ffi.Int>('kCFStreamErrorDomainSSL');
+
+  int get kCFStreamErrorDomainSSL => _kCFStreamErrorDomainSSL.value;
+
+  set kCFStreamErrorDomainSSL(int value) =>
+      _kCFStreamErrorDomainSSL.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySocketSecurityLevel =
+      _lookup<CFStringRef>('kCFStreamPropertySocketSecurityLevel');
+
+  CFStringRef get kCFStreamPropertySocketSecurityLevel =>
+      _kCFStreamPropertySocketSecurityLevel.value;
+
+  set kCFStreamPropertySocketSecurityLevel(CFStringRef value) =>
+      _kCFStreamPropertySocketSecurityLevel.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSocketSecurityLevelNone =
+      _lookup<CFStringRef>('kCFStreamSocketSecurityLevelNone');
+
+  CFStringRef get kCFStreamSocketSecurityLevelNone =>
+      _kCFStreamSocketSecurityLevelNone.value;
+
+  set kCFStreamSocketSecurityLevelNone(CFStringRef value) =>
+      _kCFStreamSocketSecurityLevelNone.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSocketSecurityLevelSSLv2 =
+      _lookup<CFStringRef>('kCFStreamSocketSecurityLevelSSLv2');
+
+  CFStringRef get kCFStreamSocketSecurityLevelSSLv2 =>
+      _kCFStreamSocketSecurityLevelSSLv2.value;
+
+  set kCFStreamSocketSecurityLevelSSLv2(CFStringRef value) =>
+      _kCFStreamSocketSecurityLevelSSLv2.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSocketSecurityLevelSSLv3 =
+      _lookup<CFStringRef>('kCFStreamSocketSecurityLevelSSLv3');
+
+  CFStringRef get kCFStreamSocketSecurityLevelSSLv3 =>
+      _kCFStreamSocketSecurityLevelSSLv3.value;
+
+  set kCFStreamSocketSecurityLevelSSLv3(CFStringRef value) =>
+      _kCFStreamSocketSecurityLevelSSLv3.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSocketSecurityLevelTLSv1 =
+      _lookup<CFStringRef>('kCFStreamSocketSecurityLevelTLSv1');
+
+  CFStringRef get kCFStreamSocketSecurityLevelTLSv1 =>
+      _kCFStreamSocketSecurityLevelTLSv1.value;
+
+  set kCFStreamSocketSecurityLevelTLSv1(CFStringRef value) =>
+      _kCFStreamSocketSecurityLevelTLSv1.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamSocketSecurityLevelNegotiatedSSL =
+      _lookup<CFStringRef>('kCFStreamSocketSecurityLevelNegotiatedSSL');
+
+  CFStringRef get kCFStreamSocketSecurityLevelNegotiatedSSL =>
+      _kCFStreamSocketSecurityLevelNegotiatedSSL.value;
+
+  set kCFStreamSocketSecurityLevelNegotiatedSSL(CFStringRef value) =>
+      _kCFStreamSocketSecurityLevelNegotiatedSSL.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamPropertyShouldCloseNativeSocket =
+      _lookup<CFStringRef>('kCFStreamPropertyShouldCloseNativeSocket');
+
+  CFStringRef get kCFStreamPropertyShouldCloseNativeSocket =>
+      _kCFStreamPropertyShouldCloseNativeSocket.value;
+
+  set kCFStreamPropertyShouldCloseNativeSocket(CFStringRef value) =>
+      _kCFStreamPropertyShouldCloseNativeSocket.value = value;
+
+  void CFStreamCreatePairWithSocket(
+    CFAllocatorRef alloc,
+    int sock,
+    ffi.Pointer<CFReadStreamRef> readStream,
+    ffi.Pointer<CFWriteStreamRef> writeStream,
+  ) {
+    return _CFStreamCreatePairWithSocket(
+      alloc,
+      sock,
+      readStream,
+      writeStream,
+    );
+  }
+
+  late final _CFStreamCreatePairWithSocketPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFAllocatorRef,
+              CFSocketNativeHandle,
+              ffi.Pointer<CFReadStreamRef>,
+              ffi.Pointer<CFWriteStreamRef>)>>('CFStreamCreatePairWithSocket');
+  late final _CFStreamCreatePairWithSocket =
+      _CFStreamCreatePairWithSocketPtr.asFunction<
+          void Function(CFAllocatorRef, int, ffi.Pointer<CFReadStreamRef>,
+              ffi.Pointer<CFWriteStreamRef>)>();
+
+  void CFStreamCreatePairWithSocketToHost(
+    CFAllocatorRef alloc,
+    CFStringRef host,
+    int port,
+    ffi.Pointer<CFReadStreamRef> readStream,
+    ffi.Pointer<CFWriteStreamRef> writeStream,
+  ) {
+    return _CFStreamCreatePairWithSocketToHost(
+      alloc,
+      host,
+      port,
+      readStream,
+      writeStream,
+    );
+  }
+
+  late final _CFStreamCreatePairWithSocketToHostPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFAllocatorRef,
+                  CFStringRef,
+                  UInt32,
+                  ffi.Pointer<CFReadStreamRef>,
+                  ffi.Pointer<CFWriteStreamRef>)>>(
+      'CFStreamCreatePairWithSocketToHost');
+  late final _CFStreamCreatePairWithSocketToHost =
+      _CFStreamCreatePairWithSocketToHostPtr.asFunction<
+          void Function(CFAllocatorRef, CFStringRef, int,
+              ffi.Pointer<CFReadStreamRef>, ffi.Pointer<CFWriteStreamRef>)>();
+
+  void CFStreamCreatePairWithPeerSocketSignature(
+    CFAllocatorRef alloc,
+    ffi.Pointer<CFSocketSignature> signature,
+    ffi.Pointer<CFReadStreamRef> readStream,
+    ffi.Pointer<CFWriteStreamRef> writeStream,
+  ) {
+    return _CFStreamCreatePairWithPeerSocketSignature(
+      alloc,
+      signature,
+      readStream,
+      writeStream,
+    );
+  }
+
+  late final _CFStreamCreatePairWithPeerSocketSignaturePtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFAllocatorRef,
+                  ffi.Pointer<CFSocketSignature>,
+                  ffi.Pointer<CFReadStreamRef>,
+                  ffi.Pointer<CFWriteStreamRef>)>>(
+      'CFStreamCreatePairWithPeerSocketSignature');
+  late final _CFStreamCreatePairWithPeerSocketSignature =
+      _CFStreamCreatePairWithPeerSocketSignaturePtr.asFunction<
+          void Function(CFAllocatorRef, ffi.Pointer<CFSocketSignature>,
+              ffi.Pointer<CFReadStreamRef>, ffi.Pointer<CFWriteStreamRef>)>();
+
+  int CFReadStreamGetStatus(
+    CFReadStreamRef stream,
+  ) {
+    return _CFReadStreamGetStatus(
+      stream,
+    );
+  }
+
+  late final _CFReadStreamGetStatusPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFReadStreamRef)>>(
+          'CFReadStreamGetStatus');
+  late final _CFReadStreamGetStatus =
+      _CFReadStreamGetStatusPtr.asFunction<int Function(CFReadStreamRef)>();
+
+  int CFWriteStreamGetStatus(
+    CFWriteStreamRef stream,
+  ) {
+    return _CFWriteStreamGetStatus(
+      stream,
+    );
+  }
+
+  late final _CFWriteStreamGetStatusPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFWriteStreamRef)>>(
+          'CFWriteStreamGetStatus');
+  late final _CFWriteStreamGetStatus =
+      _CFWriteStreamGetStatusPtr.asFunction<int Function(CFWriteStreamRef)>();
+
+  CFErrorRef CFReadStreamCopyError(
+    CFReadStreamRef stream,
+  ) {
+    return _CFReadStreamCopyError(
+      stream,
+    );
+  }
+
+  late final _CFReadStreamCopyErrorPtr =
+      _lookup<ffi.NativeFunction<CFErrorRef Function(CFReadStreamRef)>>(
+          'CFReadStreamCopyError');
+  late final _CFReadStreamCopyError = _CFReadStreamCopyErrorPtr.asFunction<
+      CFErrorRef Function(CFReadStreamRef)>();
+
+  CFErrorRef CFWriteStreamCopyError(
+    CFWriteStreamRef stream,
+  ) {
+    return _CFWriteStreamCopyError(
+      stream,
+    );
+  }
+
+  late final _CFWriteStreamCopyErrorPtr =
+      _lookup<ffi.NativeFunction<CFErrorRef Function(CFWriteStreamRef)>>(
+          'CFWriteStreamCopyError');
+  late final _CFWriteStreamCopyError = _CFWriteStreamCopyErrorPtr.asFunction<
+      CFErrorRef Function(CFWriteStreamRef)>();
+
+  int CFReadStreamOpen(
+    CFReadStreamRef stream,
+  ) {
+    return _CFReadStreamOpen(
+      stream,
+    );
+  }
+
+  late final _CFReadStreamOpenPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFReadStreamRef)>>(
+          'CFReadStreamOpen');
+  late final _CFReadStreamOpen =
+      _CFReadStreamOpenPtr.asFunction<int Function(CFReadStreamRef)>();
+
+  int CFWriteStreamOpen(
+    CFWriteStreamRef stream,
+  ) {
+    return _CFWriteStreamOpen(
+      stream,
+    );
+  }
+
+  late final _CFWriteStreamOpenPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFWriteStreamRef)>>(
+          'CFWriteStreamOpen');
+  late final _CFWriteStreamOpen =
+      _CFWriteStreamOpenPtr.asFunction<int Function(CFWriteStreamRef)>();
+
+  void CFReadStreamClose(
+    CFReadStreamRef stream,
+  ) {
+    return _CFReadStreamClose(
+      stream,
+    );
+  }
+
+  late final _CFReadStreamClosePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFReadStreamRef)>>(
+          'CFReadStreamClose');
+  late final _CFReadStreamClose =
+      _CFReadStreamClosePtr.asFunction<void Function(CFReadStreamRef)>();
+
+  void CFWriteStreamClose(
+    CFWriteStreamRef stream,
+  ) {
+    return _CFWriteStreamClose(
+      stream,
+    );
+  }
+
+  late final _CFWriteStreamClosePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFWriteStreamRef)>>(
+          'CFWriteStreamClose');
+  late final _CFWriteStreamClose =
+      _CFWriteStreamClosePtr.asFunction<void Function(CFWriteStreamRef)>();
+
+  int CFReadStreamHasBytesAvailable(
+    CFReadStreamRef stream,
+  ) {
+    return _CFReadStreamHasBytesAvailable(
+      stream,
+    );
+  }
+
+  late final _CFReadStreamHasBytesAvailablePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFReadStreamRef)>>(
+          'CFReadStreamHasBytesAvailable');
+  late final _CFReadStreamHasBytesAvailable = _CFReadStreamHasBytesAvailablePtr
+      .asFunction<int Function(CFReadStreamRef)>();
+
+  int CFReadStreamRead(
+    CFReadStreamRef stream,
+    ffi.Pointer<UInt8> buffer,
+    int bufferLength,
+  ) {
+    return _CFReadStreamRead(
+      stream,
+      buffer,
+      bufferLength,
+    );
+  }
+
+  late final _CFReadStreamReadPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFReadStreamRef, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFReadStreamRead');
+  late final _CFReadStreamRead = _CFReadStreamReadPtr.asFunction<
+      int Function(CFReadStreamRef, ffi.Pointer<UInt8>, int)>();
+
+  ffi.Pointer<UInt8> CFReadStreamGetBuffer(
+    CFReadStreamRef stream,
+    int maxBytesToRead,
+    ffi.Pointer<CFIndex> numBytesRead,
+  ) {
+    return _CFReadStreamGetBuffer(
+      stream,
+      maxBytesToRead,
+      numBytesRead,
+    );
+  }
+
+  late final _CFReadStreamGetBufferPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<UInt8> Function(CFReadStreamRef, CFIndex,
+              ffi.Pointer<CFIndex>)>>('CFReadStreamGetBuffer');
+  late final _CFReadStreamGetBuffer = _CFReadStreamGetBufferPtr.asFunction<
+      ffi.Pointer<UInt8> Function(
+          CFReadStreamRef, int, ffi.Pointer<CFIndex>)>();
+
+  int CFWriteStreamCanAcceptBytes(
+    CFWriteStreamRef stream,
+  ) {
+    return _CFWriteStreamCanAcceptBytes(
+      stream,
+    );
+  }
+
+  late final _CFWriteStreamCanAcceptBytesPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFWriteStreamRef)>>(
+          'CFWriteStreamCanAcceptBytes');
+  late final _CFWriteStreamCanAcceptBytes = _CFWriteStreamCanAcceptBytesPtr
+      .asFunction<int Function(CFWriteStreamRef)>();
+
+  int CFWriteStreamWrite(
+    CFWriteStreamRef stream,
+    ffi.Pointer<UInt8> buffer,
+    int bufferLength,
+  ) {
+    return _CFWriteStreamWrite(
+      stream,
+      buffer,
+      bufferLength,
+    );
+  }
+
+  late final _CFWriteStreamWritePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFWriteStreamRef, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFWriteStreamWrite');
+  late final _CFWriteStreamWrite = _CFWriteStreamWritePtr.asFunction<
+      int Function(CFWriteStreamRef, ffi.Pointer<UInt8>, int)>();
+
+  CFTypeRef CFReadStreamCopyProperty(
+    CFReadStreamRef stream,
+    CFStreamPropertyKey propertyName,
+  ) {
+    return _CFReadStreamCopyProperty(
+      stream,
+      propertyName,
+    );
+  }
+
+  late final _CFReadStreamCopyPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFReadStreamRef,
+              CFStreamPropertyKey)>>('CFReadStreamCopyProperty');
+  late final _CFReadStreamCopyProperty = _CFReadStreamCopyPropertyPtr
+      .asFunction<CFTypeRef Function(CFReadStreamRef, CFStreamPropertyKey)>();
+
+  CFTypeRef CFWriteStreamCopyProperty(
+    CFWriteStreamRef stream,
+    CFStreamPropertyKey propertyName,
+  ) {
+    return _CFWriteStreamCopyProperty(
+      stream,
+      propertyName,
+    );
+  }
+
+  late final _CFWriteStreamCopyPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFWriteStreamRef,
+              CFStreamPropertyKey)>>('CFWriteStreamCopyProperty');
+  late final _CFWriteStreamCopyProperty = _CFWriteStreamCopyPropertyPtr
+      .asFunction<CFTypeRef Function(CFWriteStreamRef, CFStreamPropertyKey)>();
+
+  int CFReadStreamSetProperty(
+    CFReadStreamRef stream,
+    CFStreamPropertyKey propertyName,
+    CFTypeRef propertyValue,
+  ) {
+    return _CFReadStreamSetProperty(
+      stream,
+      propertyName,
+      propertyValue,
+    );
+  }
+
+  late final _CFReadStreamSetPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFReadStreamRef, CFStreamPropertyKey,
+              CFTypeRef)>>('CFReadStreamSetProperty');
+  late final _CFReadStreamSetProperty = _CFReadStreamSetPropertyPtr.asFunction<
+      int Function(CFReadStreamRef, CFStreamPropertyKey, CFTypeRef)>();
+
+  int CFWriteStreamSetProperty(
+    CFWriteStreamRef stream,
+    CFStreamPropertyKey propertyName,
+    CFTypeRef propertyValue,
+  ) {
+    return _CFWriteStreamSetProperty(
+      stream,
+      propertyName,
+      propertyValue,
+    );
+  }
+
+  late final _CFWriteStreamSetPropertyPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFWriteStreamRef, CFStreamPropertyKey,
+              CFTypeRef)>>('CFWriteStreamSetProperty');
+  late final _CFWriteStreamSetProperty =
+      _CFWriteStreamSetPropertyPtr.asFunction<
+          int Function(CFWriteStreamRef, CFStreamPropertyKey, CFTypeRef)>();
+
+  int CFReadStreamSetClient(
+    CFReadStreamRef stream,
+    int streamEvents,
+    CFReadStreamClientCallBack clientCB,
+    ffi.Pointer<CFStreamClientContext> clientContext,
+  ) {
+    return _CFReadStreamSetClient(
+      stream,
+      streamEvents,
+      clientCB,
+      clientContext,
+    );
+  }
+
+  late final _CFReadStreamSetClientPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFReadStreamRef,
+              CFOptionFlags,
+              CFReadStreamClientCallBack,
+              ffi.Pointer<CFStreamClientContext>)>>('CFReadStreamSetClient');
+  late final _CFReadStreamSetClient = _CFReadStreamSetClientPtr.asFunction<
+      int Function(CFReadStreamRef, int, CFReadStreamClientCallBack,
+          ffi.Pointer<CFStreamClientContext>)>();
+
+  int CFWriteStreamSetClient(
+    CFWriteStreamRef stream,
+    int streamEvents,
+    CFWriteStreamClientCallBack clientCB,
+    ffi.Pointer<CFStreamClientContext> clientContext,
+  ) {
+    return _CFWriteStreamSetClient(
+      stream,
+      streamEvents,
+      clientCB,
+      clientContext,
+    );
+  }
+
+  late final _CFWriteStreamSetClientPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFWriteStreamRef,
+              CFOptionFlags,
+              CFWriteStreamClientCallBack,
+              ffi.Pointer<CFStreamClientContext>)>>('CFWriteStreamSetClient');
+  late final _CFWriteStreamSetClient = _CFWriteStreamSetClientPtr.asFunction<
+      int Function(CFWriteStreamRef, int, CFWriteStreamClientCallBack,
+          ffi.Pointer<CFStreamClientContext>)>();
+
+  void CFReadStreamScheduleWithRunLoop(
+    CFReadStreamRef stream,
+    CFRunLoopRef runLoop,
+    CFRunLoopMode runLoopMode,
+  ) {
+    return _CFReadStreamScheduleWithRunLoop(
+      stream,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFReadStreamScheduleWithRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFReadStreamRef, CFRunLoopRef,
+              CFRunLoopMode)>>('CFReadStreamScheduleWithRunLoop');
+  late final _CFReadStreamScheduleWithRunLoop =
+      _CFReadStreamScheduleWithRunLoopPtr.asFunction<
+          void Function(CFReadStreamRef, CFRunLoopRef, CFRunLoopMode)>();
+
+  void CFWriteStreamScheduleWithRunLoop(
+    CFWriteStreamRef stream,
+    CFRunLoopRef runLoop,
+    CFRunLoopMode runLoopMode,
+  ) {
+    return _CFWriteStreamScheduleWithRunLoop(
+      stream,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFWriteStreamScheduleWithRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFWriteStreamRef, CFRunLoopRef,
+              CFRunLoopMode)>>('CFWriteStreamScheduleWithRunLoop');
+  late final _CFWriteStreamScheduleWithRunLoop =
+      _CFWriteStreamScheduleWithRunLoopPtr.asFunction<
+          void Function(CFWriteStreamRef, CFRunLoopRef, CFRunLoopMode)>();
+
+  void CFReadStreamUnscheduleFromRunLoop(
+    CFReadStreamRef stream,
+    CFRunLoopRef runLoop,
+    CFRunLoopMode runLoopMode,
+  ) {
+    return _CFReadStreamUnscheduleFromRunLoop(
+      stream,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFReadStreamUnscheduleFromRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFReadStreamRef, CFRunLoopRef,
+              CFRunLoopMode)>>('CFReadStreamUnscheduleFromRunLoop');
+  late final _CFReadStreamUnscheduleFromRunLoop =
+      _CFReadStreamUnscheduleFromRunLoopPtr.asFunction<
+          void Function(CFReadStreamRef, CFRunLoopRef, CFRunLoopMode)>();
+
+  void CFWriteStreamUnscheduleFromRunLoop(
+    CFWriteStreamRef stream,
+    CFRunLoopRef runLoop,
+    CFRunLoopMode runLoopMode,
+  ) {
+    return _CFWriteStreamUnscheduleFromRunLoop(
+      stream,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFWriteStreamUnscheduleFromRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFWriteStreamRef, CFRunLoopRef,
+              CFRunLoopMode)>>('CFWriteStreamUnscheduleFromRunLoop');
+  late final _CFWriteStreamUnscheduleFromRunLoop =
+      _CFWriteStreamUnscheduleFromRunLoopPtr.asFunction<
+          void Function(CFWriteStreamRef, CFRunLoopRef, CFRunLoopMode)>();
+
+  void CFReadStreamSetDispatchQueue(
+    CFReadStreamRef stream,
+    dispatch_queue_t q,
+  ) {
+    return _CFReadStreamSetDispatchQueue(
+      stream,
+      q,
+    );
+  }
+
+  late final _CFReadStreamSetDispatchQueuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFReadStreamRef,
+              dispatch_queue_t)>>('CFReadStreamSetDispatchQueue');
+  late final _CFReadStreamSetDispatchQueue = _CFReadStreamSetDispatchQueuePtr
+      .asFunction<void Function(CFReadStreamRef, dispatch_queue_t)>();
+
+  void CFWriteStreamSetDispatchQueue(
+    CFWriteStreamRef stream,
+    dispatch_queue_t q,
+  ) {
+    return _CFWriteStreamSetDispatchQueue(
+      stream,
+      q,
+    );
+  }
+
+  late final _CFWriteStreamSetDispatchQueuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFWriteStreamRef,
+              dispatch_queue_t)>>('CFWriteStreamSetDispatchQueue');
+  late final _CFWriteStreamSetDispatchQueue = _CFWriteStreamSetDispatchQueuePtr
+      .asFunction<void Function(CFWriteStreamRef, dispatch_queue_t)>();
+
+  dispatch_queue_t CFReadStreamCopyDispatchQueue(
+    CFReadStreamRef stream,
+  ) {
+    return _CFReadStreamCopyDispatchQueue(
+      stream,
+    );
+  }
+
+  late final _CFReadStreamCopyDispatchQueuePtr =
+      _lookup<ffi.NativeFunction<dispatch_queue_t Function(CFReadStreamRef)>>(
+          'CFReadStreamCopyDispatchQueue');
+  late final _CFReadStreamCopyDispatchQueue = _CFReadStreamCopyDispatchQueuePtr
+      .asFunction<dispatch_queue_t Function(CFReadStreamRef)>();
+
+  dispatch_queue_t CFWriteStreamCopyDispatchQueue(
+    CFWriteStreamRef stream,
+  ) {
+    return _CFWriteStreamCopyDispatchQueue(
+      stream,
+    );
+  }
+
+  late final _CFWriteStreamCopyDispatchQueuePtr =
+      _lookup<ffi.NativeFunction<dispatch_queue_t Function(CFWriteStreamRef)>>(
+          'CFWriteStreamCopyDispatchQueue');
+  late final _CFWriteStreamCopyDispatchQueue =
+      _CFWriteStreamCopyDispatchQueuePtr.asFunction<
+          dispatch_queue_t Function(CFWriteStreamRef)>();
+
+  CFStreamError CFReadStreamGetError(
+    CFReadStreamRef stream,
+  ) {
+    return _CFReadStreamGetError(
+      stream,
+    );
+  }
+
+  late final _CFReadStreamGetErrorPtr =
+      _lookup<ffi.NativeFunction<CFStreamError Function(CFReadStreamRef)>>(
+          'CFReadStreamGetError');
+  late final _CFReadStreamGetError = _CFReadStreamGetErrorPtr.asFunction<
+      CFStreamError Function(CFReadStreamRef)>();
+
+  CFStreamError CFWriteStreamGetError(
+    CFWriteStreamRef stream,
+  ) {
+    return _CFWriteStreamGetError(
+      stream,
+    );
+  }
+
+  late final _CFWriteStreamGetErrorPtr =
+      _lookup<ffi.NativeFunction<CFStreamError Function(CFWriteStreamRef)>>(
+          'CFWriteStreamGetError');
+  late final _CFWriteStreamGetError = _CFWriteStreamGetErrorPtr.asFunction<
+      CFStreamError Function(CFWriteStreamRef)>();
+
+  CFPropertyListRef CFPropertyListCreateFromXMLData(
+    CFAllocatorRef allocator,
+    CFDataRef xmlData,
+    int mutabilityOption,
+    ffi.Pointer<CFStringRef> errorString,
+  ) {
+    return _CFPropertyListCreateFromXMLData(
+      allocator,
+      xmlData,
+      mutabilityOption,
+      errorString,
+    );
+  }
+
+  late final _CFPropertyListCreateFromXMLDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFPropertyListRef Function(CFAllocatorRef, CFDataRef, CFOptionFlags,
+              ffi.Pointer<CFStringRef>)>>('CFPropertyListCreateFromXMLData');
+  late final _CFPropertyListCreateFromXMLData =
+      _CFPropertyListCreateFromXMLDataPtr.asFunction<
+          CFPropertyListRef Function(
+              CFAllocatorRef, CFDataRef, int, ffi.Pointer<CFStringRef>)>();
+
+  CFDataRef CFPropertyListCreateXMLData(
+    CFAllocatorRef allocator,
+    CFPropertyListRef propertyList,
+  ) {
+    return _CFPropertyListCreateXMLData(
+      allocator,
+      propertyList,
+    );
+  }
+
+  late final _CFPropertyListCreateXMLDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(CFAllocatorRef,
+              CFPropertyListRef)>>('CFPropertyListCreateXMLData');
+  late final _CFPropertyListCreateXMLData = _CFPropertyListCreateXMLDataPtr
+      .asFunction<CFDataRef Function(CFAllocatorRef, CFPropertyListRef)>();
+
+  CFPropertyListRef CFPropertyListCreateDeepCopy(
+    CFAllocatorRef allocator,
+    CFPropertyListRef propertyList,
+    int mutabilityOption,
+  ) {
+    return _CFPropertyListCreateDeepCopy(
+      allocator,
+      propertyList,
+      mutabilityOption,
+    );
+  }
+
+  late final _CFPropertyListCreateDeepCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFPropertyListRef Function(CFAllocatorRef, CFPropertyListRef,
+              CFOptionFlags)>>('CFPropertyListCreateDeepCopy');
+  late final _CFPropertyListCreateDeepCopy =
+      _CFPropertyListCreateDeepCopyPtr.asFunction<
+          CFPropertyListRef Function(CFAllocatorRef, CFPropertyListRef, int)>();
+
+  int CFPropertyListIsValid(
+    CFPropertyListRef plist,
+    int format,
+  ) {
+    return _CFPropertyListIsValid(
+      plist,
+      format,
+    );
+  }
+
+  late final _CFPropertyListIsValidPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFPropertyListRef, ffi.Int32)>>(
+      'CFPropertyListIsValid');
+  late final _CFPropertyListIsValid = _CFPropertyListIsValidPtr.asFunction<
+      int Function(CFPropertyListRef, int)>();
+
+  int CFPropertyListWriteToStream(
+    CFPropertyListRef propertyList,
+    CFWriteStreamRef stream,
+    int format,
+    ffi.Pointer<CFStringRef> errorString,
+  ) {
+    return _CFPropertyListWriteToStream(
+      propertyList,
+      stream,
+      format,
+      errorString,
+    );
+  }
+
+  late final _CFPropertyListWriteToStreamPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFPropertyListRef, CFWriteStreamRef, ffi.Int32,
+              ffi.Pointer<CFStringRef>)>>('CFPropertyListWriteToStream');
+  late final _CFPropertyListWriteToStream =
+      _CFPropertyListWriteToStreamPtr.asFunction<
+          int Function(CFPropertyListRef, CFWriteStreamRef, int,
+              ffi.Pointer<CFStringRef>)>();
+
+  CFPropertyListRef CFPropertyListCreateFromStream(
+    CFAllocatorRef allocator,
+    CFReadStreamRef stream,
+    int streamLength,
+    int mutabilityOption,
+    ffi.Pointer<ffi.Int32> format,
+    ffi.Pointer<CFStringRef> errorString,
+  ) {
+    return _CFPropertyListCreateFromStream(
+      allocator,
+      stream,
+      streamLength,
+      mutabilityOption,
+      format,
+      errorString,
+    );
+  }
+
+  late final _CFPropertyListCreateFromStreamPtr = _lookup<
+      ffi.NativeFunction<
+          CFPropertyListRef Function(
+              CFAllocatorRef,
+              CFReadStreamRef,
+              CFIndex,
+              CFOptionFlags,
+              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<CFStringRef>)>>('CFPropertyListCreateFromStream');
+  late final _CFPropertyListCreateFromStream =
+      _CFPropertyListCreateFromStreamPtr.asFunction<
+          CFPropertyListRef Function(CFAllocatorRef, CFReadStreamRef, int, int,
+              ffi.Pointer<ffi.Int32>, ffi.Pointer<CFStringRef>)>();
+
+  CFPropertyListRef CFPropertyListCreateWithData(
+    CFAllocatorRef allocator,
+    CFDataRef data,
+    int options,
+    ffi.Pointer<ffi.Int32> format,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFPropertyListCreateWithData(
+      allocator,
+      data,
+      options,
+      format,
+      error,
+    );
+  }
+
+  late final _CFPropertyListCreateWithDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFPropertyListRef Function(
+              CFAllocatorRef,
+              CFDataRef,
+              CFOptionFlags,
+              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<CFErrorRef>)>>('CFPropertyListCreateWithData');
+  late final _CFPropertyListCreateWithData =
+      _CFPropertyListCreateWithDataPtr.asFunction<
+          CFPropertyListRef Function(CFAllocatorRef, CFDataRef, int,
+              ffi.Pointer<ffi.Int32>, ffi.Pointer<CFErrorRef>)>();
+
+  CFPropertyListRef CFPropertyListCreateWithStream(
+    CFAllocatorRef allocator,
+    CFReadStreamRef stream,
+    int streamLength,
+    int options,
+    ffi.Pointer<ffi.Int32> format,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFPropertyListCreateWithStream(
+      allocator,
+      stream,
+      streamLength,
+      options,
+      format,
+      error,
+    );
+  }
+
+  late final _CFPropertyListCreateWithStreamPtr = _lookup<
+      ffi.NativeFunction<
+          CFPropertyListRef Function(
+              CFAllocatorRef,
+              CFReadStreamRef,
+              CFIndex,
+              CFOptionFlags,
+              ffi.Pointer<ffi.Int32>,
+              ffi.Pointer<CFErrorRef>)>>('CFPropertyListCreateWithStream');
+  late final _CFPropertyListCreateWithStream =
+      _CFPropertyListCreateWithStreamPtr.asFunction<
+          CFPropertyListRef Function(CFAllocatorRef, CFReadStreamRef, int, int,
+              ffi.Pointer<ffi.Int32>, ffi.Pointer<CFErrorRef>)>();
+
+  int CFPropertyListWrite(
+    CFPropertyListRef propertyList,
+    CFWriteStreamRef stream,
+    int format,
+    int options,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFPropertyListWrite(
+      propertyList,
+      stream,
+      format,
+      options,
+      error,
+    );
+  }
+
+  late final _CFPropertyListWritePtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFPropertyListRef, CFWriteStreamRef, ffi.Int32,
+              CFOptionFlags, ffi.Pointer<CFErrorRef>)>>('CFPropertyListWrite');
+  late final _CFPropertyListWrite = _CFPropertyListWritePtr.asFunction<
+      int Function(CFPropertyListRef, CFWriteStreamRef, int, int,
+          ffi.Pointer<CFErrorRef>)>();
+
+  CFDataRef CFPropertyListCreateData(
+    CFAllocatorRef allocator,
+    CFPropertyListRef propertyList,
+    int format,
+    int options,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFPropertyListCreateData(
+      allocator,
+      propertyList,
+      format,
+      options,
+      error,
+    );
+  }
+
+  late final _CFPropertyListCreateDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(
+              CFAllocatorRef,
+              CFPropertyListRef,
+              ffi.Int32,
+              CFOptionFlags,
+              ffi.Pointer<CFErrorRef>)>>('CFPropertyListCreateData');
+  late final _CFPropertyListCreateData =
+      _CFPropertyListCreateDataPtr.asFunction<
+          CFDataRef Function(CFAllocatorRef, CFPropertyListRef, int, int,
+              ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @constant kCFTypeSetCallBacks
+  /// Predefined CFSetCallBacks structure containing a set of callbacks
+  /// appropriate for use when the values in a CFSet are all CFTypes.
+  late final ffi.Pointer<CFSetCallBacks> _kCFTypeSetCallBacks =
+      _lookup<CFSetCallBacks>('kCFTypeSetCallBacks');
+
+  CFSetCallBacks get kCFTypeSetCallBacks => _kCFTypeSetCallBacks.ref;
+
+  /// !
+  /// @constant kCFCopyStringSetCallBacks
+  /// Predefined CFSetCallBacks structure containing a set of callbacks
+  /// appropriate for use when the values in a CFSet should be copies
+  /// of a CFString.
+  late final ffi.Pointer<CFSetCallBacks> _kCFCopyStringSetCallBacks =
+      _lookup<CFSetCallBacks>('kCFCopyStringSetCallBacks');
+
+  CFSetCallBacks get kCFCopyStringSetCallBacks =>
+      _kCFCopyStringSetCallBacks.ref;
+
+  /// !
+  /// @function CFSetGetTypeID
+  /// Returns the type identifier of all CFSet instances.
+  int CFSetGetTypeID() {
+    return _CFSetGetTypeID();
+  }
+
+  late final _CFSetGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFSetGetTypeID');
+  late final _CFSetGetTypeID = _CFSetGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function CFSetCreate
+  /// Creates a new immutable set with the given values.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the set and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param values A C array of the pointer-sized values to be in the
+  /// set.  This C array is not changed or freed by this function.
+  /// If this parameter is not a valid pointer to a C array of at
+  /// least numValues pointers, the behavior is undefined.
+  /// @param numValues The number of values to copy from the values C
+  /// array into the CFSet. This number will be the count of the
+  /// set.  If this parameter is zero, negative, or greater than
+  /// the number of values actually in the values C array, the
+  /// behavior is undefined.
+  /// @param callBacks A C pointer to a CFSetCallBacks structure
+  /// initialized with the callbacks for the set to use on each
+  /// value in the set. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a
+  /// structure on the stack can be passed in, or can be reused
+  /// for multiple set creations. If the version field of this
+  /// callbacks structure is not one of the defined ones for
+  /// CFSet, the behavior is undefined. The retain field may be
+  /// NULL, in which case the CFSet will do nothing to add a
+  /// retain to the contained values for the set. The release
+  /// field may be NULL, in which case the CFSet will do nothing
+  /// to remove the set's retain (if any) on the values when the
+  /// set is destroyed. If the copyDescription field is NULL,
+  /// the set will create a simple description for the value. If
+  /// the equal field is NULL, the set will use pointer equality
+  /// to test for equality of values. The hash field may be NULL,
+  /// in which case the CFSet will determine uniqueness by pointer
+  /// equality. This callbacks parameter
+  /// itself may be NULL, which is treated as if a valid structure
+  /// of version 0 with all fields NULL had been passed in.
+  /// Otherwise, if any of the fields are not valid pointers to
+  /// functions of the correct type, or this parameter is not a
+  /// valid pointer to a  CFSetCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the values put into the
+  /// set is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is
+  /// undefined.
+  /// @result A reference to the new immutable CFSet.
+  CFSetRef CFSetCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+    int numValues,
+    ffi.Pointer<CFSetCallBacks> callBacks,
+  ) {
+    return _CFSetCreate(
+      allocator,
+      values,
+      numValues,
+      callBacks,
+    );
+  }
+
+  late final _CFSetCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFSetRef Function(CFAllocatorRef, ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              CFIndex, ffi.Pointer<CFSetCallBacks>)>>('CFSetCreate');
+  late final _CFSetCreate = _CFSetCreatePtr.asFunction<
+      CFSetRef Function(CFAllocatorRef, ffi.Pointer<ffi.Pointer<ffi.Void>>, int,
+          ffi.Pointer<CFSetCallBacks>)>();
+
+  /// !
+  /// @function CFSetCreateCopy
+  /// Creates a new immutable set with the values from the given set.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the set and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param theSet The set which is to be copied. The values from the
+  /// set are copied as pointers into the new set (that is,
+  /// the values themselves are copied, not that which the values
+  /// point to, if anything). However, the values are also
+  /// retained by the new set. The count of the new set will
+  /// be the same as the copied set. The new set uses the same
+  /// callbacks as the set to be copied. If this parameter is
+  /// not a valid CFSet, the behavior is undefined.
+  /// @result A reference to the new immutable CFSet.
+  CFSetRef CFSetCreateCopy(
+    CFAllocatorRef allocator,
+    CFSetRef theSet,
+  ) {
+    return _CFSetCreateCopy(
+      allocator,
+      theSet,
+    );
+  }
+
+  late final _CFSetCreateCopyPtr =
+      _lookup<ffi.NativeFunction<CFSetRef Function(CFAllocatorRef, CFSetRef)>>(
+          'CFSetCreateCopy');
+  late final _CFSetCreateCopy = _CFSetCreateCopyPtr.asFunction<
+      CFSetRef Function(CFAllocatorRef, CFSetRef)>();
+
+  /// !
+  /// @function CFSetCreateMutable
+  /// Creates a new empty mutable set.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the set and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFSet. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. A set's actual capacity is only limited by
+  /// address space and available memory constraints). If this
+  /// parameter is negative, the behavior is undefined.
+  /// @param callBacks A C pointer to a CFSetCallBacks structure
+  /// initialized with the callbacks for the set to use on each
+  /// value in the set. A copy of the contents of the
+  /// callbacks structure is made, so that a pointer to a
+  /// structure on the stack can be passed in, or can be reused
+  /// for multiple set creations. If the version field of this
+  /// callbacks structure is not one of the defined ones for
+  /// CFSet, the behavior is undefined. The retain field may be
+  /// NULL, in which case the CFSet will do nothing to add a
+  /// retain to the contained values for the set. The release
+  /// field may be NULL, in which case the CFSet will do nothing
+  /// to remove the set's retain (if any) on the values when the
+  /// set is destroyed. If the copyDescription field is NULL,
+  /// the set will create a simple description for the value. If
+  /// the equal field is NULL, the set will use pointer equality
+  /// to test for equality of values. The hash field may be NULL,
+  /// in which case the CFSet will determine uniqueness by pointer
+  /// equality. This callbacks parameter
+  /// itself may be NULL, which is treated as if a valid structure
+  /// of version 0 with all fields NULL had been passed in.
+  /// Otherwise, if any of the fields are not valid pointers to
+  /// functions of the correct type, or this parameter is not a
+  /// valid pointer to a  CFSetCallBacks callbacks structure,
+  /// the behavior is undefined. If any of the values put into the
+  /// set is not one understood by one of the callback functions
+  /// the behavior when that callback function is used is
+  /// undefined.
+  /// @result A reference to the new mutable CFSet.
+  CFMutableSetRef CFSetCreateMutable(
+    CFAllocatorRef allocator,
+    int capacity,
+    ffi.Pointer<CFSetCallBacks> callBacks,
+  ) {
+    return _CFSetCreateMutable(
+      allocator,
+      capacity,
+      callBacks,
+    );
+  }
+
+  late final _CFSetCreateMutablePtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableSetRef Function(CFAllocatorRef, CFIndex,
+              ffi.Pointer<CFSetCallBacks>)>>('CFSetCreateMutable');
+  late final _CFSetCreateMutable = _CFSetCreateMutablePtr.asFunction<
+      CFMutableSetRef Function(
+          CFAllocatorRef, int, ffi.Pointer<CFSetCallBacks>)>();
+
+  /// !
+  /// @function CFSetCreateMutableCopy
+  /// Creates a new immutable set with the values from the given set.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the set and its storage for values. This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used. If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param capacity A hint about the number of values that will be held
+  /// by the CFSet. Pass 0 for no hint. The implementation may
+  /// ignore this hint, or may use it to optimize various
+  /// operations. A set's actual capacity is only limited by
+  /// address space and available memory constraints).
+  /// This parameter must be greater than or equal
+  /// to the count of the set which is to be copied, or the
+  /// behavior is undefined. If this parameter is negative, the
+  /// behavior is undefined.
+  /// @param theSet The set which is to be copied. The values from the
+  /// set are copied as pointers into the new set (that is,
+  /// the values themselves are copied, not that which the values
+  /// point to, if anything). However, the values are also
+  /// retained by the new set. The count of the new set will
+  /// be the same as the copied set. The new set uses the same
+  /// callbacks as the set to be copied. If this parameter is
+  /// not a valid CFSet, the behavior is undefined.
+  /// @result A reference to the new mutable CFSet.
+  CFMutableSetRef CFSetCreateMutableCopy(
+    CFAllocatorRef allocator,
+    int capacity,
+    CFSetRef theSet,
+  ) {
+    return _CFSetCreateMutableCopy(
+      allocator,
+      capacity,
+      theSet,
+    );
+  }
+
+  late final _CFSetCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableSetRef Function(
+              CFAllocatorRef, CFIndex, CFSetRef)>>('CFSetCreateMutableCopy');
+  late final _CFSetCreateMutableCopy = _CFSetCreateMutableCopyPtr.asFunction<
+      CFMutableSetRef Function(CFAllocatorRef, int, CFSetRef)>();
+
+  /// !
+  /// @function CFSetGetCount
+  /// Returns the number of values currently in the set.
+  /// @param theSet The set to be queried. If this parameter is not a valid
+  /// CFSet, the behavior is undefined.
+  /// @result The number of values in the set.
+  int CFSetGetCount(
+    CFSetRef theSet,
+  ) {
+    return _CFSetGetCount(
+      theSet,
+    );
+  }
+
+  late final _CFSetGetCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFSetRef)>>('CFSetGetCount');
+  late final _CFSetGetCount =
+      _CFSetGetCountPtr.asFunction<int Function(CFSetRef)>();
+
+  /// !
+  /// @function CFSetGetCountOfValue
+  /// Counts the number of times the given value occurs in the set. Since
+  /// sets by definition contain only one instance of a value, this function
+  /// is synonymous to CFSetContainsValue.
+  /// @param theSet The set to be searched. If this parameter is not a
+  /// valid CFSet, the behavior is undefined.
+  /// @param value The value for which to find matches in the set. The
+  /// equal() callback provided when the set was created is
+  /// used to compare. If the equal() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the set, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result The number of times the given value occurs in the set.
+  int CFSetGetCountOfValue(
+    CFSetRef theSet,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFSetGetCountOfValue(
+      theSet,
+      value,
+    );
+  }
+
+  late final _CFSetGetCountOfValuePtr = _lookup<
+          ffi
+          .NativeFunction<CFIndex Function(CFSetRef, ffi.Pointer<ffi.Void>)>>(
+      'CFSetGetCountOfValue');
+  late final _CFSetGetCountOfValue = _CFSetGetCountOfValuePtr.asFunction<
+      int Function(CFSetRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetContainsValue
+  /// Reports whether or not the value is in the set.
+  /// @param theSet The set to be searched. If this parameter is not a
+  /// valid CFSet, the behavior is undefined.
+  /// @param value The value for which to find matches in the set. The
+  /// equal() callback provided when the set was created is
+  /// used to compare. If the equal() callback was NULL, pointer
+  /// equality (in C, ==) is used. If value, or any of the values
+  /// in the set, are not understood by the equal() callback,
+  /// the behavior is undefined.
+  /// @result true, if the value is in the set, otherwise false.
+  int CFSetContainsValue(
+    CFSetRef theSet,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFSetContainsValue(
+      theSet,
+      value,
+    );
+  }
+
+  late final _CFSetContainsValuePtr = _lookup<
+          ffi
+          .NativeFunction<Boolean Function(CFSetRef, ffi.Pointer<ffi.Void>)>>(
+      'CFSetContainsValue');
+  late final _CFSetContainsValue = _CFSetContainsValuePtr.asFunction<
+      int Function(CFSetRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetGetValue
+  /// Retrieves a value in the set which hashes the same as the specified value.
+  /// @param theSet The set to be queried. If this parameter is not a
+  /// valid CFSet, the behavior is undefined.
+  /// @param value The value to retrieve. The equal() callback provided when
+  /// the set was created is used to compare. If the equal() callback
+  /// was NULL, pointer equality (in C, ==) is used. If a value, or
+  /// any of the values in the set, are not understood by the equal()
+  /// callback, the behavior is undefined.
+  /// @result The value in the set with the given hash.
+  ffi.Pointer<ffi.Void> CFSetGetValue(
+    CFSetRef theSet,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFSetGetValue(
+      theSet,
+      value,
+    );
+  }
+
+  late final _CFSetGetValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFSetRef, ffi.Pointer<ffi.Void>)>>('CFSetGetValue');
+  late final _CFSetGetValue = _CFSetGetValuePtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(CFSetRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetGetValueIfPresent
+  /// Retrieves a value in the set which hashes the same as the specified value,
+  /// if present.
+  /// @param theSet The set to be queried. If this parameter is not a
+  /// valid CFSet, the behavior is undefined.
+  /// @param candidate This value is hashed and compared with values in the
+  /// set to determine which value to retrieve. The equal() callback provided when
+  /// the set was created is used to compare. If the equal() callback
+  /// was NULL, pointer equality (in C, ==) is used. If a value, or
+  /// any of the values in the set, are not understood by the equal()
+  /// callback, the behavior is undefined.
+  /// @param value A pointer to memory which should be filled with the
+  /// pointer-sized value if a matching value is found. If no
+  /// match is found, the contents of the storage pointed to by
+  /// this parameter are undefined. This parameter may be NULL,
+  /// in which case the value from the dictionary is not returned
+  /// (but the return value of this function still indicates
+  /// whether or not the value was present).
+  /// @result True if the value was present in the set, otherwise false.
+  int CFSetGetValueIfPresent(
+    CFSetRef theSet,
+    ffi.Pointer<ffi.Void> candidate,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> value,
+  ) {
+    return _CFSetGetValueIfPresent(
+      theSet,
+      candidate,
+      value,
+    );
+  }
+
+  late final _CFSetGetValueIfPresentPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFSetRef, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('CFSetGetValueIfPresent');
+  late final _CFSetGetValueIfPresent = _CFSetGetValueIfPresentPtr.asFunction<
+      int Function(CFSetRef, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function CFSetGetValues
+  /// Fills the buffer with values from the set.
+  /// @param theSet The set to be queried. If this parameter is not a
+  /// valid CFSet, the behavior is undefined.
+  /// @param values A C array of pointer-sized values to be filled with
+  /// values from the set. The values in the C array are ordered
+  /// in the same order in which they appear in the set. If this
+  /// parameter is not a valid pointer to a C array of at least
+  /// CFSetGetCount() pointers, the behavior is undefined.
+  void CFSetGetValues(
+    CFSetRef theSet,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> values,
+  ) {
+    return _CFSetGetValues(
+      theSet,
+      values,
+    );
+  }
+
+  late final _CFSetGetValuesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFSetRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('CFSetGetValues');
+  late final _CFSetGetValues = _CFSetGetValuesPtr.asFunction<
+      void Function(CFSetRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function CFSetApplyFunction
+  /// Calls a function once for each value in the set.
+  /// @param theSet The set to be operated upon. If this parameter is not
+  /// a valid CFSet, the behavior is undefined.
+  /// @param applier The callback function to call once for each value in
+  /// the given set. If this parameter is not a
+  /// pointer to a function of the correct prototype, the behavior
+  /// is undefined. If there are values in the set which the
+  /// applier function does not expect or cannot properly apply
+  /// to, the behavior is undefined.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the second parameter to the applier function, but is
+  /// otherwise unused by this function. If the context is not
+  /// what is expected by the applier function, the behavior is
+  /// undefined.
+  void CFSetApplyFunction(
+    CFSetRef theSet,
+    CFSetApplierFunction applier,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFSetApplyFunction(
+      theSet,
+      applier,
+      context,
+    );
+  }
+
+  late final _CFSetApplyFunctionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFSetRef, CFSetApplierFunction,
+              ffi.Pointer<ffi.Void>)>>('CFSetApplyFunction');
+  late final _CFSetApplyFunction = _CFSetApplyFunctionPtr.asFunction<
+      void Function(CFSetRef, CFSetApplierFunction, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetAddValue
+  /// Adds the value to the set if it is not already present.
+  /// @param theSet The set to which the value is to be added. If this
+  /// parameter is not a valid mutable CFSet, the behavior is
+  /// undefined.
+  /// @param value The value to add to the set. The value is retained by
+  /// the set using the retain callback provided when the set
+  /// was created. If the value is not of the sort expected by the
+  /// retain callback, the behavior is undefined. The count of the
+  /// set is increased by one.
+  void CFSetAddValue(
+    CFMutableSetRef theSet,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFSetAddValue(
+      theSet,
+      value,
+    );
+  }
+
+  late final _CFSetAddValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableSetRef, ffi.Pointer<ffi.Void>)>>('CFSetAddValue');
+  late final _CFSetAddValue = _CFSetAddValuePtr.asFunction<
+      void Function(CFMutableSetRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetReplaceValue
+  /// Replaces the value in the set if it is present.
+  /// @param theSet The set to which the value is to be replaced. If this
+  /// parameter is not a valid mutable CFSet, the behavior is
+  /// undefined.
+  /// @param value The value to replace in the set. The equal() callback provided when
+  /// the set was created is used to compare. If the equal() callback
+  /// was NULL, pointer equality (in C, ==) is used. If a value, or
+  /// any of the values in the set, are not understood by the equal()
+  /// callback, the behavior is undefined. The value is retained by
+  /// the set using the retain callback provided when the set
+  /// was created. If the value is not of the sort expected by the
+  /// retain callback, the behavior is undefined. The count of the
+  /// set is increased by one.
+  void CFSetReplaceValue(
+    CFMutableSetRef theSet,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFSetReplaceValue(
+      theSet,
+      value,
+    );
+  }
+
+  late final _CFSetReplaceValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableSetRef, ffi.Pointer<ffi.Void>)>>('CFSetReplaceValue');
+  late final _CFSetReplaceValue = _CFSetReplaceValuePtr.asFunction<
+      void Function(CFMutableSetRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetSetValue
+  /// Replaces the value in the set if it is present, or adds the value to
+  /// the set if it is absent.
+  /// @param theSet The set to which the value is to be replaced. If this
+  /// parameter is not a valid mutable CFSet, the behavior is
+  /// undefined.
+  /// @param value The value to set in the CFSet. The equal() callback provided when
+  /// the set was created is used to compare. If the equal() callback
+  /// was NULL, pointer equality (in C, ==) is used. If a value, or
+  /// any of the values in the set, are not understood by the equal()
+  /// callback, the behavior is undefined. The value is retained by
+  /// the set using the retain callback provided when the set
+  /// was created. If the value is not of the sort expected by the
+  /// retain callback, the behavior is undefined. The count of the
+  /// set is increased by one.
+  void CFSetSetValue(
+    CFMutableSetRef theSet,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFSetSetValue(
+      theSet,
+      value,
+    );
+  }
+
+  late final _CFSetSetValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableSetRef, ffi.Pointer<ffi.Void>)>>('CFSetSetValue');
+  late final _CFSetSetValue = _CFSetSetValuePtr.asFunction<
+      void Function(CFMutableSetRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetRemoveValue
+  /// Removes the specified value from the set.
+  /// @param theSet The set from which the value is to be removed.
+  /// If this parameter is not a valid mutable CFSet,
+  /// the behavior is undefined.
+  /// @param value The value to remove. The equal() callback provided when
+  /// the set was created is used to compare. If the equal() callback
+  /// was NULL, pointer equality (in C, ==) is used. If a value, or
+  /// any of the values in the set, are not understood by the equal()
+  /// callback, the behavior is undefined.
+  void CFSetRemoveValue(
+    CFMutableSetRef theSet,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _CFSetRemoveValue(
+      theSet,
+      value,
+    );
+  }
+
+  late final _CFSetRemoveValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFMutableSetRef, ffi.Pointer<ffi.Void>)>>('CFSetRemoveValue');
+  late final _CFSetRemoveValue = _CFSetRemoveValuePtr.asFunction<
+      void Function(CFMutableSetRef, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFSetRemoveAllValues
+  /// Removes all the values from the set, making it empty.
+  /// @param theSet The set from which all of the values are to be
+  /// removed. If this parameter is not a valid mutable CFSet,
+  /// the behavior is undefined.
+  void CFSetRemoveAllValues(
+    CFMutableSetRef theSet,
+  ) {
+    return _CFSetRemoveAllValues(
+      theSet,
+    );
+  }
+
+  late final _CFSetRemoveAllValuesPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMutableSetRef)>>(
+          'CFSetRemoveAllValues');
+  late final _CFSetRemoveAllValues =
+      _CFSetRemoveAllValuesPtr.asFunction<void Function(CFMutableSetRef)>();
+
+  /// !
+  /// @function CFTreeGetTypeID
+  /// Returns the type identifier of all CFTree instances.
+  int CFTreeGetTypeID() {
+    return _CFTreeGetTypeID();
+  }
+
+  late final _CFTreeGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFTreeGetTypeID');
+  late final _CFTreeGetTypeID =
+      _CFTreeGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function CFTreeCreate
+  /// Creates a new mutable tree.
+  /// @param allocator The CFAllocator which should be used to allocate
+  /// memory for the tree and storage for its children.  This
+  /// parameter may be NULL in which case the current default
+  /// CFAllocator is used.  If this reference is not a valid
+  /// CFAllocator, the behavior is undefined.
+  /// @param context A C pointer to a CFTreeContext structure to be copied
+  /// and used as the context of the new tree.  The info parameter
+  /// will be retained by the tree if a retain function is provided.
+  /// If this value is not a valid C pointer to a CFTreeContext
+  /// structure-sized block of storage, the result is undefined.
+  /// If the version number of the storage is not a valid CFTreeContext
+  /// version number, the result is undefined.
+  /// @result A reference to the new CFTree.
+  CFTreeRef CFTreeCreate(
+    CFAllocatorRef allocator,
+    ffi.Pointer<CFTreeContext> context,
+  ) {
+    return _CFTreeCreate(
+      allocator,
+      context,
+    );
+  }
+
+  late final _CFTreeCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFTreeRef Function(
+              CFAllocatorRef, ffi.Pointer<CFTreeContext>)>>('CFTreeCreate');
+  late final _CFTreeCreate = _CFTreeCreatePtr.asFunction<
+      CFTreeRef Function(CFAllocatorRef, ffi.Pointer<CFTreeContext>)>();
+
+  /// !
+  /// @function CFTreeGetParent
+  /// Returns the parent of the specified tree.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @result The parent of the tree.
+  CFTreeRef CFTreeGetParent(
+    CFTreeRef tree,
+  ) {
+    return _CFTreeGetParent(
+      tree,
+    );
+  }
+
+  late final _CFTreeGetParentPtr =
+      _lookup<ffi.NativeFunction<CFTreeRef Function(CFTreeRef)>>(
+          'CFTreeGetParent');
+  late final _CFTreeGetParent =
+      _CFTreeGetParentPtr.asFunction<CFTreeRef Function(CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeGetNextSibling
+  /// Returns the sibling after the specified tree in the parent tree's list.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @result The next sibling of the tree.
+  CFTreeRef CFTreeGetNextSibling(
+    CFTreeRef tree,
+  ) {
+    return _CFTreeGetNextSibling(
+      tree,
+    );
+  }
+
+  late final _CFTreeGetNextSiblingPtr =
+      _lookup<ffi.NativeFunction<CFTreeRef Function(CFTreeRef)>>(
+          'CFTreeGetNextSibling');
+  late final _CFTreeGetNextSibling =
+      _CFTreeGetNextSiblingPtr.asFunction<CFTreeRef Function(CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeGetFirstChild
+  /// Returns the first child of the tree.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @result The first child of the tree.
+  CFTreeRef CFTreeGetFirstChild(
+    CFTreeRef tree,
+  ) {
+    return _CFTreeGetFirstChild(
+      tree,
+    );
+  }
+
+  late final _CFTreeGetFirstChildPtr =
+      _lookup<ffi.NativeFunction<CFTreeRef Function(CFTreeRef)>>(
+          'CFTreeGetFirstChild');
+  late final _CFTreeGetFirstChild =
+      _CFTreeGetFirstChildPtr.asFunction<CFTreeRef Function(CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeGetContext
+  /// Returns the context of the specified tree.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @param context A C pointer to a CFTreeContext structure to be filled in with
+  /// the context of the specified tree.  If this value is not a valid C
+  /// pointer to a CFTreeContext structure-sized block of storage, the
+  /// result is undefined.  If the version number of the storage is not
+  /// a valid CFTreeContext version number, the result is undefined.
+  void CFTreeGetContext(
+    CFTreeRef tree,
+    ffi.Pointer<CFTreeContext> context,
+  ) {
+    return _CFTreeGetContext(
+      tree,
+      context,
+    );
+  }
+
+  late final _CFTreeGetContextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFTreeRef, ffi.Pointer<CFTreeContext>)>>('CFTreeGetContext');
+  late final _CFTreeGetContext = _CFTreeGetContextPtr.asFunction<
+      void Function(CFTreeRef, ffi.Pointer<CFTreeContext>)>();
+
+  /// !
+  /// @function CFTreeGetChildCount
+  /// Returns the number of children of the specified tree.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @result The number of children.
+  int CFTreeGetChildCount(
+    CFTreeRef tree,
+  ) {
+    return _CFTreeGetChildCount(
+      tree,
+    );
+  }
+
+  late final _CFTreeGetChildCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFTreeRef)>>(
+          'CFTreeGetChildCount');
+  late final _CFTreeGetChildCount =
+      _CFTreeGetChildCountPtr.asFunction<int Function(CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeGetChildAtIndex
+  /// Returns the nth child of the specified tree.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @param idx The index of the child tree to be returned.  If this parameter
+  /// is less than zero or greater than the number of children of the
+  /// tree, the result is undefined.
+  /// @result A reference to the specified child tree.
+  CFTreeRef CFTreeGetChildAtIndex(
+    CFTreeRef tree,
+    int idx,
+  ) {
+    return _CFTreeGetChildAtIndex(
+      tree,
+      idx,
+    );
+  }
+
+  late final _CFTreeGetChildAtIndexPtr =
+      _lookup<ffi.NativeFunction<CFTreeRef Function(CFTreeRef, CFIndex)>>(
+          'CFTreeGetChildAtIndex');
+  late final _CFTreeGetChildAtIndex = _CFTreeGetChildAtIndexPtr.asFunction<
+      CFTreeRef Function(CFTreeRef, int)>();
+
+  /// !
+  /// @function CFTreeGetChildren
+  /// Fills the buffer with children from the tree.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @param children A C array of pointer-sized values to be filled with
+  /// children from the tree.  If this parameter is not a valid pointer to a
+  /// C array of at least CFTreeGetChildCount() pointers, the behavior is undefined.
+  void CFTreeGetChildren(
+    CFTreeRef tree,
+    ffi.Pointer<CFTreeRef> children,
+  ) {
+    return _CFTreeGetChildren(
+      tree,
+      children,
+    );
+  }
+
+  late final _CFTreeGetChildrenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFTreeRef, ffi.Pointer<CFTreeRef>)>>('CFTreeGetChildren');
+  late final _CFTreeGetChildren = _CFTreeGetChildrenPtr.asFunction<
+      void Function(CFTreeRef, ffi.Pointer<CFTreeRef>)>();
+
+  /// !
+  /// @function CFTreeApplyFunctionToChildren
+  /// Calls a function once for each child of the tree.  Note that the applier
+  /// only operates one level deep, and does not operate on descendents further
+  /// removed than the immediate children of the tree.
+  /// @param tree The tree to be operated upon.  If this parameter is not a
+  /// valid CFTree, the behavior is undefined.
+  /// @param applier The callback function to call once for each child of
+  /// the given tree.  If this parameter is not a pointer to a
+  /// function of the correct prototype, the behavior is undefined.
+  /// If there are values in the tree which the applier function does
+  /// not expect or cannot properly apply to, the behavior is undefined.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the second parameter to the applier function, but is
+  /// otherwise unused by this function.  If the context is not
+  /// what is expected by the applier function, the behavior is
+  /// undefined.
+  void CFTreeApplyFunctionToChildren(
+    CFTreeRef tree,
+    CFTreeApplierFunction applier,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFTreeApplyFunctionToChildren(
+      tree,
+      applier,
+      context,
+    );
+  }
+
+  late final _CFTreeApplyFunctionToChildrenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFTreeRef, CFTreeApplierFunction,
+              ffi.Pointer<ffi.Void>)>>('CFTreeApplyFunctionToChildren');
+  late final _CFTreeApplyFunctionToChildren =
+      _CFTreeApplyFunctionToChildrenPtr.asFunction<
+          void Function(
+              CFTreeRef, CFTreeApplierFunction, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function CFTreeFindRoot
+  /// Returns the root tree of which the specified tree is a descendent.
+  /// @param tree The tree to be queried.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @result A reference to the root of the tree.
+  CFTreeRef CFTreeFindRoot(
+    CFTreeRef tree,
+  ) {
+    return _CFTreeFindRoot(
+      tree,
+    );
+  }
+
+  late final _CFTreeFindRootPtr =
+      _lookup<ffi.NativeFunction<CFTreeRef Function(CFTreeRef)>>(
+          'CFTreeFindRoot');
+  late final _CFTreeFindRoot =
+      _CFTreeFindRootPtr.asFunction<CFTreeRef Function(CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeSetContext
+  /// Replaces the context of a tree.  The tree releases its retain on the
+  /// info of the previous context, and retains the info of the new context.
+  /// @param tree The tree to be operated on.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @param context A C pointer to a CFTreeContext structure to be copied
+  /// and used as the context of the new tree.  The info parameter
+  /// will be retained by the tree if a retain function is provided.
+  /// If this value is not a valid C pointer to a CFTreeContext
+  /// structure-sized block of storage, the result is undefined.
+  /// If the version number of the storage is not a valid CFTreeContext
+  /// version number, the result is undefined.
+  void CFTreeSetContext(
+    CFTreeRef tree,
+    ffi.Pointer<CFTreeContext> context,
+  ) {
+    return _CFTreeSetContext(
+      tree,
+      context,
+    );
+  }
+
+  late final _CFTreeSetContextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFTreeRef, ffi.Pointer<CFTreeContext>)>>('CFTreeSetContext');
+  late final _CFTreeSetContext = _CFTreeSetContextPtr.asFunction<
+      void Function(CFTreeRef, ffi.Pointer<CFTreeContext>)>();
+
+  /// !
+  /// @function CFTreePrependChild
+  /// Adds the newChild to the specified tree as the first in its list of children.
+  /// @param tree The tree to be operated on.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @param newChild The child to be added.
+  /// If this parameter is not a valid CFTree, the behavior is undefined.
+  /// If this parameter is a tree which is already a child of any tree,
+  /// the behavior is undefined.
+  void CFTreePrependChild(
+    CFTreeRef tree,
+    CFTreeRef newChild,
+  ) {
+    return _CFTreePrependChild(
+      tree,
+      newChild,
+    );
+  }
+
+  late final _CFTreePrependChildPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTreeRef, CFTreeRef)>>(
+          'CFTreePrependChild');
+  late final _CFTreePrependChild =
+      _CFTreePrependChildPtr.asFunction<void Function(CFTreeRef, CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeAppendChild
+  /// Adds the newChild to the specified tree as the last in its list of children.
+  /// @param tree The tree to be operated on.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @param newChild The child to be added.
+  /// If this parameter is not a valid CFTree, the behavior is undefined.
+  /// If this parameter is a tree which is already a child of any tree,
+  /// the behavior is undefined.
+  void CFTreeAppendChild(
+    CFTreeRef tree,
+    CFTreeRef newChild,
+  ) {
+    return _CFTreeAppendChild(
+      tree,
+      newChild,
+    );
+  }
+
+  late final _CFTreeAppendChildPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTreeRef, CFTreeRef)>>(
+          'CFTreeAppendChild');
+  late final _CFTreeAppendChild =
+      _CFTreeAppendChildPtr.asFunction<void Function(CFTreeRef, CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeInsertSibling
+  /// Inserts newSibling into the the parent tree's linked list of children after
+  /// tree.  The newSibling will have the same parent as tree.
+  /// @param tree The tree to insert newSibling after.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.  If the tree does not have a
+  /// parent, the behavior is undefined.
+  /// @param newSibling The sibling to be added.
+  /// If this parameter is not a valid CFTree, the behavior is undefined.
+  /// If this parameter is a tree which is already a child of any tree,
+  /// the behavior is undefined.
+  void CFTreeInsertSibling(
+    CFTreeRef tree,
+    CFTreeRef newSibling,
+  ) {
+    return _CFTreeInsertSibling(
+      tree,
+      newSibling,
+    );
+  }
+
+  late final _CFTreeInsertSiblingPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTreeRef, CFTreeRef)>>(
+          'CFTreeInsertSibling');
+  late final _CFTreeInsertSibling =
+      _CFTreeInsertSiblingPtr.asFunction<void Function(CFTreeRef, CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeRemove
+  /// Removes the tree from its parent.
+  /// @param tree The tree to be removed.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  void CFTreeRemove(
+    CFTreeRef tree,
+  ) {
+    return _CFTreeRemove(
+      tree,
+    );
+  }
+
+  late final _CFTreeRemovePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTreeRef)>>('CFTreeRemove');
+  late final _CFTreeRemove =
+      _CFTreeRemovePtr.asFunction<void Function(CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeRemoveAllChildren
+  /// Removes all the children of the tree.
+  /// @param tree The tree to remove all children from.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  void CFTreeRemoveAllChildren(
+    CFTreeRef tree,
+  ) {
+    return _CFTreeRemoveAllChildren(
+      tree,
+    );
+  }
+
+  late final _CFTreeRemoveAllChildrenPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFTreeRef)>>(
+          'CFTreeRemoveAllChildren');
+  late final _CFTreeRemoveAllChildren =
+      _CFTreeRemoveAllChildrenPtr.asFunction<void Function(CFTreeRef)>();
+
+  /// !
+  /// @function CFTreeSortChildren
+  /// Sorts the children of the specified tree using the specified comparator function.
+  /// @param tree The tree to be operated on.  If this parameter is not a valid
+  /// CFTree, the behavior is undefined.
+  /// @param comparator The function with the comparator function type
+  /// signature which is used in the sort operation to compare
+  /// children of the tree with the given value. If this parameter
+  /// is not a pointer to a function of the correct prototype, the
+  /// the behavior is undefined. The children of the tree are sorted
+  /// from least to greatest according to this function.
+  /// @param context A pointer-sized user-defined value, which is passed
+  /// as the third parameter to the comparator function, but is
+  /// otherwise unused by this function. If the context is not
+  /// what is expected by the comparator function, the behavior is
+  /// undefined.
+  void CFTreeSortChildren(
+    CFTreeRef tree,
+    CFComparatorFunction comparator,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _CFTreeSortChildren(
+      tree,
+      comparator,
+      context,
+    );
+  }
+
+  late final _CFTreeSortChildrenPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFTreeRef, CFComparatorFunction,
+              ffi.Pointer<ffi.Void>)>>('CFTreeSortChildren');
+  late final _CFTreeSortChildren = _CFTreeSortChildrenPtr.asFunction<
+      void Function(CFTreeRef, CFComparatorFunction, ffi.Pointer<ffi.Void>)>();
+
+  int CFURLCreateDataAndPropertiesFromResource(
+    CFAllocatorRef alloc,
+    CFURLRef url,
+    ffi.Pointer<CFDataRef> resourceData,
+    ffi.Pointer<CFDictionaryRef> properties,
+    CFArrayRef desiredProperties,
+    ffi.Pointer<SInt32> errorCode,
+  ) {
+    return _CFURLCreateDataAndPropertiesFromResource(
+      alloc,
+      url,
+      resourceData,
+      properties,
+      desiredProperties,
+      errorCode,
+    );
+  }
+
+  late final _CFURLCreateDataAndPropertiesFromResourcePtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(
+                  CFAllocatorRef,
+                  CFURLRef,
+                  ffi.Pointer<CFDataRef>,
+                  ffi.Pointer<CFDictionaryRef>,
+                  CFArrayRef,
+                  ffi.Pointer<SInt32>)>>(
+      'CFURLCreateDataAndPropertiesFromResource');
+  late final _CFURLCreateDataAndPropertiesFromResource =
+      _CFURLCreateDataAndPropertiesFromResourcePtr.asFunction<
+          int Function(CFAllocatorRef, CFURLRef, ffi.Pointer<CFDataRef>,
+              ffi.Pointer<CFDictionaryRef>, CFArrayRef, ffi.Pointer<SInt32>)>();
+
+  int CFURLWriteDataAndPropertiesToResource(
+    CFURLRef url,
+    CFDataRef dataToWrite,
+    CFDictionaryRef propertiesToWrite,
+    ffi.Pointer<SInt32> errorCode,
+  ) {
+    return _CFURLWriteDataAndPropertiesToResource(
+      url,
+      dataToWrite,
+      propertiesToWrite,
+      errorCode,
+    );
+  }
+
+  late final _CFURLWriteDataAndPropertiesToResourcePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFURLRef, CFDataRef, CFDictionaryRef,
+              ffi.Pointer<SInt32>)>>('CFURLWriteDataAndPropertiesToResource');
+  late final _CFURLWriteDataAndPropertiesToResource =
+      _CFURLWriteDataAndPropertiesToResourcePtr.asFunction<
+          int Function(
+              CFURLRef, CFDataRef, CFDictionaryRef, ffi.Pointer<SInt32>)>();
+
+  int CFURLDestroyResource(
+    CFURLRef url,
+    ffi.Pointer<SInt32> errorCode,
+  ) {
+    return _CFURLDestroyResource(
+      url,
+      errorCode,
+    );
+  }
+
+  late final _CFURLDestroyResourcePtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFURLRef, ffi.Pointer<SInt32>)>>(
+      'CFURLDestroyResource');
+  late final _CFURLDestroyResource = _CFURLDestroyResourcePtr.asFunction<
+      int Function(CFURLRef, ffi.Pointer<SInt32>)>();
+
+  CFTypeRef CFURLCreatePropertyFromResource(
+    CFAllocatorRef alloc,
+    CFURLRef url,
+    CFStringRef property,
+    ffi.Pointer<SInt32> errorCode,
+  ) {
+    return _CFURLCreatePropertyFromResource(
+      alloc,
+      url,
+      property,
+      errorCode,
+    );
+  }
+
+  late final _CFURLCreatePropertyFromResourcePtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFAllocatorRef, CFURLRef, CFStringRef,
+              ffi.Pointer<SInt32>)>>('CFURLCreatePropertyFromResource');
+  late final _CFURLCreatePropertyFromResource =
+      _CFURLCreatePropertyFromResourcePtr.asFunction<
+          CFTypeRef Function(
+              CFAllocatorRef, CFURLRef, CFStringRef, ffi.Pointer<SInt32>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileExists =
+      _lookup<CFStringRef>('kCFURLFileExists');
+
+  CFStringRef get kCFURLFileExists => _kCFURLFileExists.value;
+
+  set kCFURLFileExists(CFStringRef value) => _kCFURLFileExists.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileDirectoryContents =
+      _lookup<CFStringRef>('kCFURLFileDirectoryContents');
+
+  CFStringRef get kCFURLFileDirectoryContents =>
+      _kCFURLFileDirectoryContents.value;
+
+  set kCFURLFileDirectoryContents(CFStringRef value) =>
+      _kCFURLFileDirectoryContents.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileLength =
+      _lookup<CFStringRef>('kCFURLFileLength');
+
+  CFStringRef get kCFURLFileLength => _kCFURLFileLength.value;
+
+  set kCFURLFileLength(CFStringRef value) => _kCFURLFileLength.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileLastModificationTime =
+      _lookup<CFStringRef>('kCFURLFileLastModificationTime');
+
+  CFStringRef get kCFURLFileLastModificationTime =>
+      _kCFURLFileLastModificationTime.value;
+
+  set kCFURLFileLastModificationTime(CFStringRef value) =>
+      _kCFURLFileLastModificationTime.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFilePOSIXMode =
+      _lookup<CFStringRef>('kCFURLFilePOSIXMode');
+
+  CFStringRef get kCFURLFilePOSIXMode => _kCFURLFilePOSIXMode.value;
+
+  set kCFURLFilePOSIXMode(CFStringRef value) =>
+      _kCFURLFilePOSIXMode.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLFileOwnerID =
+      _lookup<CFStringRef>('kCFURLFileOwnerID');
+
+  CFStringRef get kCFURLFileOwnerID => _kCFURLFileOwnerID.value;
+
+  set kCFURLFileOwnerID(CFStringRef value) => _kCFURLFileOwnerID.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLHTTPStatusCode =
+      _lookup<CFStringRef>('kCFURLHTTPStatusCode');
+
+  CFStringRef get kCFURLHTTPStatusCode => _kCFURLHTTPStatusCode.value;
+
+  set kCFURLHTTPStatusCode(CFStringRef value) =>
+      _kCFURLHTTPStatusCode.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLHTTPStatusLine =
+      _lookup<CFStringRef>('kCFURLHTTPStatusLine');
+
+  CFStringRef get kCFURLHTTPStatusLine => _kCFURLHTTPStatusLine.value;
+
+  set kCFURLHTTPStatusLine(CFStringRef value) =>
+      _kCFURLHTTPStatusLine.value = value;
+
+  int CFUUIDGetTypeID() {
+    return _CFUUIDGetTypeID();
+  }
+
+  late final _CFUUIDGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFUUIDGetTypeID');
+  late final _CFUUIDGetTypeID =
+      _CFUUIDGetTypeIDPtr.asFunction<int Function()>();
+
+  CFUUIDRef CFUUIDCreate(
+    CFAllocatorRef alloc,
+  ) {
+    return _CFUUIDCreate(
+      alloc,
+    );
+  }
+
+  late final _CFUUIDCreatePtr =
+      _lookup<ffi.NativeFunction<CFUUIDRef Function(CFAllocatorRef)>>(
+          'CFUUIDCreate');
+  late final _CFUUIDCreate =
+      _CFUUIDCreatePtr.asFunction<CFUUIDRef Function(CFAllocatorRef)>();
+
+  CFUUIDRef CFUUIDCreateWithBytes(
+    CFAllocatorRef alloc,
+    int byte0,
+    int byte1,
+    int byte2,
+    int byte3,
+    int byte4,
+    int byte5,
+    int byte6,
+    int byte7,
+    int byte8,
+    int byte9,
+    int byte10,
+    int byte11,
+    int byte12,
+    int byte13,
+    int byte14,
+    int byte15,
+  ) {
+    return _CFUUIDCreateWithBytes(
+      alloc,
+      byte0,
+      byte1,
+      byte2,
+      byte3,
+      byte4,
+      byte5,
+      byte6,
+      byte7,
+      byte8,
+      byte9,
+      byte10,
+      byte11,
+      byte12,
+      byte13,
+      byte14,
+      byte15,
+    );
+  }
+
+  late final _CFUUIDCreateWithBytesPtr = _lookup<
+      ffi.NativeFunction<
+          CFUUIDRef Function(
+              CFAllocatorRef,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8)>>('CFUUIDCreateWithBytes');
+  late final _CFUUIDCreateWithBytes = _CFUUIDCreateWithBytesPtr.asFunction<
+      CFUUIDRef Function(CFAllocatorRef, int, int, int, int, int, int, int, int,
+          int, int, int, int, int, int, int, int)>();
+
+  CFUUIDRef CFUUIDCreateFromString(
+    CFAllocatorRef alloc,
+    CFStringRef uuidStr,
+  ) {
+    return _CFUUIDCreateFromString(
+      alloc,
+      uuidStr,
+    );
+  }
+
+  late final _CFUUIDCreateFromStringPtr = _lookup<
+          ffi.NativeFunction<CFUUIDRef Function(CFAllocatorRef, CFStringRef)>>(
+      'CFUUIDCreateFromString');
+  late final _CFUUIDCreateFromString = _CFUUIDCreateFromStringPtr.asFunction<
+      CFUUIDRef Function(CFAllocatorRef, CFStringRef)>();
+
+  CFStringRef CFUUIDCreateString(
+    CFAllocatorRef alloc,
+    CFUUIDRef uuid,
+  ) {
+    return _CFUUIDCreateString(
+      alloc,
+      uuid,
+    );
+  }
+
+  late final _CFUUIDCreateStringPtr = _lookup<
+          ffi.NativeFunction<CFStringRef Function(CFAllocatorRef, CFUUIDRef)>>(
+      'CFUUIDCreateString');
+  late final _CFUUIDCreateString = _CFUUIDCreateStringPtr.asFunction<
+      CFStringRef Function(CFAllocatorRef, CFUUIDRef)>();
+
+  CFUUIDRef CFUUIDGetConstantUUIDWithBytes(
+    CFAllocatorRef alloc,
+    int byte0,
+    int byte1,
+    int byte2,
+    int byte3,
+    int byte4,
+    int byte5,
+    int byte6,
+    int byte7,
+    int byte8,
+    int byte9,
+    int byte10,
+    int byte11,
+    int byte12,
+    int byte13,
+    int byte14,
+    int byte15,
+  ) {
+    return _CFUUIDGetConstantUUIDWithBytes(
+      alloc,
+      byte0,
+      byte1,
+      byte2,
+      byte3,
+      byte4,
+      byte5,
+      byte6,
+      byte7,
+      byte8,
+      byte9,
+      byte10,
+      byte11,
+      byte12,
+      byte13,
+      byte14,
+      byte15,
+    );
+  }
+
+  late final _CFUUIDGetConstantUUIDWithBytesPtr = _lookup<
+      ffi.NativeFunction<
+          CFUUIDRef Function(
+              CFAllocatorRef,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8,
+              UInt8)>>('CFUUIDGetConstantUUIDWithBytes');
+  late final _CFUUIDGetConstantUUIDWithBytes =
+      _CFUUIDGetConstantUUIDWithBytesPtr.asFunction<
+          CFUUIDRef Function(CFAllocatorRef, int, int, int, int, int, int, int,
+              int, int, int, int, int, int, int, int, int)>();
+
+  CFUUIDBytes CFUUIDGetUUIDBytes(
+    CFUUIDRef uuid,
+  ) {
+    return _CFUUIDGetUUIDBytes(
+      uuid,
+    );
+  }
+
+  late final _CFUUIDGetUUIDBytesPtr =
+      _lookup<ffi.NativeFunction<CFUUIDBytes Function(CFUUIDRef)>>(
+          'CFUUIDGetUUIDBytes');
+  late final _CFUUIDGetUUIDBytes =
+      _CFUUIDGetUUIDBytesPtr.asFunction<CFUUIDBytes Function(CFUUIDRef)>();
+
+  CFUUIDRef CFUUIDCreateFromUUIDBytes(
+    CFAllocatorRef alloc,
+    CFUUIDBytes bytes,
+  ) {
+    return _CFUUIDCreateFromUUIDBytes(
+      alloc,
+      bytes,
+    );
+  }
+
+  late final _CFUUIDCreateFromUUIDBytesPtr = _lookup<
+          ffi.NativeFunction<CFUUIDRef Function(CFAllocatorRef, CFUUIDBytes)>>(
+      'CFUUIDCreateFromUUIDBytes');
+  late final _CFUUIDCreateFromUUIDBytes = _CFUUIDCreateFromUUIDBytesPtr
+      .asFunction<CFUUIDRef Function(CFAllocatorRef, CFUUIDBytes)>();
+
+  CFURLRef CFCopyHomeDirectoryURL() {
+    return _CFCopyHomeDirectoryURL();
+  }
+
+  late final _CFCopyHomeDirectoryURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function()>>(
+          'CFCopyHomeDirectoryURL');
+  late final _CFCopyHomeDirectoryURL =
+      _CFCopyHomeDirectoryURLPtr.asFunction<CFURLRef Function()>();
+
+  late final ffi.Pointer<CFStringRef> _kCFBundleInfoDictionaryVersionKey =
+      _lookup<CFStringRef>('kCFBundleInfoDictionaryVersionKey');
+
+  CFStringRef get kCFBundleInfoDictionaryVersionKey =>
+      _kCFBundleInfoDictionaryVersionKey.value;
+
+  set kCFBundleInfoDictionaryVersionKey(CFStringRef value) =>
+      _kCFBundleInfoDictionaryVersionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFBundleExecutableKey =
+      _lookup<CFStringRef>('kCFBundleExecutableKey');
+
+  CFStringRef get kCFBundleExecutableKey => _kCFBundleExecutableKey.value;
+
+  set kCFBundleExecutableKey(CFStringRef value) =>
+      _kCFBundleExecutableKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFBundleIdentifierKey =
+      _lookup<CFStringRef>('kCFBundleIdentifierKey');
+
+  CFStringRef get kCFBundleIdentifierKey => _kCFBundleIdentifierKey.value;
+
+  set kCFBundleIdentifierKey(CFStringRef value) =>
+      _kCFBundleIdentifierKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFBundleVersionKey =
+      _lookup<CFStringRef>('kCFBundleVersionKey');
+
+  CFStringRef get kCFBundleVersionKey => _kCFBundleVersionKey.value;
+
+  set kCFBundleVersionKey(CFStringRef value) =>
+      _kCFBundleVersionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFBundleDevelopmentRegionKey =
+      _lookup<CFStringRef>('kCFBundleDevelopmentRegionKey');
+
+  CFStringRef get kCFBundleDevelopmentRegionKey =>
+      _kCFBundleDevelopmentRegionKey.value;
+
+  set kCFBundleDevelopmentRegionKey(CFStringRef value) =>
+      _kCFBundleDevelopmentRegionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFBundleNameKey =
+      _lookup<CFStringRef>('kCFBundleNameKey');
+
+  CFStringRef get kCFBundleNameKey => _kCFBundleNameKey.value;
+
+  set kCFBundleNameKey(CFStringRef value) => _kCFBundleNameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFBundleLocalizationsKey =
+      _lookup<CFStringRef>('kCFBundleLocalizationsKey');
+
+  CFStringRef get kCFBundleLocalizationsKey => _kCFBundleLocalizationsKey.value;
+
+  set kCFBundleLocalizationsKey(CFStringRef value) =>
+      _kCFBundleLocalizationsKey.value = value;
+
+  CFBundleRef CFBundleGetMainBundle() {
+    return _CFBundleGetMainBundle();
+  }
+
+  late final _CFBundleGetMainBundlePtr =
+      _lookup<ffi.NativeFunction<CFBundleRef Function()>>(
+          'CFBundleGetMainBundle');
+  late final _CFBundleGetMainBundle =
+      _CFBundleGetMainBundlePtr.asFunction<CFBundleRef Function()>();
+
+  CFBundleRef CFBundleGetBundleWithIdentifier(
+    CFStringRef bundleID,
+  ) {
+    return _CFBundleGetBundleWithIdentifier(
+      bundleID,
+    );
+  }
+
+  late final _CFBundleGetBundleWithIdentifierPtr =
+      _lookup<ffi.NativeFunction<CFBundleRef Function(CFStringRef)>>(
+          'CFBundleGetBundleWithIdentifier');
+  late final _CFBundleGetBundleWithIdentifier =
+      _CFBundleGetBundleWithIdentifierPtr.asFunction<
+          CFBundleRef Function(CFStringRef)>();
+
+  CFArrayRef CFBundleGetAllBundles() {
+    return _CFBundleGetAllBundles();
+  }
+
+  late final _CFBundleGetAllBundlesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function()>>(
+          'CFBundleGetAllBundles');
+  late final _CFBundleGetAllBundles =
+      _CFBundleGetAllBundlesPtr.asFunction<CFArrayRef Function()>();
+
+  int CFBundleGetTypeID() {
+    return _CFBundleGetTypeID();
+  }
+
+  late final _CFBundleGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFBundleGetTypeID');
+  late final _CFBundleGetTypeID =
+      _CFBundleGetTypeIDPtr.asFunction<int Function()>();
+
+  CFBundleRef CFBundleCreate(
+    CFAllocatorRef allocator,
+    CFURLRef bundleURL,
+  ) {
+    return _CFBundleCreate(
+      allocator,
+      bundleURL,
+    );
+  }
+
+  late final _CFBundleCreatePtr = _lookup<
+          ffi.NativeFunction<CFBundleRef Function(CFAllocatorRef, CFURLRef)>>(
+      'CFBundleCreate');
+  late final _CFBundleCreate = _CFBundleCreatePtr.asFunction<
+      CFBundleRef Function(CFAllocatorRef, CFURLRef)>();
+
+  CFArrayRef CFBundleCreateBundlesFromDirectory(
+    CFAllocatorRef allocator,
+    CFURLRef directoryURL,
+    CFStringRef bundleType,
+  ) {
+    return _CFBundleCreateBundlesFromDirectory(
+      allocator,
+      directoryURL,
+      bundleType,
+    );
+  }
+
+  late final _CFBundleCreateBundlesFromDirectoryPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(CFAllocatorRef, CFURLRef,
+              CFStringRef)>>('CFBundleCreateBundlesFromDirectory');
+  late final _CFBundleCreateBundlesFromDirectory =
+      _CFBundleCreateBundlesFromDirectoryPtr.asFunction<
+          CFArrayRef Function(CFAllocatorRef, CFURLRef, CFStringRef)>();
+
+  CFURLRef CFBundleCopyBundleURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopyBundleURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopyBundleURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopyBundleURL');
+  late final _CFBundleCopyBundleURL =
+      _CFBundleCopyBundleURLPtr.asFunction<CFURLRef Function(CFBundleRef)>();
+
+  CFTypeRef CFBundleGetValueForInfoDictionaryKey(
+    CFBundleRef bundle,
+    CFStringRef key,
+  ) {
+    return _CFBundleGetValueForInfoDictionaryKey(
+      bundle,
+      key,
+    );
+  }
+
+  late final _CFBundleGetValueForInfoDictionaryKeyPtr =
+      _lookup<ffi.NativeFunction<CFTypeRef Function(CFBundleRef, CFStringRef)>>(
+          'CFBundleGetValueForInfoDictionaryKey');
+  late final _CFBundleGetValueForInfoDictionaryKey =
+      _CFBundleGetValueForInfoDictionaryKeyPtr.asFunction<
+          CFTypeRef Function(CFBundleRef, CFStringRef)>();
+
+  CFDictionaryRef CFBundleGetInfoDictionary(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleGetInfoDictionary(
+      bundle,
+    );
+  }
+
+  late final _CFBundleGetInfoDictionaryPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(CFBundleRef)>>(
+          'CFBundleGetInfoDictionary');
+  late final _CFBundleGetInfoDictionary = _CFBundleGetInfoDictionaryPtr
+      .asFunction<CFDictionaryRef Function(CFBundleRef)>();
+
+  CFDictionaryRef CFBundleGetLocalInfoDictionary(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleGetLocalInfoDictionary(
+      bundle,
+    );
+  }
+
+  late final _CFBundleGetLocalInfoDictionaryPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(CFBundleRef)>>(
+          'CFBundleGetLocalInfoDictionary');
+  late final _CFBundleGetLocalInfoDictionary =
+      _CFBundleGetLocalInfoDictionaryPtr.asFunction<
+          CFDictionaryRef Function(CFBundleRef)>();
+
+  void CFBundleGetPackageInfo(
+    CFBundleRef bundle,
+    ffi.Pointer<UInt32> packageType,
+    ffi.Pointer<UInt32> packageCreator,
+  ) {
+    return _CFBundleGetPackageInfo(
+      bundle,
+      packageType,
+      packageCreator,
+    );
+  }
+
+  late final _CFBundleGetPackageInfoPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFBundleRef, ffi.Pointer<UInt32>,
+              ffi.Pointer<UInt32>)>>('CFBundleGetPackageInfo');
+  late final _CFBundleGetPackageInfo = _CFBundleGetPackageInfoPtr.asFunction<
+      void Function(CFBundleRef, ffi.Pointer<UInt32>, ffi.Pointer<UInt32>)>();
+
+  CFStringRef CFBundleGetIdentifier(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleGetIdentifier(
+      bundle,
+    );
+  }
+
+  late final _CFBundleGetIdentifierPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFBundleRef)>>(
+          'CFBundleGetIdentifier');
+  late final _CFBundleGetIdentifier =
+      _CFBundleGetIdentifierPtr.asFunction<CFStringRef Function(CFBundleRef)>();
+
+  int CFBundleGetVersionNumber(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleGetVersionNumber(
+      bundle,
+    );
+  }
+
+  late final _CFBundleGetVersionNumberPtr =
+      _lookup<ffi.NativeFunction<UInt32 Function(CFBundleRef)>>(
+          'CFBundleGetVersionNumber');
+  late final _CFBundleGetVersionNumber =
+      _CFBundleGetVersionNumberPtr.asFunction<int Function(CFBundleRef)>();
+
+  CFStringRef CFBundleGetDevelopmentRegion(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleGetDevelopmentRegion(
+      bundle,
+    );
+  }
+
+  late final _CFBundleGetDevelopmentRegionPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFBundleRef)>>(
+          'CFBundleGetDevelopmentRegion');
+  late final _CFBundleGetDevelopmentRegion = _CFBundleGetDevelopmentRegionPtr
+      .asFunction<CFStringRef Function(CFBundleRef)>();
+
+  CFURLRef CFBundleCopySupportFilesDirectoryURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopySupportFilesDirectoryURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopySupportFilesDirectoryURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopySupportFilesDirectoryURL');
+  late final _CFBundleCopySupportFilesDirectoryURL =
+      _CFBundleCopySupportFilesDirectoryURLPtr.asFunction<
+          CFURLRef Function(CFBundleRef)>();
+
+  CFURLRef CFBundleCopyResourcesDirectoryURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopyResourcesDirectoryURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopyResourcesDirectoryURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopyResourcesDirectoryURL');
+  late final _CFBundleCopyResourcesDirectoryURL =
+      _CFBundleCopyResourcesDirectoryURLPtr.asFunction<
+          CFURLRef Function(CFBundleRef)>();
+
+  CFURLRef CFBundleCopyPrivateFrameworksURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopyPrivateFrameworksURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopyPrivateFrameworksURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopyPrivateFrameworksURL');
+  late final _CFBundleCopyPrivateFrameworksURL =
+      _CFBundleCopyPrivateFrameworksURLPtr.asFunction<
+          CFURLRef Function(CFBundleRef)>();
+
+  CFURLRef CFBundleCopySharedFrameworksURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopySharedFrameworksURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopySharedFrameworksURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopySharedFrameworksURL');
+  late final _CFBundleCopySharedFrameworksURL =
+      _CFBundleCopySharedFrameworksURLPtr.asFunction<
+          CFURLRef Function(CFBundleRef)>();
+
+  CFURLRef CFBundleCopySharedSupportURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopySharedSupportURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopySharedSupportURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopySharedSupportURL');
+  late final _CFBundleCopySharedSupportURL = _CFBundleCopySharedSupportURLPtr
+      .asFunction<CFURLRef Function(CFBundleRef)>();
+
+  CFURLRef CFBundleCopyBuiltInPlugInsURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopyBuiltInPlugInsURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopyBuiltInPlugInsURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopyBuiltInPlugInsURL');
+  late final _CFBundleCopyBuiltInPlugInsURL = _CFBundleCopyBuiltInPlugInsURLPtr
+      .asFunction<CFURLRef Function(CFBundleRef)>();
+
+  CFDictionaryRef CFBundleCopyInfoDictionaryInDirectory(
+    CFURLRef bundleURL,
+  ) {
+    return _CFBundleCopyInfoDictionaryInDirectory(
+      bundleURL,
+    );
+  }
+
+  late final _CFBundleCopyInfoDictionaryInDirectoryPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(CFURLRef)>>(
+          'CFBundleCopyInfoDictionaryInDirectory');
+  late final _CFBundleCopyInfoDictionaryInDirectory =
+      _CFBundleCopyInfoDictionaryInDirectoryPtr.asFunction<
+          CFDictionaryRef Function(CFURLRef)>();
+
+  int CFBundleGetPackageInfoInDirectory(
+    CFURLRef url,
+    ffi.Pointer<UInt32> packageType,
+    ffi.Pointer<UInt32> packageCreator,
+  ) {
+    return _CFBundleGetPackageInfoInDirectory(
+      url,
+      packageType,
+      packageCreator,
+    );
+  }
+
+  late final _CFBundleGetPackageInfoInDirectoryPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFURLRef, ffi.Pointer<UInt32>,
+              ffi.Pointer<UInt32>)>>('CFBundleGetPackageInfoInDirectory');
+  late final _CFBundleGetPackageInfoInDirectory =
+      _CFBundleGetPackageInfoInDirectoryPtr.asFunction<
+          int Function(CFURLRef, ffi.Pointer<UInt32>, ffi.Pointer<UInt32>)>();
+
+  CFURLRef CFBundleCopyResourceURL(
+    CFBundleRef bundle,
+    CFStringRef resourceName,
+    CFStringRef resourceType,
+    CFStringRef subDirName,
+  ) {
+    return _CFBundleCopyResourceURL(
+      bundle,
+      resourceName,
+      resourceType,
+      subDirName,
+    );
+  }
+
+  late final _CFBundleCopyResourceURLPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFBundleRef, CFStringRef, CFStringRef,
+              CFStringRef)>>('CFBundleCopyResourceURL');
+  late final _CFBundleCopyResourceURL = _CFBundleCopyResourceURLPtr.asFunction<
+      CFURLRef Function(CFBundleRef, CFStringRef, CFStringRef, CFStringRef)>();
+
+  CFArrayRef CFBundleCopyResourceURLsOfType(
+    CFBundleRef bundle,
+    CFStringRef resourceType,
+    CFStringRef subDirName,
+  ) {
+    return _CFBundleCopyResourceURLsOfType(
+      bundle,
+      resourceType,
+      subDirName,
+    );
+  }
+
+  late final _CFBundleCopyResourceURLsOfTypePtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(CFBundleRef, CFStringRef,
+              CFStringRef)>>('CFBundleCopyResourceURLsOfType');
+  late final _CFBundleCopyResourceURLsOfType =
+      _CFBundleCopyResourceURLsOfTypePtr.asFunction<
+          CFArrayRef Function(CFBundleRef, CFStringRef, CFStringRef)>();
+
+  CFStringRef CFBundleCopyLocalizedString(
+    CFBundleRef bundle,
+    CFStringRef key,
+    CFStringRef value,
+    CFStringRef tableName,
+  ) {
+    return _CFBundleCopyLocalizedString(
+      bundle,
+      key,
+      value,
+      tableName,
+    );
+  }
+
+  late final _CFBundleCopyLocalizedStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFBundleRef, CFStringRef, CFStringRef,
+              CFStringRef)>>('CFBundleCopyLocalizedString');
+  late final _CFBundleCopyLocalizedString =
+      _CFBundleCopyLocalizedStringPtr.asFunction<
+          CFStringRef Function(
+              CFBundleRef, CFStringRef, CFStringRef, CFStringRef)>();
+
+  CFURLRef CFBundleCopyResourceURLInDirectory(
+    CFURLRef bundleURL,
+    CFStringRef resourceName,
+    CFStringRef resourceType,
+    CFStringRef subDirName,
+  ) {
+    return _CFBundleCopyResourceURLInDirectory(
+      bundleURL,
+      resourceName,
+      resourceType,
+      subDirName,
+    );
+  }
+
+  late final _CFBundleCopyResourceURLInDirectoryPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFURLRef, CFStringRef, CFStringRef,
+              CFStringRef)>>('CFBundleCopyResourceURLInDirectory');
+  late final _CFBundleCopyResourceURLInDirectory =
+      _CFBundleCopyResourceURLInDirectoryPtr.asFunction<
+          CFURLRef Function(CFURLRef, CFStringRef, CFStringRef, CFStringRef)>();
+
+  CFArrayRef CFBundleCopyResourceURLsOfTypeInDirectory(
+    CFURLRef bundleURL,
+    CFStringRef resourceType,
+    CFStringRef subDirName,
+  ) {
+    return _CFBundleCopyResourceURLsOfTypeInDirectory(
+      bundleURL,
+      resourceType,
+      subDirName,
+    );
+  }
+
+  late final _CFBundleCopyResourceURLsOfTypeInDirectoryPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(CFURLRef, CFStringRef,
+              CFStringRef)>>('CFBundleCopyResourceURLsOfTypeInDirectory');
+  late final _CFBundleCopyResourceURLsOfTypeInDirectory =
+      _CFBundleCopyResourceURLsOfTypeInDirectoryPtr.asFunction<
+          CFArrayRef Function(CFURLRef, CFStringRef, CFStringRef)>();
+
+  CFArrayRef CFBundleCopyBundleLocalizations(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopyBundleLocalizations(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopyBundleLocalizationsPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFBundleRef)>>(
+          'CFBundleCopyBundleLocalizations');
+  late final _CFBundleCopyBundleLocalizations =
+      _CFBundleCopyBundleLocalizationsPtr.asFunction<
+          CFArrayRef Function(CFBundleRef)>();
+
+  CFArrayRef CFBundleCopyPreferredLocalizationsFromArray(
+    CFArrayRef locArray,
+  ) {
+    return _CFBundleCopyPreferredLocalizationsFromArray(
+      locArray,
+    );
+  }
+
+  late final _CFBundleCopyPreferredLocalizationsFromArrayPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFArrayRef)>>(
+          'CFBundleCopyPreferredLocalizationsFromArray');
+  late final _CFBundleCopyPreferredLocalizationsFromArray =
+      _CFBundleCopyPreferredLocalizationsFromArrayPtr.asFunction<
+          CFArrayRef Function(CFArrayRef)>();
+
+  CFArrayRef CFBundleCopyLocalizationsForPreferences(
+    CFArrayRef locArray,
+    CFArrayRef prefArray,
+  ) {
+    return _CFBundleCopyLocalizationsForPreferences(
+      locArray,
+      prefArray,
+    );
+  }
+
+  late final _CFBundleCopyLocalizationsForPreferencesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFArrayRef, CFArrayRef)>>(
+          'CFBundleCopyLocalizationsForPreferences');
+  late final _CFBundleCopyLocalizationsForPreferences =
+      _CFBundleCopyLocalizationsForPreferencesPtr.asFunction<
+          CFArrayRef Function(CFArrayRef, CFArrayRef)>();
+
+  CFURLRef CFBundleCopyResourceURLForLocalization(
+    CFBundleRef bundle,
+    CFStringRef resourceName,
+    CFStringRef resourceType,
+    CFStringRef subDirName,
+    CFStringRef localizationName,
+  ) {
+    return _CFBundleCopyResourceURLForLocalization(
+      bundle,
+      resourceName,
+      resourceType,
+      subDirName,
+      localizationName,
+    );
+  }
+
+  late final _CFBundleCopyResourceURLForLocalizationPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLRef Function(CFBundleRef, CFStringRef, CFStringRef, CFStringRef,
+              CFStringRef)>>('CFBundleCopyResourceURLForLocalization');
+  late final _CFBundleCopyResourceURLForLocalization =
+      _CFBundleCopyResourceURLForLocalizationPtr.asFunction<
+          CFURLRef Function(CFBundleRef, CFStringRef, CFStringRef, CFStringRef,
+              CFStringRef)>();
+
+  CFArrayRef CFBundleCopyResourceURLsOfTypeForLocalization(
+    CFBundleRef bundle,
+    CFStringRef resourceType,
+    CFStringRef subDirName,
+    CFStringRef localizationName,
+  ) {
+    return _CFBundleCopyResourceURLsOfTypeForLocalization(
+      bundle,
+      resourceType,
+      subDirName,
+      localizationName,
+    );
+  }
+
+  late final _CFBundleCopyResourceURLsOfTypeForLocalizationPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(CFBundleRef, CFStringRef, CFStringRef,
+              CFStringRef)>>('CFBundleCopyResourceURLsOfTypeForLocalization');
+  late final _CFBundleCopyResourceURLsOfTypeForLocalization =
+      _CFBundleCopyResourceURLsOfTypeForLocalizationPtr.asFunction<
+          CFArrayRef Function(
+              CFBundleRef, CFStringRef, CFStringRef, CFStringRef)>();
+
+  CFDictionaryRef CFBundleCopyInfoDictionaryForURL(
+    CFURLRef url,
+  ) {
+    return _CFBundleCopyInfoDictionaryForURL(
+      url,
+    );
+  }
+
+  late final _CFBundleCopyInfoDictionaryForURLPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(CFURLRef)>>(
+          'CFBundleCopyInfoDictionaryForURL');
+  late final _CFBundleCopyInfoDictionaryForURL =
+      _CFBundleCopyInfoDictionaryForURLPtr.asFunction<
+          CFDictionaryRef Function(CFURLRef)>();
+
+  CFArrayRef CFBundleCopyLocalizationsForURL(
+    CFURLRef url,
+  ) {
+    return _CFBundleCopyLocalizationsForURL(
+      url,
+    );
+  }
+
+  late final _CFBundleCopyLocalizationsForURLPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFURLRef)>>(
+          'CFBundleCopyLocalizationsForURL');
+  late final _CFBundleCopyLocalizationsForURL =
+      _CFBundleCopyLocalizationsForURLPtr.asFunction<
+          CFArrayRef Function(CFURLRef)>();
+
+  CFArrayRef CFBundleCopyExecutableArchitecturesForURL(
+    CFURLRef url,
+  ) {
+    return _CFBundleCopyExecutableArchitecturesForURL(
+      url,
+    );
+  }
+
+  late final _CFBundleCopyExecutableArchitecturesForURLPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFURLRef)>>(
+          'CFBundleCopyExecutableArchitecturesForURL');
+  late final _CFBundleCopyExecutableArchitecturesForURL =
+      _CFBundleCopyExecutableArchitecturesForURLPtr.asFunction<
+          CFArrayRef Function(CFURLRef)>();
+
+  CFURLRef CFBundleCopyExecutableURL(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopyExecutableURL(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopyExecutableURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef)>>(
+          'CFBundleCopyExecutableURL');
+  late final _CFBundleCopyExecutableURL = _CFBundleCopyExecutableURLPtr
+      .asFunction<CFURLRef Function(CFBundleRef)>();
+
+  CFArrayRef CFBundleCopyExecutableArchitectures(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleCopyExecutableArchitectures(
+      bundle,
+    );
+  }
+
+  late final _CFBundleCopyExecutableArchitecturesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFBundleRef)>>(
+          'CFBundleCopyExecutableArchitectures');
+  late final _CFBundleCopyExecutableArchitectures =
+      _CFBundleCopyExecutableArchitecturesPtr.asFunction<
+          CFArrayRef Function(CFBundleRef)>();
+
+  int CFBundlePreflightExecutable(
+    CFBundleRef bundle,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFBundlePreflightExecutable(
+      bundle,
+      error,
+    );
+  }
+
+  late final _CFBundlePreflightExecutablePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFBundleRef,
+              ffi.Pointer<CFErrorRef>)>>('CFBundlePreflightExecutable');
+  late final _CFBundlePreflightExecutable = _CFBundlePreflightExecutablePtr
+      .asFunction<int Function(CFBundleRef, ffi.Pointer<CFErrorRef>)>();
+
+  int CFBundleLoadExecutableAndReturnError(
+    CFBundleRef bundle,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFBundleLoadExecutableAndReturnError(
+      bundle,
+      error,
+    );
+  }
+
+  late final _CFBundleLoadExecutableAndReturnErrorPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFBundleRef, ffi.Pointer<CFErrorRef>)>>(
+      'CFBundleLoadExecutableAndReturnError');
+  late final _CFBundleLoadExecutableAndReturnError =
+      _CFBundleLoadExecutableAndReturnErrorPtr.asFunction<
+          int Function(CFBundleRef, ffi.Pointer<CFErrorRef>)>();
+
+  int CFBundleLoadExecutable(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleLoadExecutable(
+      bundle,
+    );
+  }
+
+  late final _CFBundleLoadExecutablePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFBundleRef)>>(
+          'CFBundleLoadExecutable');
+  late final _CFBundleLoadExecutable =
+      _CFBundleLoadExecutablePtr.asFunction<int Function(CFBundleRef)>();
+
+  int CFBundleIsExecutableLoaded(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleIsExecutableLoaded(
+      bundle,
+    );
+  }
+
+  late final _CFBundleIsExecutableLoadedPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFBundleRef)>>(
+          'CFBundleIsExecutableLoaded');
+  late final _CFBundleIsExecutableLoaded =
+      _CFBundleIsExecutableLoadedPtr.asFunction<int Function(CFBundleRef)>();
+
+  void CFBundleUnloadExecutable(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleUnloadExecutable(
+      bundle,
+    );
+  }
+
+  late final _CFBundleUnloadExecutablePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFBundleRef)>>(
+          'CFBundleUnloadExecutable');
+  late final _CFBundleUnloadExecutable =
+      _CFBundleUnloadExecutablePtr.asFunction<void Function(CFBundleRef)>();
+
+  ffi.Pointer<ffi.Void> CFBundleGetFunctionPointerForName(
+    CFBundleRef bundle,
+    CFStringRef functionName,
+  ) {
+    return _CFBundleGetFunctionPointerForName(
+      bundle,
+      functionName,
+    );
+  }
+
+  late final _CFBundleGetFunctionPointerForNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFBundleRef, CFStringRef)>>('CFBundleGetFunctionPointerForName');
+  late final _CFBundleGetFunctionPointerForName =
+      _CFBundleGetFunctionPointerForNamePtr.asFunction<
+          ffi.Pointer<ffi.Void> Function(CFBundleRef, CFStringRef)>();
+
+  void CFBundleGetFunctionPointersForNames(
+    CFBundleRef bundle,
+    CFArrayRef functionNames,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> ftbl,
+  ) {
+    return _CFBundleGetFunctionPointersForNames(
+      bundle,
+      functionNames,
+      ftbl,
+    );
+  }
+
+  late final _CFBundleGetFunctionPointersForNamesPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(CFBundleRef, CFArrayRef,
+                  ffi.Pointer<ffi.Pointer<ffi.Void>>)>>(
+      'CFBundleGetFunctionPointersForNames');
+  late final _CFBundleGetFunctionPointersForNames =
+      _CFBundleGetFunctionPointersForNamesPtr.asFunction<
+          void Function(
+              CFBundleRef, CFArrayRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  ffi.Pointer<ffi.Void> CFBundleGetDataPointerForName(
+    CFBundleRef bundle,
+    CFStringRef symbolName,
+  ) {
+    return _CFBundleGetDataPointerForName(
+      bundle,
+      symbolName,
+    );
+  }
+
+  late final _CFBundleGetDataPointerForNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFBundleRef, CFStringRef)>>('CFBundleGetDataPointerForName');
+  late final _CFBundleGetDataPointerForName = _CFBundleGetDataPointerForNamePtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(CFBundleRef, CFStringRef)>();
+
+  void CFBundleGetDataPointersForNames(
+    CFBundleRef bundle,
+    CFArrayRef symbolNames,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> stbl,
+  ) {
+    return _CFBundleGetDataPointersForNames(
+      bundle,
+      symbolNames,
+      stbl,
+    );
+  }
+
+  late final _CFBundleGetDataPointersForNamesPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(CFBundleRef, CFArrayRef,
+                  ffi.Pointer<ffi.Pointer<ffi.Void>>)>>(
+      'CFBundleGetDataPointersForNames');
+  late final _CFBundleGetDataPointersForNames =
+      _CFBundleGetDataPointersForNamesPtr.asFunction<
+          void Function(
+              CFBundleRef, CFArrayRef, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  CFURLRef CFBundleCopyAuxiliaryExecutableURL(
+    CFBundleRef bundle,
+    CFStringRef executableName,
+  ) {
+    return _CFBundleCopyAuxiliaryExecutableURL(
+      bundle,
+      executableName,
+    );
+  }
+
+  late final _CFBundleCopyAuxiliaryExecutableURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFBundleRef, CFStringRef)>>(
+          'CFBundleCopyAuxiliaryExecutableURL');
+  late final _CFBundleCopyAuxiliaryExecutableURL =
+      _CFBundleCopyAuxiliaryExecutableURLPtr.asFunction<
+          CFURLRef Function(CFBundleRef, CFStringRef)>();
+
+  int CFBundleIsExecutableLoadable(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleIsExecutableLoadable(
+      bundle,
+    );
+  }
+
+  late final _CFBundleIsExecutableLoadablePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFBundleRef)>>(
+          'CFBundleIsExecutableLoadable');
+  late final _CFBundleIsExecutableLoadable =
+      _CFBundleIsExecutableLoadablePtr.asFunction<int Function(CFBundleRef)>();
+
+  int CFBundleIsExecutableLoadableForURL(
+    CFURLRef url,
+  ) {
+    return _CFBundleIsExecutableLoadableForURL(
+      url,
+    );
+  }
+
+  late final _CFBundleIsExecutableLoadableForURLPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFURLRef)>>(
+          'CFBundleIsExecutableLoadableForURL');
+  late final _CFBundleIsExecutableLoadableForURL =
+      _CFBundleIsExecutableLoadableForURLPtr.asFunction<
+          int Function(CFURLRef)>();
+
+  int CFBundleIsArchitectureLoadable(
+    int arch,
+  ) {
+    return _CFBundleIsArchitectureLoadable(
+      arch,
+    );
+  }
+
+  late final _CFBundleIsArchitectureLoadablePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(cpu_type_t)>>(
+          'CFBundleIsArchitectureLoadable');
+  late final _CFBundleIsArchitectureLoadable =
+      _CFBundleIsArchitectureLoadablePtr.asFunction<int Function(int)>();
+
+  CFPlugInRef CFBundleGetPlugIn(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleGetPlugIn(
+      bundle,
+    );
+  }
+
+  late final _CFBundleGetPlugInPtr =
+      _lookup<ffi.NativeFunction<CFPlugInRef Function(CFBundleRef)>>(
+          'CFBundleGetPlugIn');
+  late final _CFBundleGetPlugIn =
+      _CFBundleGetPlugInPtr.asFunction<CFPlugInRef Function(CFBundleRef)>();
+
+  int CFBundleOpenBundleResourceMap(
+    CFBundleRef bundle,
+  ) {
+    return _CFBundleOpenBundleResourceMap(
+      bundle,
+    );
+  }
+
+  late final _CFBundleOpenBundleResourceMapPtr =
+      _lookup<ffi.NativeFunction<CFBundleRefNum Function(CFBundleRef)>>(
+          'CFBundleOpenBundleResourceMap');
+  late final _CFBundleOpenBundleResourceMap =
+      _CFBundleOpenBundleResourceMapPtr.asFunction<int Function(CFBundleRef)>();
+
+  int CFBundleOpenBundleResourceFiles(
+    CFBundleRef bundle,
+    ffi.Pointer<CFBundleRefNum> refNum,
+    ffi.Pointer<CFBundleRefNum> localizedRefNum,
+  ) {
+    return _CFBundleOpenBundleResourceFiles(
+      bundle,
+      refNum,
+      localizedRefNum,
+    );
+  }
+
+  late final _CFBundleOpenBundleResourceFilesPtr = _lookup<
+      ffi.NativeFunction<
+          SInt32 Function(CFBundleRef, ffi.Pointer<CFBundleRefNum>,
+              ffi.Pointer<CFBundleRefNum>)>>('CFBundleOpenBundleResourceFiles');
+  late final _CFBundleOpenBundleResourceFiles =
+      _CFBundleOpenBundleResourceFilesPtr.asFunction<
+          int Function(CFBundleRef, ffi.Pointer<CFBundleRefNum>,
+              ffi.Pointer<CFBundleRefNum>)>();
+
+  void CFBundleCloseBundleResourceMap(
+    CFBundleRef bundle,
+    int refNum,
+  ) {
+    return _CFBundleCloseBundleResourceMap(
+      bundle,
+      refNum,
+    );
+  }
+
+  late final _CFBundleCloseBundleResourceMapPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFBundleRef, CFBundleRefNum)>>(
+      'CFBundleCloseBundleResourceMap');
+  late final _CFBundleCloseBundleResourceMap =
+      _CFBundleCloseBundleResourceMapPtr.asFunction<
+          void Function(CFBundleRef, int)>();
+
+  int CFMessagePortGetTypeID() {
+    return _CFMessagePortGetTypeID();
+  }
+
+  late final _CFMessagePortGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFMessagePortGetTypeID');
+  late final _CFMessagePortGetTypeID =
+      _CFMessagePortGetTypeIDPtr.asFunction<int Function()>();
+
+  CFMessagePortRef CFMessagePortCreateLocal(
+    CFAllocatorRef allocator,
+    CFStringRef name,
+    CFMessagePortCallBack callout,
+    ffi.Pointer<CFMessagePortContext> context,
+    ffi.Pointer<Boolean> shouldFreeInfo,
+  ) {
+    return _CFMessagePortCreateLocal(
+      allocator,
+      name,
+      callout,
+      context,
+      shouldFreeInfo,
+    );
+  }
+
+  late final _CFMessagePortCreateLocalPtr = _lookup<
+      ffi.NativeFunction<
+          CFMessagePortRef Function(
+              CFAllocatorRef,
+              CFStringRef,
+              CFMessagePortCallBack,
+              ffi.Pointer<CFMessagePortContext>,
+              ffi.Pointer<Boolean>)>>('CFMessagePortCreateLocal');
+  late final _CFMessagePortCreateLocal =
+      _CFMessagePortCreateLocalPtr.asFunction<
+          CFMessagePortRef Function(
+              CFAllocatorRef,
+              CFStringRef,
+              CFMessagePortCallBack,
+              ffi.Pointer<CFMessagePortContext>,
+              ffi.Pointer<Boolean>)>();
+
+  CFMessagePortRef CFMessagePortCreateRemote(
+    CFAllocatorRef allocator,
+    CFStringRef name,
+  ) {
+    return _CFMessagePortCreateRemote(
+      allocator,
+      name,
+    );
+  }
+
+  late final _CFMessagePortCreateRemotePtr = _lookup<
+      ffi.NativeFunction<
+          CFMessagePortRef Function(
+              CFAllocatorRef, CFStringRef)>>('CFMessagePortCreateRemote');
+  late final _CFMessagePortCreateRemote = _CFMessagePortCreateRemotePtr
+      .asFunction<CFMessagePortRef Function(CFAllocatorRef, CFStringRef)>();
+
+  int CFMessagePortIsRemote(
+    CFMessagePortRef ms,
+  ) {
+    return _CFMessagePortIsRemote(
+      ms,
+    );
+  }
+
+  late final _CFMessagePortIsRemotePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFMessagePortRef)>>(
+          'CFMessagePortIsRemote');
+  late final _CFMessagePortIsRemote =
+      _CFMessagePortIsRemotePtr.asFunction<int Function(CFMessagePortRef)>();
+
+  CFStringRef CFMessagePortGetName(
+    CFMessagePortRef ms,
+  ) {
+    return _CFMessagePortGetName(
+      ms,
+    );
+  }
+
+  late final _CFMessagePortGetNamePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFMessagePortRef)>>(
+          'CFMessagePortGetName');
+  late final _CFMessagePortGetName = _CFMessagePortGetNamePtr.asFunction<
+      CFStringRef Function(CFMessagePortRef)>();
+
+  int CFMessagePortSetName(
+    CFMessagePortRef ms,
+    CFStringRef newName,
+  ) {
+    return _CFMessagePortSetName(
+      ms,
+      newName,
+    );
+  }
+
+  late final _CFMessagePortSetNamePtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFMessagePortRef, CFStringRef)>>(
+      'CFMessagePortSetName');
+  late final _CFMessagePortSetName = _CFMessagePortSetNamePtr.asFunction<
+      int Function(CFMessagePortRef, CFStringRef)>();
+
+  void CFMessagePortGetContext(
+    CFMessagePortRef ms,
+    ffi.Pointer<CFMessagePortContext> context,
+  ) {
+    return _CFMessagePortGetContext(
+      ms,
+      context,
+    );
+  }
+
+  late final _CFMessagePortGetContextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMessagePortRef,
+              ffi.Pointer<CFMessagePortContext>)>>('CFMessagePortGetContext');
+  late final _CFMessagePortGetContext = _CFMessagePortGetContextPtr.asFunction<
+      void Function(CFMessagePortRef, ffi.Pointer<CFMessagePortContext>)>();
+
+  void CFMessagePortInvalidate(
+    CFMessagePortRef ms,
+  ) {
+    return _CFMessagePortInvalidate(
+      ms,
+    );
+  }
+
+  late final _CFMessagePortInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMessagePortRef)>>(
+          'CFMessagePortInvalidate');
+  late final _CFMessagePortInvalidate =
+      _CFMessagePortInvalidatePtr.asFunction<void Function(CFMessagePortRef)>();
+
+  int CFMessagePortIsValid(
+    CFMessagePortRef ms,
+  ) {
+    return _CFMessagePortIsValid(
+      ms,
+    );
+  }
+
+  late final _CFMessagePortIsValidPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFMessagePortRef)>>(
+          'CFMessagePortIsValid');
+  late final _CFMessagePortIsValid =
+      _CFMessagePortIsValidPtr.asFunction<int Function(CFMessagePortRef)>();
+
+  CFMessagePortInvalidationCallBack CFMessagePortGetInvalidationCallBack(
+    CFMessagePortRef ms,
+  ) {
+    return _CFMessagePortGetInvalidationCallBack(
+      ms,
+    );
+  }
+
+  late final _CFMessagePortGetInvalidationCallBackPtr = _lookup<
+      ffi.NativeFunction<
+          CFMessagePortInvalidationCallBack Function(
+              CFMessagePortRef)>>('CFMessagePortGetInvalidationCallBack');
+  late final _CFMessagePortGetInvalidationCallBack =
+      _CFMessagePortGetInvalidationCallBackPtr.asFunction<
+          CFMessagePortInvalidationCallBack Function(CFMessagePortRef)>();
+
+  void CFMessagePortSetInvalidationCallBack(
+    CFMessagePortRef ms,
+    CFMessagePortInvalidationCallBack callout,
+  ) {
+    return _CFMessagePortSetInvalidationCallBack(
+      ms,
+      callout,
+    );
+  }
+
+  late final _CFMessagePortSetInvalidationCallBackPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFMessagePortRef, CFMessagePortInvalidationCallBack)>>(
+      'CFMessagePortSetInvalidationCallBack');
+  late final _CFMessagePortSetInvalidationCallBack =
+      _CFMessagePortSetInvalidationCallBackPtr.asFunction<
+          void Function(CFMessagePortRef, CFMessagePortInvalidationCallBack)>();
+
+  int CFMessagePortSendRequest(
+    CFMessagePortRef remote,
+    int msgid,
+    CFDataRef data,
+    double sendTimeout,
+    double rcvTimeout,
+    CFStringRef replyMode,
+    ffi.Pointer<CFDataRef> returnData,
+  ) {
+    return _CFMessagePortSendRequest(
+      remote,
+      msgid,
+      data,
+      sendTimeout,
+      rcvTimeout,
+      replyMode,
+      returnData,
+    );
+  }
+
+  late final _CFMessagePortSendRequestPtr = _lookup<
+      ffi.NativeFunction<
+          SInt32 Function(
+              CFMessagePortRef,
+              SInt32,
+              CFDataRef,
+              CFTimeInterval,
+              CFTimeInterval,
+              CFStringRef,
+              ffi.Pointer<CFDataRef>)>>('CFMessagePortSendRequest');
+  late final _CFMessagePortSendRequest =
+      _CFMessagePortSendRequestPtr.asFunction<
+          int Function(CFMessagePortRef, int, CFDataRef, double, double,
+              CFStringRef, ffi.Pointer<CFDataRef>)>();
+
+  CFRunLoopSourceRef CFMessagePortCreateRunLoopSource(
+    CFAllocatorRef allocator,
+    CFMessagePortRef local,
+    int order,
+  ) {
+    return _CFMessagePortCreateRunLoopSource(
+      allocator,
+      local,
+      order,
+    );
+  }
+
+  late final _CFMessagePortCreateRunLoopSourcePtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFMessagePortRef,
+              CFIndex)>>('CFMessagePortCreateRunLoopSource');
+  late final _CFMessagePortCreateRunLoopSource =
+      _CFMessagePortCreateRunLoopSourcePtr.asFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFMessagePortRef, int)>();
+
+  void CFMessagePortSetDispatchQueue(
+    CFMessagePortRef ms,
+    dispatch_queue_t queue,
+  ) {
+    return _CFMessagePortSetDispatchQueue(
+      ms,
+      queue,
+    );
+  }
+
+  late final _CFMessagePortSetDispatchQueuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMessagePortRef,
+              dispatch_queue_t)>>('CFMessagePortSetDispatchQueue');
+  late final _CFMessagePortSetDispatchQueue = _CFMessagePortSetDispatchQueuePtr
+      .asFunction<void Function(CFMessagePortRef, dispatch_queue_t)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFPlugInDynamicRegistrationKey =
+      _lookup<CFStringRef>('kCFPlugInDynamicRegistrationKey');
+
+  CFStringRef get kCFPlugInDynamicRegistrationKey =>
+      _kCFPlugInDynamicRegistrationKey.value;
+
+  set kCFPlugInDynamicRegistrationKey(CFStringRef value) =>
+      _kCFPlugInDynamicRegistrationKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPlugInDynamicRegisterFunctionKey =
+      _lookup<CFStringRef>('kCFPlugInDynamicRegisterFunctionKey');
+
+  CFStringRef get kCFPlugInDynamicRegisterFunctionKey =>
+      _kCFPlugInDynamicRegisterFunctionKey.value;
+
+  set kCFPlugInDynamicRegisterFunctionKey(CFStringRef value) =>
+      _kCFPlugInDynamicRegisterFunctionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPlugInUnloadFunctionKey =
+      _lookup<CFStringRef>('kCFPlugInUnloadFunctionKey');
+
+  CFStringRef get kCFPlugInUnloadFunctionKey =>
+      _kCFPlugInUnloadFunctionKey.value;
+
+  set kCFPlugInUnloadFunctionKey(CFStringRef value) =>
+      _kCFPlugInUnloadFunctionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPlugInFactoriesKey =
+      _lookup<CFStringRef>('kCFPlugInFactoriesKey');
+
+  CFStringRef get kCFPlugInFactoriesKey => _kCFPlugInFactoriesKey.value;
+
+  set kCFPlugInFactoriesKey(CFStringRef value) =>
+      _kCFPlugInFactoriesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFPlugInTypesKey =
+      _lookup<CFStringRef>('kCFPlugInTypesKey');
+
+  CFStringRef get kCFPlugInTypesKey => _kCFPlugInTypesKey.value;
+
+  set kCFPlugInTypesKey(CFStringRef value) => _kCFPlugInTypesKey.value = value;
+
+  int CFPlugInGetTypeID() {
+    return _CFPlugInGetTypeID();
+  }
+
+  late final _CFPlugInGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFPlugInGetTypeID');
+  late final _CFPlugInGetTypeID =
+      _CFPlugInGetTypeIDPtr.asFunction<int Function()>();
+
+  CFPlugInRef CFPlugInCreate(
+    CFAllocatorRef allocator,
+    CFURLRef plugInURL,
+  ) {
+    return _CFPlugInCreate(
+      allocator,
+      plugInURL,
+    );
+  }
+
+  late final _CFPlugInCreatePtr = _lookup<
+          ffi.NativeFunction<CFPlugInRef Function(CFAllocatorRef, CFURLRef)>>(
+      'CFPlugInCreate');
+  late final _CFPlugInCreate = _CFPlugInCreatePtr.asFunction<
+      CFPlugInRef Function(CFAllocatorRef, CFURLRef)>();
+
+  CFBundleRef CFPlugInGetBundle(
+    CFPlugInRef plugIn,
+  ) {
+    return _CFPlugInGetBundle(
+      plugIn,
+    );
+  }
+
+  late final _CFPlugInGetBundlePtr =
+      _lookup<ffi.NativeFunction<CFBundleRef Function(CFPlugInRef)>>(
+          'CFPlugInGetBundle');
+  late final _CFPlugInGetBundle =
+      _CFPlugInGetBundlePtr.asFunction<CFBundleRef Function(CFPlugInRef)>();
+
+  void CFPlugInSetLoadOnDemand(
+    CFPlugInRef plugIn,
+    int flag,
+  ) {
+    return _CFPlugInSetLoadOnDemand(
+      plugIn,
+      flag,
+    );
+  }
+
+  late final _CFPlugInSetLoadOnDemandPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFPlugInRef, Boolean)>>(
+          'CFPlugInSetLoadOnDemand');
+  late final _CFPlugInSetLoadOnDemand =
+      _CFPlugInSetLoadOnDemandPtr.asFunction<void Function(CFPlugInRef, int)>();
+
+  int CFPlugInIsLoadOnDemand(
+    CFPlugInRef plugIn,
+  ) {
+    return _CFPlugInIsLoadOnDemand(
+      plugIn,
+    );
+  }
+
+  late final _CFPlugInIsLoadOnDemandPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFPlugInRef)>>(
+          'CFPlugInIsLoadOnDemand');
+  late final _CFPlugInIsLoadOnDemand =
+      _CFPlugInIsLoadOnDemandPtr.asFunction<int Function(CFPlugInRef)>();
+
+  CFArrayRef CFPlugInFindFactoriesForPlugInType(
+    CFUUIDRef typeUUID,
+  ) {
+    return _CFPlugInFindFactoriesForPlugInType(
+      typeUUID,
+    );
+  }
+
+  late final _CFPlugInFindFactoriesForPlugInTypePtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFUUIDRef)>>(
+          'CFPlugInFindFactoriesForPlugInType');
+  late final _CFPlugInFindFactoriesForPlugInType =
+      _CFPlugInFindFactoriesForPlugInTypePtr.asFunction<
+          CFArrayRef Function(CFUUIDRef)>();
+
+  CFArrayRef CFPlugInFindFactoriesForPlugInTypeInPlugIn(
+    CFUUIDRef typeUUID,
+    CFPlugInRef plugIn,
+  ) {
+    return _CFPlugInFindFactoriesForPlugInTypeInPlugIn(
+      typeUUID,
+      plugIn,
+    );
+  }
+
+  late final _CFPlugInFindFactoriesForPlugInTypeInPlugInPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFUUIDRef, CFPlugInRef)>>(
+          'CFPlugInFindFactoriesForPlugInTypeInPlugIn');
+  late final _CFPlugInFindFactoriesForPlugInTypeInPlugIn =
+      _CFPlugInFindFactoriesForPlugInTypeInPlugInPtr.asFunction<
+          CFArrayRef Function(CFUUIDRef, CFPlugInRef)>();
+
+  ffi.Pointer<ffi.Void> CFPlugInInstanceCreate(
+    CFAllocatorRef allocator,
+    CFUUIDRef factoryUUID,
+    CFUUIDRef typeUUID,
+  ) {
+    return _CFPlugInInstanceCreate(
+      allocator,
+      factoryUUID,
+      typeUUID,
+    );
+  }
+
+  late final _CFPlugInInstanceCreatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFAllocatorRef, CFUUIDRef, CFUUIDRef)>>('CFPlugInInstanceCreate');
+  late final _CFPlugInInstanceCreate = _CFPlugInInstanceCreatePtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(CFAllocatorRef, CFUUIDRef, CFUUIDRef)>();
+
+  int CFPlugInRegisterFactoryFunction(
+    CFUUIDRef factoryUUID,
+    CFPlugInFactoryFunction func,
+  ) {
+    return _CFPlugInRegisterFactoryFunction(
+      factoryUUID,
+      func,
+    );
+  }
+
+  late final _CFPlugInRegisterFactoryFunctionPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFUUIDRef,
+              CFPlugInFactoryFunction)>>('CFPlugInRegisterFactoryFunction');
+  late final _CFPlugInRegisterFactoryFunction =
+      _CFPlugInRegisterFactoryFunctionPtr.asFunction<
+          int Function(CFUUIDRef, CFPlugInFactoryFunction)>();
+
+  int CFPlugInRegisterFactoryFunctionByName(
+    CFUUIDRef factoryUUID,
+    CFPlugInRef plugIn,
+    CFStringRef functionName,
+  ) {
+    return _CFPlugInRegisterFactoryFunctionByName(
+      factoryUUID,
+      plugIn,
+      functionName,
+    );
+  }
+
+  late final _CFPlugInRegisterFactoryFunctionByNamePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFUUIDRef, CFPlugInRef,
+              CFStringRef)>>('CFPlugInRegisterFactoryFunctionByName');
+  late final _CFPlugInRegisterFactoryFunctionByName =
+      _CFPlugInRegisterFactoryFunctionByNamePtr.asFunction<
+          int Function(CFUUIDRef, CFPlugInRef, CFStringRef)>();
+
+  int CFPlugInUnregisterFactory(
+    CFUUIDRef factoryUUID,
+  ) {
+    return _CFPlugInUnregisterFactory(
+      factoryUUID,
+    );
+  }
+
+  late final _CFPlugInUnregisterFactoryPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFUUIDRef)>>(
+          'CFPlugInUnregisterFactory');
+  late final _CFPlugInUnregisterFactory =
+      _CFPlugInUnregisterFactoryPtr.asFunction<int Function(CFUUIDRef)>();
+
+  int CFPlugInRegisterPlugInType(
+    CFUUIDRef factoryUUID,
+    CFUUIDRef typeUUID,
+  ) {
+    return _CFPlugInRegisterPlugInType(
+      factoryUUID,
+      typeUUID,
+    );
+  }
+
+  late final _CFPlugInRegisterPlugInTypePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFUUIDRef, CFUUIDRef)>>(
+          'CFPlugInRegisterPlugInType');
+  late final _CFPlugInRegisterPlugInType = _CFPlugInRegisterPlugInTypePtr
+      .asFunction<int Function(CFUUIDRef, CFUUIDRef)>();
+
+  int CFPlugInUnregisterPlugInType(
+    CFUUIDRef factoryUUID,
+    CFUUIDRef typeUUID,
+  ) {
+    return _CFPlugInUnregisterPlugInType(
+      factoryUUID,
+      typeUUID,
+    );
+  }
+
+  late final _CFPlugInUnregisterPlugInTypePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFUUIDRef, CFUUIDRef)>>(
+          'CFPlugInUnregisterPlugInType');
+  late final _CFPlugInUnregisterPlugInType = _CFPlugInUnregisterPlugInTypePtr
+      .asFunction<int Function(CFUUIDRef, CFUUIDRef)>();
+
+  void CFPlugInAddInstanceForFactory(
+    CFUUIDRef factoryID,
+  ) {
+    return _CFPlugInAddInstanceForFactory(
+      factoryID,
+    );
+  }
+
+  late final _CFPlugInAddInstanceForFactoryPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFUUIDRef)>>(
+          'CFPlugInAddInstanceForFactory');
+  late final _CFPlugInAddInstanceForFactory =
+      _CFPlugInAddInstanceForFactoryPtr.asFunction<void Function(CFUUIDRef)>();
+
+  void CFPlugInRemoveInstanceForFactory(
+    CFUUIDRef factoryID,
+  ) {
+    return _CFPlugInRemoveInstanceForFactory(
+      factoryID,
+    );
+  }
+
+  late final _CFPlugInRemoveInstanceForFactoryPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFUUIDRef)>>(
+          'CFPlugInRemoveInstanceForFactory');
+  late final _CFPlugInRemoveInstanceForFactory =
+      _CFPlugInRemoveInstanceForFactoryPtr.asFunction<
+          void Function(CFUUIDRef)>();
+
+  int CFPlugInInstanceGetInterfaceFunctionTable(
+    CFPlugInInstanceRef instance,
+    CFStringRef interfaceName,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> ftbl,
+  ) {
+    return _CFPlugInInstanceGetInterfaceFunctionTable(
+      instance,
+      interfaceName,
+      ftbl,
+    );
+  }
+
+  late final _CFPlugInInstanceGetInterfaceFunctionTablePtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFPlugInInstanceRef, CFStringRef,
+                  ffi.Pointer<ffi.Pointer<ffi.Void>>)>>(
+      'CFPlugInInstanceGetInterfaceFunctionTable');
+  late final _CFPlugInInstanceGetInterfaceFunctionTable =
+      _CFPlugInInstanceGetInterfaceFunctionTablePtr.asFunction<
+          int Function(CFPlugInInstanceRef, CFStringRef,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  CFStringRef CFPlugInInstanceGetFactoryName(
+    CFPlugInInstanceRef instance,
+  ) {
+    return _CFPlugInInstanceGetFactoryName(
+      instance,
+    );
+  }
+
+  late final _CFPlugInInstanceGetFactoryNamePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFPlugInInstanceRef)>>(
+          'CFPlugInInstanceGetFactoryName');
+  late final _CFPlugInInstanceGetFactoryName =
+      _CFPlugInInstanceGetFactoryNamePtr.asFunction<
+          CFStringRef Function(CFPlugInInstanceRef)>();
+
+  ffi.Pointer<ffi.Void> CFPlugInInstanceGetInstanceData(
+    CFPlugInInstanceRef instance,
+  ) {
+    return _CFPlugInInstanceGetInstanceData(
+      instance,
+    );
+  }
+
+  late final _CFPlugInInstanceGetInstanceDataPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<ffi.Void> Function(CFPlugInInstanceRef)>>(
+      'CFPlugInInstanceGetInstanceData');
+  late final _CFPlugInInstanceGetInstanceData =
+      _CFPlugInInstanceGetInstanceDataPtr.asFunction<
+          ffi.Pointer<ffi.Void> Function(CFPlugInInstanceRef)>();
+
+  int CFPlugInInstanceGetTypeID() {
+    return _CFPlugInInstanceGetTypeID();
+  }
+
+  late final _CFPlugInInstanceGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFPlugInInstanceGetTypeID');
+  late final _CFPlugInInstanceGetTypeID =
+      _CFPlugInInstanceGetTypeIDPtr.asFunction<int Function()>();
+
+  CFPlugInInstanceRef CFPlugInInstanceCreateWithInstanceDataSize(
+    CFAllocatorRef allocator,
+    int instanceDataSize,
+    CFPlugInInstanceDeallocateInstanceDataFunction deallocateInstanceFunction,
+    CFStringRef factoryName,
+    CFPlugInInstanceGetInterfaceFunction getInterfaceFunction,
+  ) {
+    return _CFPlugInInstanceCreateWithInstanceDataSize(
+      allocator,
+      instanceDataSize,
+      deallocateInstanceFunction,
+      factoryName,
+      getInterfaceFunction,
+    );
+  }
+
+  late final _CFPlugInInstanceCreateWithInstanceDataSizePtr = _lookup<
+          ffi.NativeFunction<
+              CFPlugInInstanceRef Function(
+                  CFAllocatorRef,
+                  CFIndex,
+                  CFPlugInInstanceDeallocateInstanceDataFunction,
+                  CFStringRef,
+                  CFPlugInInstanceGetInterfaceFunction)>>(
+      'CFPlugInInstanceCreateWithInstanceDataSize');
+  late final _CFPlugInInstanceCreateWithInstanceDataSize =
+      _CFPlugInInstanceCreateWithInstanceDataSizePtr.asFunction<
+          CFPlugInInstanceRef Function(
+              CFAllocatorRef,
+              int,
+              CFPlugInInstanceDeallocateInstanceDataFunction,
+              CFStringRef,
+              CFPlugInInstanceGetInterfaceFunction)>();
+
+  int CFMachPortGetTypeID() {
+    return _CFMachPortGetTypeID();
+  }
+
+  late final _CFMachPortGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFMachPortGetTypeID');
+  late final _CFMachPortGetTypeID =
+      _CFMachPortGetTypeIDPtr.asFunction<int Function()>();
+
+  CFMachPortRef CFMachPortCreate(
+    CFAllocatorRef allocator,
+    CFMachPortCallBack callout,
+    ffi.Pointer<CFMachPortContext> context,
+    ffi.Pointer<Boolean> shouldFreeInfo,
+  ) {
+    return _CFMachPortCreate(
+      allocator,
+      callout,
+      context,
+      shouldFreeInfo,
+    );
+  }
+
+  late final _CFMachPortCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFMachPortRef Function(
+              CFAllocatorRef,
+              CFMachPortCallBack,
+              ffi.Pointer<CFMachPortContext>,
+              ffi.Pointer<Boolean>)>>('CFMachPortCreate');
+  late final _CFMachPortCreate = _CFMachPortCreatePtr.asFunction<
+      CFMachPortRef Function(CFAllocatorRef, CFMachPortCallBack,
+          ffi.Pointer<CFMachPortContext>, ffi.Pointer<Boolean>)>();
+
+  CFMachPortRef CFMachPortCreateWithPort(
+    CFAllocatorRef allocator,
+    int portNum,
+    CFMachPortCallBack callout,
+    ffi.Pointer<CFMachPortContext> context,
+    ffi.Pointer<Boolean> shouldFreeInfo,
+  ) {
+    return _CFMachPortCreateWithPort(
+      allocator,
+      portNum,
+      callout,
+      context,
+      shouldFreeInfo,
+    );
+  }
+
+  late final _CFMachPortCreateWithPortPtr = _lookup<
+      ffi.NativeFunction<
+          CFMachPortRef Function(
+              CFAllocatorRef,
+              mach_port_t,
+              CFMachPortCallBack,
+              ffi.Pointer<CFMachPortContext>,
+              ffi.Pointer<Boolean>)>>('CFMachPortCreateWithPort');
+  late final _CFMachPortCreateWithPort =
+      _CFMachPortCreateWithPortPtr.asFunction<
+          CFMachPortRef Function(CFAllocatorRef, int, CFMachPortCallBack,
+              ffi.Pointer<CFMachPortContext>, ffi.Pointer<Boolean>)>();
+
+  int CFMachPortGetPort(
+    CFMachPortRef port,
+  ) {
+    return _CFMachPortGetPort(
+      port,
+    );
+  }
+
+  late final _CFMachPortGetPortPtr =
+      _lookup<ffi.NativeFunction<mach_port_t Function(CFMachPortRef)>>(
+          'CFMachPortGetPort');
+  late final _CFMachPortGetPort =
+      _CFMachPortGetPortPtr.asFunction<int Function(CFMachPortRef)>();
+
+  void CFMachPortGetContext(
+    CFMachPortRef port,
+    ffi.Pointer<CFMachPortContext> context,
+  ) {
+    return _CFMachPortGetContext(
+      port,
+      context,
+    );
+  }
+
+  late final _CFMachPortGetContextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMachPortRef,
+              ffi.Pointer<CFMachPortContext>)>>('CFMachPortGetContext');
+  late final _CFMachPortGetContext = _CFMachPortGetContextPtr.asFunction<
+      void Function(CFMachPortRef, ffi.Pointer<CFMachPortContext>)>();
+
+  void CFMachPortInvalidate(
+    CFMachPortRef port,
+  ) {
+    return _CFMachPortInvalidate(
+      port,
+    );
+  }
+
+  late final _CFMachPortInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFMachPortRef)>>(
+          'CFMachPortInvalidate');
+  late final _CFMachPortInvalidate =
+      _CFMachPortInvalidatePtr.asFunction<void Function(CFMachPortRef)>();
+
+  int CFMachPortIsValid(
+    CFMachPortRef port,
+  ) {
+    return _CFMachPortIsValid(
+      port,
+    );
+  }
+
+  late final _CFMachPortIsValidPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFMachPortRef)>>(
+          'CFMachPortIsValid');
+  late final _CFMachPortIsValid =
+      _CFMachPortIsValidPtr.asFunction<int Function(CFMachPortRef)>();
+
+  CFMachPortInvalidationCallBack CFMachPortGetInvalidationCallBack(
+    CFMachPortRef port,
+  ) {
+    return _CFMachPortGetInvalidationCallBack(
+      port,
+    );
+  }
+
+  late final _CFMachPortGetInvalidationCallBackPtr = _lookup<
+      ffi.NativeFunction<
+          CFMachPortInvalidationCallBack Function(
+              CFMachPortRef)>>('CFMachPortGetInvalidationCallBack');
+  late final _CFMachPortGetInvalidationCallBack =
+      _CFMachPortGetInvalidationCallBackPtr.asFunction<
+          CFMachPortInvalidationCallBack Function(CFMachPortRef)>();
+
+  void CFMachPortSetInvalidationCallBack(
+    CFMachPortRef port,
+    CFMachPortInvalidationCallBack callout,
+  ) {
+    return _CFMachPortSetInvalidationCallBack(
+      port,
+      callout,
+    );
+  }
+
+  late final _CFMachPortSetInvalidationCallBackPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFMachPortRef, CFMachPortInvalidationCallBack)>>(
+      'CFMachPortSetInvalidationCallBack');
+  late final _CFMachPortSetInvalidationCallBack =
+      _CFMachPortSetInvalidationCallBackPtr.asFunction<
+          void Function(CFMachPortRef, CFMachPortInvalidationCallBack)>();
+
+  CFRunLoopSourceRef CFMachPortCreateRunLoopSource(
+    CFAllocatorRef allocator,
+    CFMachPortRef port,
+    int order,
+  ) {
+    return _CFMachPortCreateRunLoopSource(
+      allocator,
+      port,
+      order,
+    );
+  }
+
+  late final _CFMachPortCreateRunLoopSourcePtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFMachPortRef,
+              CFIndex)>>('CFMachPortCreateRunLoopSource');
+  late final _CFMachPortCreateRunLoopSource =
+      _CFMachPortCreateRunLoopSourcePtr.asFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFMachPortRef, int)>();
+
+  /// ! @function CFAttributedStringGetTypeID
+  /// Returns the type identifier of all CFAttributedString instances.
+  int CFAttributedStringGetTypeID() {
+    return _CFAttributedStringGetTypeID();
+  }
+
+  late final _CFAttributedStringGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFAttributedStringGetTypeID');
+  late final _CFAttributedStringGetTypeID =
+      _CFAttributedStringGetTypeIDPtr.asFunction<int Function()>();
+
+  /// ! @function CFAttributedStringCreate
+  /// Creates an attributed string with the specified string and attributes (both copied).
+  CFAttributedStringRef CFAttributedStringCreate(
+    CFAllocatorRef alloc,
+    CFStringRef str,
+    CFDictionaryRef attributes,
+  ) {
+    return _CFAttributedStringCreate(
+      alloc,
+      str,
+      attributes,
+    );
+  }
+
+  late final _CFAttributedStringCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFAttributedStringRef Function(CFAllocatorRef, CFStringRef,
+              CFDictionaryRef)>>('CFAttributedStringCreate');
+  late final _CFAttributedStringCreate =
+      _CFAttributedStringCreatePtr.asFunction<
+          CFAttributedStringRef Function(
+              CFAllocatorRef, CFStringRef, CFDictionaryRef)>();
+
+  /// ! @function CFAttributedStringCreateWithSubstring
+  /// Creates a sub-attributed string from the specified range. It's a programming error for range to specify characters outside the bounds of aStr.
+  CFAttributedStringRef CFAttributedStringCreateWithSubstring(
+    CFAllocatorRef alloc,
+    CFAttributedStringRef aStr,
+    CFRange range,
+  ) {
+    return _CFAttributedStringCreateWithSubstring(
+      alloc,
+      aStr,
+      range,
+    );
+  }
+
+  late final _CFAttributedStringCreateWithSubstringPtr = _lookup<
+      ffi.NativeFunction<
+          CFAttributedStringRef Function(CFAllocatorRef, CFAttributedStringRef,
+              CFRange)>>('CFAttributedStringCreateWithSubstring');
+  late final _CFAttributedStringCreateWithSubstring =
+      _CFAttributedStringCreateWithSubstringPtr.asFunction<
+          CFAttributedStringRef Function(
+              CFAllocatorRef, CFAttributedStringRef, CFRange)>();
+
+  /// ! @function CFAttributedStringCreateCopy
+  /// Creates an immutable attributed string copy.
+  CFAttributedStringRef CFAttributedStringCreateCopy(
+    CFAllocatorRef alloc,
+    CFAttributedStringRef aStr,
+  ) {
+    return _CFAttributedStringCreateCopy(
+      alloc,
+      aStr,
+    );
+  }
+
+  late final _CFAttributedStringCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFAttributedStringRef Function(CFAllocatorRef,
+              CFAttributedStringRef)>>('CFAttributedStringCreateCopy');
+  late final _CFAttributedStringCreateCopy =
+      _CFAttributedStringCreateCopyPtr.asFunction<
+          CFAttributedStringRef Function(
+              CFAllocatorRef, CFAttributedStringRef)>();
+
+  /// ! @function CFAttributedStringGetString
+  /// Returns the string for the attributed string. For performance reasons, this will often point at the backing store of the attributed string, and it might change if the attributed string is edited.  However, this is an implementation detail, and definitely not something that should be counted on.
+  CFStringRef CFAttributedStringGetString(
+    CFAttributedStringRef aStr,
+  ) {
+    return _CFAttributedStringGetString(
+      aStr,
+    );
+  }
+
+  late final _CFAttributedStringGetStringPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFAttributedStringRef)>>(
+          'CFAttributedStringGetString');
+  late final _CFAttributedStringGetString = _CFAttributedStringGetStringPtr
+      .asFunction<CFStringRef Function(CFAttributedStringRef)>();
+
+  /// ! @function CFAttributedStringGetLength
+  /// Returns the length of the attributed string in characters; same as CFStringGetLength(CFAttributedStringGetString(aStr))
+  int CFAttributedStringGetLength(
+    CFAttributedStringRef aStr,
+  ) {
+    return _CFAttributedStringGetLength(
+      aStr,
+    );
+  }
+
+  late final _CFAttributedStringGetLengthPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFAttributedStringRef)>>(
+          'CFAttributedStringGetLength');
+  late final _CFAttributedStringGetLength = _CFAttributedStringGetLengthPtr
+      .asFunction<int Function(CFAttributedStringRef)>();
+
+  /// ! @function CFAttributedStringGetAttributes
+  /// Returns the attributes at the specified location. If effectiveRange is not NULL, upon return *effectiveRange contains a range over which the exact same set of attributes apply. Note that for performance reasons, the returned effectiveRange is not necessarily the maximal range - for that, use CFAttributedStringGetAttributesAndLongestEffectiveRange().  It's a programming error for loc to specify a location outside the bounds of the attributed string.
+  ///
+  /// Note that the returned attribute dictionary might change in unpredictable ways from under the caller if the attributed string is edited after this call. If you wish to hang on to the dictionary long-term, you should make an actual copy of it rather than just retaining it.  Also, no assumptions should be made about the relationship of the actual CFDictionaryRef returned by this call and the dictionary originally used to set the attributes, other than the fact that the values stored in the dictionary will be identical (that is, ==) to those originally specified.
+  CFDictionaryRef CFAttributedStringGetAttributes(
+    CFAttributedStringRef aStr,
+    int loc,
+    ffi.Pointer<CFRange> effectiveRange,
+  ) {
+    return _CFAttributedStringGetAttributes(
+      aStr,
+      loc,
+      effectiveRange,
+    );
+  }
+
+  late final _CFAttributedStringGetAttributesPtr = _lookup<
+      ffi.NativeFunction<
+          CFDictionaryRef Function(CFAttributedStringRef, CFIndex,
+              ffi.Pointer<CFRange>)>>('CFAttributedStringGetAttributes');
+  late final _CFAttributedStringGetAttributes =
+      _CFAttributedStringGetAttributesPtr.asFunction<
+          CFDictionaryRef Function(
+              CFAttributedStringRef, int, ffi.Pointer<CFRange>)>();
+
+  /// ! @function CFAttributedStringGetAttribute
+  /// Returns the value of a single attribute at the specified location. If the specified attribute doesn't exist at the location, returns NULL. If effectiveRange is not NULL, upon return *effectiveRange contains a range over which the exact same attribute value applies. Note that for performance reasons, the returned effectiveRange is not necessarily the maximal range - for that, use CFAttributedStringGetAttributeAndLongestEffectiveRange(). It's a programming error for loc to specify a location outside the bounds of the attributed string.
+  CFTypeRef CFAttributedStringGetAttribute(
+    CFAttributedStringRef aStr,
+    int loc,
+    CFStringRef attrName,
+    ffi.Pointer<CFRange> effectiveRange,
+  ) {
+    return _CFAttributedStringGetAttribute(
+      aStr,
+      loc,
+      attrName,
+      effectiveRange,
+    );
+  }
+
+  late final _CFAttributedStringGetAttributePtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFAttributedStringRef, CFIndex, CFStringRef,
+              ffi.Pointer<CFRange>)>>('CFAttributedStringGetAttribute');
+  late final _CFAttributedStringGetAttribute =
+      _CFAttributedStringGetAttributePtr.asFunction<
+          CFTypeRef Function(
+              CFAttributedStringRef, int, CFStringRef, ffi.Pointer<CFRange>)>();
+
+  /// ! @function CFAttributedStringGetAttributesAndLongestEffectiveRange
+  /// Returns the attributes at the specified location. If longestEffectiveRange is not NULL, upon return *longestEffectiveRange contains the maximal range within inRange over which the exact same set of attributes apply. The returned range is clipped to inRange. It's a programming error for loc or inRange to specify locations outside the bounds of the attributed string.
+  CFDictionaryRef CFAttributedStringGetAttributesAndLongestEffectiveRange(
+    CFAttributedStringRef aStr,
+    int loc,
+    CFRange inRange,
+    ffi.Pointer<CFRange> longestEffectiveRange,
+  ) {
+    return _CFAttributedStringGetAttributesAndLongestEffectiveRange(
+      aStr,
+      loc,
+      inRange,
+      longestEffectiveRange,
+    );
+  }
+
+  late final _CFAttributedStringGetAttributesAndLongestEffectiveRangePtr =
+      _lookup<
+              ffi.NativeFunction<
+                  CFDictionaryRef Function(CFAttributedStringRef, CFIndex,
+                      CFRange, ffi.Pointer<CFRange>)>>(
+          'CFAttributedStringGetAttributesAndLongestEffectiveRange');
+  late final _CFAttributedStringGetAttributesAndLongestEffectiveRange =
+      _CFAttributedStringGetAttributesAndLongestEffectiveRangePtr.asFunction<
+          CFDictionaryRef Function(
+              CFAttributedStringRef, int, CFRange, ffi.Pointer<CFRange>)>();
+
+  /// ! @function CFAttributedStringGetAttributeAndLongestEffectiveRange
+  /// Returns the value of a single attribute at the specified location. If longestEffectiveRange is not NULL, upon return *longestEffectiveRange contains the maximal range within inRange over which the exact same attribute value applies. The returned range is clipped to inRange. It's a programming error for loc or inRange to specify locations outside the bounds of the attributed string.
+  CFTypeRef CFAttributedStringGetAttributeAndLongestEffectiveRange(
+    CFAttributedStringRef aStr,
+    int loc,
+    CFStringRef attrName,
+    CFRange inRange,
+    ffi.Pointer<CFRange> longestEffectiveRange,
+  ) {
+    return _CFAttributedStringGetAttributeAndLongestEffectiveRange(
+      aStr,
+      loc,
+      attrName,
+      inRange,
+      longestEffectiveRange,
+    );
+  }
+
+  late final _CFAttributedStringGetAttributeAndLongestEffectiveRangePtr =
+      _lookup<
+              ffi.NativeFunction<
+                  CFTypeRef Function(CFAttributedStringRef, CFIndex,
+                      CFStringRef, CFRange, ffi.Pointer<CFRange>)>>(
+          'CFAttributedStringGetAttributeAndLongestEffectiveRange');
+  late final _CFAttributedStringGetAttributeAndLongestEffectiveRange =
+      _CFAttributedStringGetAttributeAndLongestEffectiveRangePtr.asFunction<
+          CFTypeRef Function(CFAttributedStringRef, int, CFStringRef, CFRange,
+              ffi.Pointer<CFRange>)>();
+
+  /// ! @function CFAttributedStringCreateMutableCopy
+  /// Creates a mutable attributed string copy. maxLength, if not 0, is a hard bound on the length of the attributed string; exceeding this size limit during any editing operation is a programming error. If 0, there is no limit on the length.
+  CFMutableAttributedStringRef CFAttributedStringCreateMutableCopy(
+    CFAllocatorRef alloc,
+    int maxLength,
+    CFAttributedStringRef aStr,
+  ) {
+    return _CFAttributedStringCreateMutableCopy(
+      alloc,
+      maxLength,
+      aStr,
+    );
+  }
+
+  late final _CFAttributedStringCreateMutableCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableAttributedStringRef Function(CFAllocatorRef, CFIndex,
+              CFAttributedStringRef)>>('CFAttributedStringCreateMutableCopy');
+  late final _CFAttributedStringCreateMutableCopy =
+      _CFAttributedStringCreateMutableCopyPtr.asFunction<
+          CFMutableAttributedStringRef Function(
+              CFAllocatorRef, int, CFAttributedStringRef)>();
+
+  /// ! @function CFAttributedStringCreateMutable
+  /// Creates a mutable empty attributed string. maxLength, if not 0, is a hard bound on the length of the attributed string; exceeding this size limit during any editing operation is a programming error. If 0, there is no limit on the length.
+  CFMutableAttributedStringRef CFAttributedStringCreateMutable(
+    CFAllocatorRef alloc,
+    int maxLength,
+  ) {
+    return _CFAttributedStringCreateMutable(
+      alloc,
+      maxLength,
+    );
+  }
+
+  late final _CFAttributedStringCreateMutablePtr = _lookup<
+      ffi.NativeFunction<
+          CFMutableAttributedStringRef Function(
+              CFAllocatorRef, CFIndex)>>('CFAttributedStringCreateMutable');
+  late final _CFAttributedStringCreateMutable =
+      _CFAttributedStringCreateMutablePtr.asFunction<
+          CFMutableAttributedStringRef Function(CFAllocatorRef, int)>();
+
+  /// ! @function CFAttributedStringReplaceString
+  /// Modifies the string for the attributed string, much like CFStringReplace().  It's an error for range to specify characters outside the bounds of aStr.
+  ///
+  /// (Note: This function is a convenience on CFAttributedStringGetMutableString(); however, until CFAttributedStringGetMutableString() is implemented, it remains the only way to edit the string of the attributed string.)
+  void CFAttributedStringReplaceString(
+    CFMutableAttributedStringRef aStr,
+    CFRange range,
+    CFStringRef replacement,
+  ) {
+    return _CFAttributedStringReplaceString(
+      aStr,
+      range,
+      replacement,
+    );
+  }
+
+  late final _CFAttributedStringReplaceStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableAttributedStringRef, CFRange,
+              CFStringRef)>>('CFAttributedStringReplaceString');
+  late final _CFAttributedStringReplaceString =
+      _CFAttributedStringReplaceStringPtr.asFunction<
+          void Function(CFMutableAttributedStringRef, CFRange, CFStringRef)>();
+
+  /// ! @function CFAttributedStringGetMutableString
+  /// Gets the string for the attributed string as a mutable string, allowing editing the character contents of the string as if it were an CFMutableString. Attributes corresponding to the edited range are appropriately modified. If, as a result of the edit, new characters are introduced into the string, they inherit the attributes of the first replaced character from range. If no existing characters are replaced by the edit, the new characters inherit the attributes of the character preceding range if it has any, otherwise of the character following range. If the initial string is empty, the attributes for the new characters are also empty.
+  ///
+  /// (Note: This function is not yet implemented and will return NULL except for toll-free bridged instances.)
+  CFMutableStringRef CFAttributedStringGetMutableString(
+    CFMutableAttributedStringRef aStr,
+  ) {
+    return _CFAttributedStringGetMutableString(
+      aStr,
+    );
+  }
+
+  late final _CFAttributedStringGetMutableStringPtr = _lookup<
+          ffi.NativeFunction<
+              CFMutableStringRef Function(CFMutableAttributedStringRef)>>(
+      'CFAttributedStringGetMutableString');
+  late final _CFAttributedStringGetMutableString =
+      _CFAttributedStringGetMutableStringPtr.asFunction<
+          CFMutableStringRef Function(CFMutableAttributedStringRef)>();
+
+  /// ! @function CFAttributedStringSetAttributes
+  /// Sets the value of multiple attributes over the specified range, which should be valid. If clearOtherAttributes is false, existing attributes (which aren't being replaced) are left alone; otherwise they are cleared. The dictionary should be setup for "usual" CF type usage --- CFString keys, and arbitrary CFType values. Note that after this call, further mutations to the replacement dictionary argument by the caller will not affect the contents of the attributed string.
+  void CFAttributedStringSetAttributes(
+    CFMutableAttributedStringRef aStr,
+    CFRange range,
+    CFDictionaryRef replacement,
+    int clearOtherAttributes,
+  ) {
+    return _CFAttributedStringSetAttributes(
+      aStr,
+      range,
+      replacement,
+      clearOtherAttributes,
+    );
+  }
+
+  late final _CFAttributedStringSetAttributesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableAttributedStringRef, CFRange,
+              CFDictionaryRef, Boolean)>>('CFAttributedStringSetAttributes');
+  late final _CFAttributedStringSetAttributes =
+      _CFAttributedStringSetAttributesPtr.asFunction<
+          void Function(
+              CFMutableAttributedStringRef, CFRange, CFDictionaryRef, int)>();
+
+  /// ! @function CFAttributedStringSetAttribute
+  /// Sets the value of a single attribute over the specified range, which should be valid. value should not be NULL.
+  void CFAttributedStringSetAttribute(
+    CFMutableAttributedStringRef aStr,
+    CFRange range,
+    CFStringRef attrName,
+    CFTypeRef value,
+  ) {
+    return _CFAttributedStringSetAttribute(
+      aStr,
+      range,
+      attrName,
+      value,
+    );
+  }
+
+  late final _CFAttributedStringSetAttributePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableAttributedStringRef, CFRange, CFStringRef,
+              CFTypeRef)>>('CFAttributedStringSetAttribute');
+  late final _CFAttributedStringSetAttribute =
+      _CFAttributedStringSetAttributePtr.asFunction<
+          void Function(
+              CFMutableAttributedStringRef, CFRange, CFStringRef, CFTypeRef)>();
+
+  /// ! @function CFAttributedStringRemoveAttribute
+  /// Removes the value of a single attribute over the specified range, which should be valid. It's OK for the attribute not the exist over the specified range.
+  void CFAttributedStringRemoveAttribute(
+    CFMutableAttributedStringRef aStr,
+    CFRange range,
+    CFStringRef attrName,
+  ) {
+    return _CFAttributedStringRemoveAttribute(
+      aStr,
+      range,
+      attrName,
+    );
+  }
+
+  late final _CFAttributedStringRemoveAttributePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFMutableAttributedStringRef, CFRange,
+              CFStringRef)>>('CFAttributedStringRemoveAttribute');
+  late final _CFAttributedStringRemoveAttribute =
+      _CFAttributedStringRemoveAttributePtr.asFunction<
+          void Function(CFMutableAttributedStringRef, CFRange, CFStringRef)>();
+
+  /// ! @function CFAttributedStringReplaceAttributedString
+  /// Replaces the attributed substring over the specified range with the attributed string specified in replacement. range should be valid. To delete a range of the attributed string, call CFAttributedStringReplaceString() with empty string and specified range.
+  void CFAttributedStringReplaceAttributedString(
+    CFMutableAttributedStringRef aStr,
+    CFRange range,
+    CFAttributedStringRef replacement,
+  ) {
+    return _CFAttributedStringReplaceAttributedString(
+      aStr,
+      range,
+      replacement,
+    );
+  }
+
+  late final _CFAttributedStringReplaceAttributedStringPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(CFMutableAttributedStringRef, CFRange,
+                  CFAttributedStringRef)>>(
+      'CFAttributedStringReplaceAttributedString');
+  late final _CFAttributedStringReplaceAttributedString =
+      _CFAttributedStringReplaceAttributedStringPtr.asFunction<
+          void Function(
+              CFMutableAttributedStringRef, CFRange, CFAttributedStringRef)>();
+
+  /// ! @function CFAttributedStringBeginEditing
+  /// In cases where attributed string might do a bunch of work to assure self-consistency, CFAttributedStringBeginEditing/CFAttributedStringEndEditing allow disabling that to allow deferring and coalescing any work. It's a good idea to call these around a set of related mutation calls which don't require the string to be in consistent state in between. These calls can be nested.
+  void CFAttributedStringBeginEditing(
+    CFMutableAttributedStringRef aStr,
+  ) {
+    return _CFAttributedStringBeginEditing(
+      aStr,
+    );
+  }
+
+  late final _CFAttributedStringBeginEditingPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFMutableAttributedStringRef)>>(
+      'CFAttributedStringBeginEditing');
+  late final _CFAttributedStringBeginEditing =
+      _CFAttributedStringBeginEditingPtr.asFunction<
+          void Function(CFMutableAttributedStringRef)>();
+
+  /// ! @function CFAttributedStringEndEditing
+  /// In cases where attributed string might do a bunch of work to assure self-consistency, CFAttributedStringBeginEditing/CFAttributedStringEndEditing allow disabling that to allow deferring and coalescing any work. It's a good idea to call these around a set of related mutation calls which don't require the string to be in consistent state in between. These calls can be nested.
+  void CFAttributedStringEndEditing(
+    CFMutableAttributedStringRef aStr,
+  ) {
+    return _CFAttributedStringEndEditing(
+      aStr,
+    );
+  }
+
+  late final _CFAttributedStringEndEditingPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFMutableAttributedStringRef)>>(
+      'CFAttributedStringEndEditing');
+  late final _CFAttributedStringEndEditing = _CFAttributedStringEndEditingPtr
+      .asFunction<void Function(CFMutableAttributedStringRef)>();
+
+  int CFURLEnumeratorGetTypeID() {
+    return _CFURLEnumeratorGetTypeID();
+  }
+
+  late final _CFURLEnumeratorGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFURLEnumeratorGetTypeID');
+  late final _CFURLEnumeratorGetTypeID =
+      _CFURLEnumeratorGetTypeIDPtr.asFunction<int Function()>();
+
+  CFURLEnumeratorRef CFURLEnumeratorCreateForDirectoryURL(
+    CFAllocatorRef alloc,
+    CFURLRef directoryURL,
+    int option,
+    CFArrayRef propertyKeys,
+  ) {
+    return _CFURLEnumeratorCreateForDirectoryURL(
+      alloc,
+      directoryURL,
+      option,
+      propertyKeys,
+    );
+  }
+
+  late final _CFURLEnumeratorCreateForDirectoryURLPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLEnumeratorRef Function(CFAllocatorRef, CFURLRef, ffi.Int32,
+              CFArrayRef)>>('CFURLEnumeratorCreateForDirectoryURL');
+  late final _CFURLEnumeratorCreateForDirectoryURL =
+      _CFURLEnumeratorCreateForDirectoryURLPtr.asFunction<
+          CFURLEnumeratorRef Function(
+              CFAllocatorRef, CFURLRef, int, CFArrayRef)>();
+
+  CFURLEnumeratorRef CFURLEnumeratorCreateForMountedVolumes(
+    CFAllocatorRef alloc,
+    int option,
+    CFArrayRef propertyKeys,
+  ) {
+    return _CFURLEnumeratorCreateForMountedVolumes(
+      alloc,
+      option,
+      propertyKeys,
+    );
+  }
+
+  late final _CFURLEnumeratorCreateForMountedVolumesPtr = _lookup<
+      ffi.NativeFunction<
+          CFURLEnumeratorRef Function(CFAllocatorRef, ffi.Int32,
+              CFArrayRef)>>('CFURLEnumeratorCreateForMountedVolumes');
+  late final _CFURLEnumeratorCreateForMountedVolumes =
+      _CFURLEnumeratorCreateForMountedVolumesPtr.asFunction<
+          CFURLEnumeratorRef Function(CFAllocatorRef, int, CFArrayRef)>();
+
+  int CFURLEnumeratorGetNextURL(
+    CFURLEnumeratorRef enumerator,
+    ffi.Pointer<CFURLRef> url,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFURLEnumeratorGetNextURL(
+      enumerator,
+      url,
+      error,
+    );
+  }
+
+  late final _CFURLEnumeratorGetNextURLPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(CFURLEnumeratorRef, ffi.Pointer<CFURLRef>,
+              ffi.Pointer<CFErrorRef>)>>('CFURLEnumeratorGetNextURL');
+  late final _CFURLEnumeratorGetNextURL =
+      _CFURLEnumeratorGetNextURLPtr.asFunction<
+          int Function(CFURLEnumeratorRef, ffi.Pointer<CFURLRef>,
+              ffi.Pointer<CFErrorRef>)>();
+
+  void CFURLEnumeratorSkipDescendents(
+    CFURLEnumeratorRef enumerator,
+  ) {
+    return _CFURLEnumeratorSkipDescendents(
+      enumerator,
+    );
+  }
+
+  late final _CFURLEnumeratorSkipDescendentsPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFURLEnumeratorRef)>>(
+          'CFURLEnumeratorSkipDescendents');
+  late final _CFURLEnumeratorSkipDescendents =
+      _CFURLEnumeratorSkipDescendentsPtr.asFunction<
+          void Function(CFURLEnumeratorRef)>();
+
+  int CFURLEnumeratorGetDescendentLevel(
+    CFURLEnumeratorRef enumerator,
+  ) {
+    return _CFURLEnumeratorGetDescendentLevel(
+      enumerator,
+    );
+  }
+
+  late final _CFURLEnumeratorGetDescendentLevelPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFURLEnumeratorRef)>>(
+          'CFURLEnumeratorGetDescendentLevel');
+  late final _CFURLEnumeratorGetDescendentLevel =
+      _CFURLEnumeratorGetDescendentLevelPtr.asFunction<
+          int Function(CFURLEnumeratorRef)>();
+
+  int CFURLEnumeratorGetSourceDidChange(
+    CFURLEnumeratorRef enumerator,
+  ) {
+    return _CFURLEnumeratorGetSourceDidChange(
+      enumerator,
+    );
+  }
+
+  late final _CFURLEnumeratorGetSourceDidChangePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFURLEnumeratorRef)>>(
+          'CFURLEnumeratorGetSourceDidChange');
+  late final _CFURLEnumeratorGetSourceDidChange =
+      _CFURLEnumeratorGetSourceDidChangePtr.asFunction<
+          int Function(CFURLEnumeratorRef)>();
+
+  acl_t acl_dup(
+    acl_t acl,
+  ) {
+    return _acl_dup(
+      acl,
+    );
+  }
+
+  late final _acl_dupPtr =
+      _lookup<ffi.NativeFunction<acl_t Function(acl_t)>>('acl_dup');
+  late final _acl_dup = _acl_dupPtr.asFunction<acl_t Function(acl_t)>();
+
+  int acl_free(
+    ffi.Pointer<ffi.Void> obj_p,
+  ) {
+    return _acl_free(
+      obj_p,
+    );
+  }
+
+  late final _acl_freePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>)>>(
+          'acl_free');
+  late final _acl_free =
+      _acl_freePtr.asFunction<int Function(ffi.Pointer<ffi.Void>)>();
+
+  acl_t acl_init(
+    int count,
+  ) {
+    return _acl_init(
+      count,
+    );
+  }
+
+  late final _acl_initPtr =
+      _lookup<ffi.NativeFunction<acl_t Function(ffi.Int)>>('acl_init');
+  late final _acl_init = _acl_initPtr.asFunction<acl_t Function(int)>();
+
+  int acl_copy_entry(
+    acl_entry_t dest_d,
+    acl_entry_t src_d,
+  ) {
+    return _acl_copy_entry(
+      dest_d,
+      src_d,
+    );
+  }
+
+  late final _acl_copy_entryPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_entry_t, acl_entry_t)>>(
+          'acl_copy_entry');
+  late final _acl_copy_entry =
+      _acl_copy_entryPtr.asFunction<int Function(acl_entry_t, acl_entry_t)>();
+
+  int acl_create_entry(
+    ffi.Pointer<acl_t> acl_p,
+    ffi.Pointer<acl_entry_t> entry_p,
+  ) {
+    return _acl_create_entry(
+      acl_p,
+      entry_p,
+    );
+  }
+
+  late final _acl_create_entryPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<acl_t>,
+              ffi.Pointer<acl_entry_t>)>>('acl_create_entry');
+  late final _acl_create_entry = _acl_create_entryPtr
+      .asFunction<int Function(ffi.Pointer<acl_t>, ffi.Pointer<acl_entry_t>)>();
+
+  int acl_create_entry_np(
+    ffi.Pointer<acl_t> acl_p,
+    ffi.Pointer<acl_entry_t> entry_p,
+    int entry_index,
+  ) {
+    return _acl_create_entry_np(
+      acl_p,
+      entry_p,
+      entry_index,
+    );
+  }
+
+  late final _acl_create_entry_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<acl_t>, ffi.Pointer<acl_entry_t>,
+              ffi.Int)>>('acl_create_entry_np');
+  late final _acl_create_entry_np = _acl_create_entry_npPtr.asFunction<
+      int Function(ffi.Pointer<acl_t>, ffi.Pointer<acl_entry_t>, int)>();
+
+  int acl_delete_entry(
+    acl_t acl,
+    acl_entry_t entry_d,
+  ) {
+    return _acl_delete_entry(
+      acl,
+      entry_d,
+    );
+  }
+
+  late final _acl_delete_entryPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_t, acl_entry_t)>>(
+          'acl_delete_entry');
+  late final _acl_delete_entry =
+      _acl_delete_entryPtr.asFunction<int Function(acl_t, acl_entry_t)>();
+
+  int acl_get_entry(
+    acl_t acl,
+    int entry_id,
+    ffi.Pointer<acl_entry_t> entry_p,
+  ) {
+    return _acl_get_entry(
+      acl,
+      entry_id,
+      entry_p,
+    );
+  }
+
+  late final _acl_get_entryPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              acl_t, ffi.Int, ffi.Pointer<acl_entry_t>)>>('acl_get_entry');
+  late final _acl_get_entry = _acl_get_entryPtr
+      .asFunction<int Function(acl_t, int, ffi.Pointer<acl_entry_t>)>();
+
+  int acl_valid(
+    acl_t acl,
+  ) {
+    return _acl_valid(
+      acl,
+    );
+  }
+
+  late final _acl_validPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_t)>>('acl_valid');
+  late final _acl_valid = _acl_validPtr.asFunction<int Function(acl_t)>();
+
+  int acl_valid_fd_np(
+    int fd,
+    int type,
+    acl_t acl,
+  ) {
+    return _acl_valid_fd_np(
+      fd,
+      type,
+      acl,
+    );
+  }
+
+  late final _acl_valid_fd_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int32, acl_t)>>(
+          'acl_valid_fd_np');
+  late final _acl_valid_fd_np =
+      _acl_valid_fd_npPtr.asFunction<int Function(int, int, acl_t)>();
+
+  int acl_valid_file_np(
+    ffi.Pointer<ffi.Char> path,
+    int type,
+    acl_t acl,
+  ) {
+    return _acl_valid_file_np(
+      path,
+      type,
+      acl,
+    );
+  }
+
+  late final _acl_valid_file_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Int32, acl_t)>>('acl_valid_file_np');
+  late final _acl_valid_file_np = _acl_valid_file_npPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, acl_t)>();
+
+  int acl_valid_link_np(
+    ffi.Pointer<ffi.Char> path,
+    int type,
+    acl_t acl,
+  ) {
+    return _acl_valid_link_np(
+      path,
+      type,
+      acl,
+    );
+  }
+
+  late final _acl_valid_link_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Int32, acl_t)>>('acl_valid_link_np');
+  late final _acl_valid_link_np = _acl_valid_link_npPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, acl_t)>();
+
+  int acl_add_perm(
+    acl_permset_t permset_d,
+    int perm,
+  ) {
+    return _acl_add_perm(
+      permset_d,
+      perm,
+    );
+  }
+
+  late final _acl_add_permPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_permset_t, ffi.Int32)>>(
+          'acl_add_perm');
+  late final _acl_add_perm =
+      _acl_add_permPtr.asFunction<int Function(acl_permset_t, int)>();
+
+  int acl_calc_mask(
+    ffi.Pointer<acl_t> acl_p,
+  ) {
+    return _acl_calc_mask(
+      acl_p,
+    );
+  }
+
+  late final _acl_calc_maskPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<acl_t>)>>(
+          'acl_calc_mask');
+  late final _acl_calc_mask =
+      _acl_calc_maskPtr.asFunction<int Function(ffi.Pointer<acl_t>)>();
+
+  int acl_clear_perms(
+    acl_permset_t permset_d,
+  ) {
+    return _acl_clear_perms(
+      permset_d,
+    );
+  }
+
+  late final _acl_clear_permsPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_permset_t)>>(
+          'acl_clear_perms');
+  late final _acl_clear_perms =
+      _acl_clear_permsPtr.asFunction<int Function(acl_permset_t)>();
+
+  int acl_delete_perm(
+    acl_permset_t permset_d,
+    int perm,
+  ) {
+    return _acl_delete_perm(
+      permset_d,
+      perm,
+    );
+  }
+
+  late final _acl_delete_permPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_permset_t, ffi.Int32)>>(
+          'acl_delete_perm');
+  late final _acl_delete_perm =
+      _acl_delete_permPtr.asFunction<int Function(acl_permset_t, int)>();
+
+  int acl_get_perm_np(
+    acl_permset_t permset_d,
+    int perm,
+  ) {
+    return _acl_get_perm_np(
+      permset_d,
+      perm,
+    );
+  }
+
+  late final _acl_get_perm_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_permset_t, ffi.Int32)>>(
+          'acl_get_perm_np');
+  late final _acl_get_perm_np =
+      _acl_get_perm_npPtr.asFunction<int Function(acl_permset_t, int)>();
+
+  int acl_get_permset(
+    acl_entry_t entry_d,
+    ffi.Pointer<acl_permset_t> permset_p,
+  ) {
+    return _acl_get_permset(
+      entry_d,
+      permset_p,
+    );
+  }
+
+  late final _acl_get_permsetPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              acl_entry_t, ffi.Pointer<acl_permset_t>)>>('acl_get_permset');
+  late final _acl_get_permset = _acl_get_permsetPtr
+      .asFunction<int Function(acl_entry_t, ffi.Pointer<acl_permset_t>)>();
+
+  int acl_set_permset(
+    acl_entry_t entry_d,
+    acl_permset_t permset_d,
+  ) {
+    return _acl_set_permset(
+      entry_d,
+      permset_d,
+    );
+  }
+
+  late final _acl_set_permsetPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_entry_t, acl_permset_t)>>(
+          'acl_set_permset');
+  late final _acl_set_permset = _acl_set_permsetPtr
+      .asFunction<int Function(acl_entry_t, acl_permset_t)>();
+
+  int acl_maximal_permset_mask_np(
+    ffi.Pointer<acl_permset_mask_t> mask_p,
+  ) {
+    return _acl_maximal_permset_mask_np(
+      mask_p,
+    );
+  }
+
+  late final _acl_maximal_permset_mask_npPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<acl_permset_mask_t>)>>(
+      'acl_maximal_permset_mask_np');
+  late final _acl_maximal_permset_mask_np = _acl_maximal_permset_mask_npPtr
+      .asFunction<int Function(ffi.Pointer<acl_permset_mask_t>)>();
+
+  int acl_get_permset_mask_np(
+    acl_entry_t entry_d,
+    ffi.Pointer<acl_permset_mask_t> mask_p,
+  ) {
+    return _acl_get_permset_mask_np(
+      entry_d,
+      mask_p,
+    );
+  }
+
+  late final _acl_get_permset_mask_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(acl_entry_t,
+              ffi.Pointer<acl_permset_mask_t>)>>('acl_get_permset_mask_np');
+  late final _acl_get_permset_mask_np = _acl_get_permset_mask_npPtr
+      .asFunction<int Function(acl_entry_t, ffi.Pointer<acl_permset_mask_t>)>();
+
+  int acl_set_permset_mask_np(
+    acl_entry_t entry_d,
+    int mask,
+  ) {
+    return _acl_set_permset_mask_np(
+      entry_d,
+      mask,
+    );
+  }
+
+  late final _acl_set_permset_mask_npPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(acl_entry_t, acl_permset_mask_t)>>(
+      'acl_set_permset_mask_np');
+  late final _acl_set_permset_mask_np =
+      _acl_set_permset_mask_npPtr.asFunction<int Function(acl_entry_t, int)>();
+
+  int acl_add_flag_np(
+    acl_flagset_t flagset_d,
+    int flag,
+  ) {
+    return _acl_add_flag_np(
+      flagset_d,
+      flag,
+    );
+  }
+
+  late final _acl_add_flag_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_flagset_t, ffi.Int32)>>(
+          'acl_add_flag_np');
+  late final _acl_add_flag_np =
+      _acl_add_flag_npPtr.asFunction<int Function(acl_flagset_t, int)>();
+
+  int acl_clear_flags_np(
+    acl_flagset_t flagset_d,
+  ) {
+    return _acl_clear_flags_np(
+      flagset_d,
+    );
+  }
+
+  late final _acl_clear_flags_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_flagset_t)>>(
+          'acl_clear_flags_np');
+  late final _acl_clear_flags_np =
+      _acl_clear_flags_npPtr.asFunction<int Function(acl_flagset_t)>();
+
+  int acl_delete_flag_np(
+    acl_flagset_t flagset_d,
+    int flag,
+  ) {
+    return _acl_delete_flag_np(
+      flagset_d,
+      flag,
+    );
+  }
+
+  late final _acl_delete_flag_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_flagset_t, ffi.Int32)>>(
+          'acl_delete_flag_np');
+  late final _acl_delete_flag_np =
+      _acl_delete_flag_npPtr.asFunction<int Function(acl_flagset_t, int)>();
+
+  int acl_get_flag_np(
+    acl_flagset_t flagset_d,
+    int flag,
+  ) {
+    return _acl_get_flag_np(
+      flagset_d,
+      flag,
+    );
+  }
+
+  late final _acl_get_flag_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_flagset_t, ffi.Int32)>>(
+          'acl_get_flag_np');
+  late final _acl_get_flag_np =
+      _acl_get_flag_npPtr.asFunction<int Function(acl_flagset_t, int)>();
+
+  int acl_get_flagset_np(
+    ffi.Pointer<ffi.Void> obj_p,
+    ffi.Pointer<acl_flagset_t> flagset_p,
+  ) {
+    return _acl_get_flagset_np(
+      obj_p,
+      flagset_p,
+    );
+  }
+
+  late final _acl_get_flagset_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>,
+              ffi.Pointer<acl_flagset_t>)>>('acl_get_flagset_np');
+  late final _acl_get_flagset_np = _acl_get_flagset_npPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<acl_flagset_t>)>();
+
+  int acl_set_flagset_np(
+    ffi.Pointer<ffi.Void> obj_p,
+    acl_flagset_t flagset_d,
+  ) {
+    return _acl_set_flagset_np(
+      obj_p,
+      flagset_d,
+    );
+  }
+
+  late final _acl_set_flagset_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, acl_flagset_t)>>('acl_set_flagset_np');
+  late final _acl_set_flagset_np = _acl_set_flagset_npPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Void>, acl_flagset_t)>();
+
+  ffi.Pointer<ffi.Void> acl_get_qualifier(
+    acl_entry_t entry_d,
+  ) {
+    return _acl_get_qualifier(
+      entry_d,
+    );
+  }
+
+  late final _acl_get_qualifierPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(acl_entry_t)>>(
+          'acl_get_qualifier');
+  late final _acl_get_qualifier = _acl_get_qualifierPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(acl_entry_t)>();
+
+  int acl_get_tag_type(
+    acl_entry_t entry_d,
+    ffi.Pointer<ffi.Int32> tag_type_p,
+  ) {
+    return _acl_get_tag_type(
+      entry_d,
+      tag_type_p,
+    );
+  }
+
+  late final _acl_get_tag_typePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              acl_entry_t, ffi.Pointer<ffi.Int32>)>>('acl_get_tag_type');
+  late final _acl_get_tag_type = _acl_get_tag_typePtr
+      .asFunction<int Function(acl_entry_t, ffi.Pointer<ffi.Int32>)>();
+
+  int acl_set_qualifier(
+    acl_entry_t entry_d,
+    ffi.Pointer<ffi.Void> tag_qualifier_p,
+  ) {
+    return _acl_set_qualifier(
+      entry_d,
+      tag_qualifier_p,
+    );
+  }
+
+  late final _acl_set_qualifierPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              acl_entry_t, ffi.Pointer<ffi.Void>)>>('acl_set_qualifier');
+  late final _acl_set_qualifier = _acl_set_qualifierPtr
+      .asFunction<int Function(acl_entry_t, ffi.Pointer<ffi.Void>)>();
+
+  int acl_set_tag_type(
+    acl_entry_t entry_d,
+    int tag_type,
+  ) {
+    return _acl_set_tag_type(
+      entry_d,
+      tag_type,
+    );
+  }
+
+  late final _acl_set_tag_typePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(acl_entry_t, ffi.Int32)>>(
+          'acl_set_tag_type');
+  late final _acl_set_tag_type =
+      _acl_set_tag_typePtr.asFunction<int Function(acl_entry_t, int)>();
+
+  int acl_delete_def_file(
+    ffi.Pointer<ffi.Char> path_p,
+  ) {
+    return _acl_delete_def_file(
+      path_p,
+    );
+  }
+
+  late final _acl_delete_def_filePtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'acl_delete_def_file');
+  late final _acl_delete_def_file =
+      _acl_delete_def_filePtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  acl_t acl_get_fd(
+    int fd,
+  ) {
+    return _acl_get_fd(
+      fd,
+    );
+  }
+
+  late final _acl_get_fdPtr =
+      _lookup<ffi.NativeFunction<acl_t Function(ffi.Int)>>('acl_get_fd');
+  late final _acl_get_fd = _acl_get_fdPtr.asFunction<acl_t Function(int)>();
+
+  acl_t acl_get_fd_np(
+    int fd,
+    int type,
+  ) {
+    return _acl_get_fd_np(
+      fd,
+      type,
+    );
+  }
+
+  late final _acl_get_fd_npPtr =
+      _lookup<ffi.NativeFunction<acl_t Function(ffi.Int, ffi.Int32)>>(
+          'acl_get_fd_np');
+  late final _acl_get_fd_np =
+      _acl_get_fd_npPtr.asFunction<acl_t Function(int, int)>();
+
+  acl_t acl_get_file(
+    ffi.Pointer<ffi.Char> path_p,
+    int type,
+  ) {
+    return _acl_get_file(
+      path_p,
+      type,
+    );
+  }
+
+  late final _acl_get_filePtr = _lookup<
+          ffi.NativeFunction<acl_t Function(ffi.Pointer<ffi.Char>, ffi.Int32)>>(
+      'acl_get_file');
+  late final _acl_get_file =
+      _acl_get_filePtr.asFunction<acl_t Function(ffi.Pointer<ffi.Char>, int)>();
+
+  acl_t acl_get_link_np(
+    ffi.Pointer<ffi.Char> path_p,
+    int type,
+  ) {
+    return _acl_get_link_np(
+      path_p,
+      type,
+    );
+  }
+
+  late final _acl_get_link_npPtr = _lookup<
+          ffi.NativeFunction<acl_t Function(ffi.Pointer<ffi.Char>, ffi.Int32)>>(
+      'acl_get_link_np');
+  late final _acl_get_link_np = _acl_get_link_npPtr
+      .asFunction<acl_t Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int acl_set_fd(
+    int fd,
+    acl_t acl,
+  ) {
+    return _acl_set_fd(
+      fd,
+      acl,
+    );
+  }
+
+  late final _acl_set_fdPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, acl_t)>>(
+          'acl_set_fd');
+  late final _acl_set_fd =
+      _acl_set_fdPtr.asFunction<int Function(int, acl_t)>();
+
+  int acl_set_fd_np(
+    int fd,
+    acl_t acl,
+    int acl_type,
+  ) {
+    return _acl_set_fd_np(
+      fd,
+      acl,
+      acl_type,
+    );
+  }
+
+  late final _acl_set_fd_npPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, acl_t, ffi.Int32)>>(
+          'acl_set_fd_np');
+  late final _acl_set_fd_np =
+      _acl_set_fd_npPtr.asFunction<int Function(int, acl_t, int)>();
+
+  int acl_set_file(
+    ffi.Pointer<ffi.Char> path_p,
+    int type,
+    acl_t acl,
+  ) {
+    return _acl_set_file(
+      path_p,
+      type,
+      acl,
+    );
+  }
+
+  late final _acl_set_filePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Int32, acl_t)>>('acl_set_file');
+  late final _acl_set_file = _acl_set_filePtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, acl_t)>();
+
+  int acl_set_link_np(
+    ffi.Pointer<ffi.Char> path_p,
+    int type,
+    acl_t acl,
+  ) {
+    return _acl_set_link_np(
+      path_p,
+      type,
+      acl,
+    );
+  }
+
+  late final _acl_set_link_npPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>, ffi.Int32, acl_t)>>('acl_set_link_np');
+  late final _acl_set_link_np = _acl_set_link_npPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Char>, int, acl_t)>();
+
+  int acl_copy_ext(
+    ffi.Pointer<ffi.Void> buf_p,
+    acl_t acl,
+    int size,
+  ) {
+    return _acl_copy_ext(
+      buf_p,
+      acl,
+      size,
+    );
+  }
+
+  late final _acl_copy_extPtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(
+              ffi.Pointer<ffi.Void>, acl_t, ssize_t)>>('acl_copy_ext');
+  late final _acl_copy_ext = _acl_copy_extPtr
+      .asFunction<int Function(ffi.Pointer<ffi.Void>, acl_t, int)>();
+
+  int acl_copy_ext_native(
+    ffi.Pointer<ffi.Void> buf_p,
+    acl_t acl,
+    int size,
+  ) {
+    return _acl_copy_ext_native(
+      buf_p,
+      acl,
+      size,
+    );
+  }
+
+  late final _acl_copy_ext_nativePtr = _lookup<
+      ffi.NativeFunction<
+          ssize_t Function(
+              ffi.Pointer<ffi.Void>, acl_t, ssize_t)>>('acl_copy_ext_native');
+  late final _acl_copy_ext_native = _acl_copy_ext_nativePtr
+      .asFunction<int Function(ffi.Pointer<ffi.Void>, acl_t, int)>();
+
+  acl_t acl_copy_int(
+    ffi.Pointer<ffi.Void> buf_p,
+  ) {
+    return _acl_copy_int(
+      buf_p,
+    );
+  }
+
+  late final _acl_copy_intPtr =
+      _lookup<ffi.NativeFunction<acl_t Function(ffi.Pointer<ffi.Void>)>>(
+          'acl_copy_int');
+  late final _acl_copy_int =
+      _acl_copy_intPtr.asFunction<acl_t Function(ffi.Pointer<ffi.Void>)>();
+
+  acl_t acl_copy_int_native(
+    ffi.Pointer<ffi.Void> buf_p,
+  ) {
+    return _acl_copy_int_native(
+      buf_p,
+    );
+  }
+
+  late final _acl_copy_int_nativePtr =
+      _lookup<ffi.NativeFunction<acl_t Function(ffi.Pointer<ffi.Void>)>>(
+          'acl_copy_int_native');
+  late final _acl_copy_int_native = _acl_copy_int_nativePtr
+      .asFunction<acl_t Function(ffi.Pointer<ffi.Void>)>();
+
+  acl_t acl_from_text(
+    ffi.Pointer<ffi.Char> buf_p,
+  ) {
+    return _acl_from_text(
+      buf_p,
+    );
+  }
+
+  late final _acl_from_textPtr =
+      _lookup<ffi.NativeFunction<acl_t Function(ffi.Pointer<ffi.Char>)>>(
+          'acl_from_text');
+  late final _acl_from_text =
+      _acl_from_textPtr.asFunction<acl_t Function(ffi.Pointer<ffi.Char>)>();
+
+  int acl_size(
+    acl_t acl,
+  ) {
+    return _acl_size(
+      acl,
+    );
+  }
+
+  late final _acl_sizePtr =
+      _lookup<ffi.NativeFunction<ssize_t Function(acl_t)>>('acl_size');
+  late final _acl_size = _acl_sizePtr.asFunction<int Function(acl_t)>();
+
+  ffi.Pointer<ffi.Char> acl_to_text(
+    acl_t acl,
+    ffi.Pointer<ssize_t> len_p,
+  ) {
+    return _acl_to_text(
+      acl,
+      len_p,
+    );
+  }
+
+  late final _acl_to_textPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              acl_t, ffi.Pointer<ssize_t>)>>('acl_to_text');
+  late final _acl_to_text = _acl_to_textPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(acl_t, ffi.Pointer<ssize_t>)>();
+
+  int CFFileSecurityGetTypeID() {
+    return _CFFileSecurityGetTypeID();
+  }
+
+  late final _CFFileSecurityGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFFileSecurityGetTypeID');
+  late final _CFFileSecurityGetTypeID =
+      _CFFileSecurityGetTypeIDPtr.asFunction<int Function()>();
+
+  CFFileSecurityRef CFFileSecurityCreate(
+    CFAllocatorRef allocator,
+  ) {
+    return _CFFileSecurityCreate(
+      allocator,
+    );
+  }
+
+  late final _CFFileSecurityCreatePtr =
+      _lookup<ffi.NativeFunction<CFFileSecurityRef Function(CFAllocatorRef)>>(
+          'CFFileSecurityCreate');
+  late final _CFFileSecurityCreate = _CFFileSecurityCreatePtr.asFunction<
+      CFFileSecurityRef Function(CFAllocatorRef)>();
+
+  CFFileSecurityRef CFFileSecurityCreateCopy(
+    CFAllocatorRef allocator,
+    CFFileSecurityRef fileSec,
+  ) {
+    return _CFFileSecurityCreateCopy(
+      allocator,
+      fileSec,
+    );
+  }
+
+  late final _CFFileSecurityCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFFileSecurityRef Function(
+              CFAllocatorRef, CFFileSecurityRef)>>('CFFileSecurityCreateCopy');
+  late final _CFFileSecurityCreateCopy =
+      _CFFileSecurityCreateCopyPtr.asFunction<
+          CFFileSecurityRef Function(CFAllocatorRef, CFFileSecurityRef)>();
+
+  int CFFileSecurityCopyOwnerUUID(
+    CFFileSecurityRef fileSec,
+    ffi.Pointer<CFUUIDRef> ownerUUID,
+  ) {
+    return _CFFileSecurityCopyOwnerUUID(
+      fileSec,
+      ownerUUID,
+    );
+  }
+
+  late final _CFFileSecurityCopyOwnerUUIDPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFFileSecurityRef,
+              ffi.Pointer<CFUUIDRef>)>>('CFFileSecurityCopyOwnerUUID');
+  late final _CFFileSecurityCopyOwnerUUID = _CFFileSecurityCopyOwnerUUIDPtr
+      .asFunction<int Function(CFFileSecurityRef, ffi.Pointer<CFUUIDRef>)>();
+
+  int CFFileSecuritySetOwnerUUID(
+    CFFileSecurityRef fileSec,
+    CFUUIDRef ownerUUID,
+  ) {
+    return _CFFileSecuritySetOwnerUUID(
+      fileSec,
+      ownerUUID,
+    );
+  }
+
+  late final _CFFileSecuritySetOwnerUUIDPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFFileSecurityRef, CFUUIDRef)>>(
+      'CFFileSecuritySetOwnerUUID');
+  late final _CFFileSecuritySetOwnerUUID = _CFFileSecuritySetOwnerUUIDPtr
+      .asFunction<int Function(CFFileSecurityRef, CFUUIDRef)>();
+
+  int CFFileSecurityCopyGroupUUID(
+    CFFileSecurityRef fileSec,
+    ffi.Pointer<CFUUIDRef> groupUUID,
+  ) {
+    return _CFFileSecurityCopyGroupUUID(
+      fileSec,
+      groupUUID,
+    );
+  }
+
+  late final _CFFileSecurityCopyGroupUUIDPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFFileSecurityRef,
+              ffi.Pointer<CFUUIDRef>)>>('CFFileSecurityCopyGroupUUID');
+  late final _CFFileSecurityCopyGroupUUID = _CFFileSecurityCopyGroupUUIDPtr
+      .asFunction<int Function(CFFileSecurityRef, ffi.Pointer<CFUUIDRef>)>();
+
+  int CFFileSecuritySetGroupUUID(
+    CFFileSecurityRef fileSec,
+    CFUUIDRef groupUUID,
+  ) {
+    return _CFFileSecuritySetGroupUUID(
+      fileSec,
+      groupUUID,
+    );
+  }
+
+  late final _CFFileSecuritySetGroupUUIDPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFFileSecurityRef, CFUUIDRef)>>(
+      'CFFileSecuritySetGroupUUID');
+  late final _CFFileSecuritySetGroupUUID = _CFFileSecuritySetGroupUUIDPtr
+      .asFunction<int Function(CFFileSecurityRef, CFUUIDRef)>();
+
+  int CFFileSecurityCopyAccessControlList(
+    CFFileSecurityRef fileSec,
+    ffi.Pointer<acl_t> accessControlList,
+  ) {
+    return _CFFileSecurityCopyAccessControlList(
+      fileSec,
+      accessControlList,
+    );
+  }
+
+  late final _CFFileSecurityCopyAccessControlListPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFFileSecurityRef,
+              ffi.Pointer<acl_t>)>>('CFFileSecurityCopyAccessControlList');
+  late final _CFFileSecurityCopyAccessControlList =
+      _CFFileSecurityCopyAccessControlListPtr.asFunction<
+          int Function(CFFileSecurityRef, ffi.Pointer<acl_t>)>();
+
+  int CFFileSecuritySetAccessControlList(
+    CFFileSecurityRef fileSec,
+    acl_t accessControlList,
+  ) {
+    return _CFFileSecuritySetAccessControlList(
+      fileSec,
+      accessControlList,
+    );
+  }
+
+  late final _CFFileSecuritySetAccessControlListPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFFileSecurityRef, acl_t)>>(
+          'CFFileSecuritySetAccessControlList');
+  late final _CFFileSecuritySetAccessControlList =
+      _CFFileSecuritySetAccessControlListPtr.asFunction<
+          int Function(CFFileSecurityRef, acl_t)>();
+
+  int CFFileSecurityGetOwner(
+    CFFileSecurityRef fileSec,
+    ffi.Pointer<uid_t> owner,
+  ) {
+    return _CFFileSecurityGetOwner(
+      fileSec,
+      owner,
+    );
+  }
+
+  late final _CFFileSecurityGetOwnerPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFFileSecurityRef,
+              ffi.Pointer<uid_t>)>>('CFFileSecurityGetOwner');
+  late final _CFFileSecurityGetOwner = _CFFileSecurityGetOwnerPtr.asFunction<
+      int Function(CFFileSecurityRef, ffi.Pointer<uid_t>)>();
+
+  int CFFileSecuritySetOwner(
+    CFFileSecurityRef fileSec,
+    int owner,
+  ) {
+    return _CFFileSecuritySetOwner(
+      fileSec,
+      owner,
+    );
+  }
+
+  late final _CFFileSecuritySetOwnerPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFFileSecurityRef, uid_t)>>(
+          'CFFileSecuritySetOwner');
+  late final _CFFileSecuritySetOwner = _CFFileSecuritySetOwnerPtr.asFunction<
+      int Function(CFFileSecurityRef, int)>();
+
+  int CFFileSecurityGetGroup(
+    CFFileSecurityRef fileSec,
+    ffi.Pointer<gid_t> group,
+  ) {
+    return _CFFileSecurityGetGroup(
+      fileSec,
+      group,
+    );
+  }
+
+  late final _CFFileSecurityGetGroupPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFFileSecurityRef,
+              ffi.Pointer<gid_t>)>>('CFFileSecurityGetGroup');
+  late final _CFFileSecurityGetGroup = _CFFileSecurityGetGroupPtr.asFunction<
+      int Function(CFFileSecurityRef, ffi.Pointer<gid_t>)>();
+
+  int CFFileSecuritySetGroup(
+    CFFileSecurityRef fileSec,
+    int group,
+  ) {
+    return _CFFileSecuritySetGroup(
+      fileSec,
+      group,
+    );
+  }
+
+  late final _CFFileSecuritySetGroupPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFFileSecurityRef, gid_t)>>(
+          'CFFileSecuritySetGroup');
+  late final _CFFileSecuritySetGroup = _CFFileSecuritySetGroupPtr.asFunction<
+      int Function(CFFileSecurityRef, int)>();
+
+  int CFFileSecurityGetMode(
+    CFFileSecurityRef fileSec,
+    ffi.Pointer<mode_t> mode,
+  ) {
+    return _CFFileSecurityGetMode(
+      fileSec,
+      mode,
+    );
+  }
+
+  late final _CFFileSecurityGetModePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFFileSecurityRef,
+              ffi.Pointer<mode_t>)>>('CFFileSecurityGetMode');
+  late final _CFFileSecurityGetMode = _CFFileSecurityGetModePtr.asFunction<
+      int Function(CFFileSecurityRef, ffi.Pointer<mode_t>)>();
+
+  int CFFileSecuritySetMode(
+    CFFileSecurityRef fileSec,
+    int mode,
+  ) {
+    return _CFFileSecuritySetMode(
+      fileSec,
+      mode,
+    );
+  }
+
+  late final _CFFileSecuritySetModePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFFileSecurityRef, mode_t)>>(
+          'CFFileSecuritySetMode');
+  late final _CFFileSecuritySetMode = _CFFileSecuritySetModePtr.asFunction<
+      int Function(CFFileSecurityRef, int)>();
+
+  int CFFileSecurityClearProperties(
+    CFFileSecurityRef fileSec,
+    int clearPropertyMask,
+  ) {
+    return _CFFileSecurityClearProperties(
+      fileSec,
+      clearPropertyMask,
+    );
+  }
+
+  late final _CFFileSecurityClearPropertiesPtr = _lookup<
+          ffi.NativeFunction<Boolean Function(CFFileSecurityRef, ffi.Int32)>>(
+      'CFFileSecurityClearProperties');
+  late final _CFFileSecurityClearProperties = _CFFileSecurityClearPropertiesPtr
+      .asFunction<int Function(CFFileSecurityRef, int)>();
+
+  /// !
+  /// @function CFStringTokenizerCopyBestStringLanguage
+  /// @abstract Guesses the language of a string and returns the BCP 47 string of the
+  /// language.
+  /// @param string The string whose language is to be guessed.
+  /// @param range The range of characters in string whose language to be
+  /// guessed. The specified range must not exceed the bounds of the string.
+  /// @result A language represented in BCP 47 string. NULL is returned either if
+  /// string is NULL, the location of range is negative, the length of range
+  /// is 0, or the language of the string cannot be guessed.
+  /// @discussion The result is not guaranteed to be accurate. Typically 200-400
+  /// characters are required to reliably guess the language of a string.
+  CFStringRef CFStringTokenizerCopyBestStringLanguage(
+    CFStringRef string,
+    CFRange range,
+  ) {
+    return _CFStringTokenizerCopyBestStringLanguage(
+      string,
+      range,
+    );
+  }
+
+  late final _CFStringTokenizerCopyBestStringLanguagePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFStringRef, CFRange)>>(
+          'CFStringTokenizerCopyBestStringLanguage');
+  late final _CFStringTokenizerCopyBestStringLanguage =
+      _CFStringTokenizerCopyBestStringLanguagePtr.asFunction<
+          CFStringRef Function(CFStringRef, CFRange)>();
+
+  /// !
+  /// @function CFStringTokenizerGetTypeID
+  /// @abstract Get the type identifier.
+  /// @result the type identifier of all CFStringTokenizer instances.
+  int CFStringTokenizerGetTypeID() {
+    return _CFStringTokenizerGetTypeID();
+  }
+
+  late final _CFStringTokenizerGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFStringTokenizerGetTypeID');
+  late final _CFStringTokenizerGetTypeID =
+      _CFStringTokenizerGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function CFStringTokenizerCreate
+  /// @abstract Creates a tokenizer instance.
+  /// @param alloc The CFAllocator which should be used to allocate memory for the
+  /// tokenizer and its storage for values. This parameter may be NULL in which
+  /// case the current default CFAllocator is used.
+  /// @param string The string to tokenize.
+  /// @param range The range of characters within the string to be tokenized. The
+  /// specified range must not exceed the length of the string.
+  /// @param options Use one of the Tokenization Unit options to specify how the
+  /// string should be tokenized. Optionally specify one or more attribute
+  /// specifiers to tell the tokenizer to prepare specified attributes when it
+  /// tokenizes the string.
+  /// @param locale The locale to specify language or region specific behavior. Pass
+  /// NULL if you want tokenizer to identify the locale automatically.
+  /// @result A reference to the new CFStringTokenizer.
+  CFStringTokenizerRef CFStringTokenizerCreate(
+    CFAllocatorRef alloc,
+    CFStringRef string,
+    CFRange range,
+    int options,
+    CFLocaleRef locale,
+  ) {
+    return _CFStringTokenizerCreate(
+      alloc,
+      string,
+      range,
+      options,
+      locale,
+    );
+  }
+
+  late final _CFStringTokenizerCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFStringTokenizerRef Function(CFAllocatorRef, CFStringRef, CFRange,
+              CFOptionFlags, CFLocaleRef)>>('CFStringTokenizerCreate');
+  late final _CFStringTokenizerCreate = _CFStringTokenizerCreatePtr.asFunction<
+      CFStringTokenizerRef Function(
+          CFAllocatorRef, CFStringRef, CFRange, int, CFLocaleRef)>();
+
+  /// !
+  /// @function CFStringTokenizerSetString
+  /// @abstract Set the string to tokenize.
+  /// @param tokenizer The reference to CFStringTokenizer returned by
+  /// CFStringTokenizerCreate.
+  /// @param string The string to tokenize.
+  /// @param range The range of characters within the string to be tokenized. The
+  /// specified range must not exceed the length of the string.
+  void CFStringTokenizerSetString(
+    CFStringTokenizerRef tokenizer,
+    CFStringRef string,
+    CFRange range,
+  ) {
+    return _CFStringTokenizerSetString(
+      tokenizer,
+      string,
+      range,
+    );
+  }
+
+  late final _CFStringTokenizerSetStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFStringTokenizerRef, CFStringRef,
+              CFRange)>>('CFStringTokenizerSetString');
+  late final _CFStringTokenizerSetString = _CFStringTokenizerSetStringPtr
+      .asFunction<void Function(CFStringTokenizerRef, CFStringRef, CFRange)>();
+
+  /// !
+  /// @function CFStringTokenizerGoToTokenAtIndex
+  /// @abstract Random access to a token. Find a token that includes the character specified
+  /// by character index, and set it as the current token.
+  /// @param tokenizer The reference to CFStringTokenizer returned by
+  /// CFStringTokenizerCreate.
+  /// @param index The index of the Unicode character in the CFString.
+  /// @result Type of the token if succeeded in finding a token and setting it as
+  /// current token. kCFStringTokenizerTokenNone if failed in finding a token.
+  /// @discussion The range and attribute of the token can be obtained by calling
+  /// CFStringTokenizerGetCurrentTokenRange and CFStringTokenizerCopyCurrentTokenAttribute.
+  /// If the token is a compound (with type kCFStringTokenizerTokenHasSubTokensMask or
+  /// kCFStringTokenizerTokenHasDerivedSubTokensMask), its subtokens and
+  /// (or) derived subtokens can be obtained by calling CFStringTokenizerGetCurrentSubTokens.
+  int CFStringTokenizerGoToTokenAtIndex(
+    CFStringTokenizerRef tokenizer,
+    int index,
+  ) {
+    return _CFStringTokenizerGoToTokenAtIndex(
+      tokenizer,
+      index,
+    );
+  }
+
+  late final _CFStringTokenizerGoToTokenAtIndexPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int32 Function(CFStringTokenizerRef, CFIndex)>>(
+      'CFStringTokenizerGoToTokenAtIndex');
+  late final _CFStringTokenizerGoToTokenAtIndex =
+      _CFStringTokenizerGoToTokenAtIndexPtr.asFunction<
+          int Function(CFStringTokenizerRef, int)>();
+
+  /// !
+  /// @function CFStringTokenizerAdvanceToNextToken
+  /// @abstract Token enumerator.
+  /// @param tokenizer The reference to CFStringTokenizer returned by
+  /// CFStringTokenizerCreate.
+  /// @result Type of the token if succeeded in finding a token and setting it as
+  /// current token. kCFStringTokenizerTokenNone if failed in finding a token.
+  /// @discussion If there is no preceding call to CFStringTokenizerGoToTokenAtIndex
+  /// or CFStringTokenizerAdvanceToNextToken, it finds the first token in the range
+  /// specified to CFStringTokenizerCreate. If there is a current token after successful
+  /// call to CFStringTokenizerGoToTokenAtIndex or CFStringTokenizerAdvanceToNextToken,
+  /// it proceeds to the next token. If succeeded in finding a token, set it as current
+  /// token and return its token type. Otherwise invalidate current token and return
+  /// kCFStringTokenizerTokenNone.
+  /// The range and attribute of the token can be obtained by calling
+  /// CFStringTokenizerGetCurrentTokenRange and
+  /// CFStringTokenizerCopyCurrentTokenAttribute. If the token is a compound
+  /// (with type kCFStringTokenizerTokenHasSubTokensMask or
+  /// kCFStringTokenizerTokenHasDerivedSubTokensMask), its subtokens and
+  /// (or) derived subtokens can be obtained by calling CFStringTokenizerGetCurrentSubTokens.
+  int CFStringTokenizerAdvanceToNextToken(
+    CFStringTokenizerRef tokenizer,
+  ) {
+    return _CFStringTokenizerAdvanceToNextToken(
+      tokenizer,
+    );
+  }
+
+  late final _CFStringTokenizerAdvanceToNextTokenPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(CFStringTokenizerRef)>>(
+          'CFStringTokenizerAdvanceToNextToken');
+  late final _CFStringTokenizerAdvanceToNextToken =
+      _CFStringTokenizerAdvanceToNextTokenPtr.asFunction<
+          int Function(CFStringTokenizerRef)>();
+
+  /// !
+  /// @function CFStringTokenizerGetCurrentTokenRange
+  /// @abstract Returns the range of current token.
+  /// @param tokenizer The reference to CFStringTokenizer returned by
+  /// CFStringTokenizerCreate.
+  /// @result Range of current token, or {kCFNotFound,0} if there is no current token.
+  CFRange CFStringTokenizerGetCurrentTokenRange(
+    CFStringTokenizerRef tokenizer,
+  ) {
+    return _CFStringTokenizerGetCurrentTokenRange(
+      tokenizer,
+    );
+  }
+
+  late final _CFStringTokenizerGetCurrentTokenRangePtr =
+      _lookup<ffi.NativeFunction<CFRange Function(CFStringTokenizerRef)>>(
+          'CFStringTokenizerGetCurrentTokenRange');
+  late final _CFStringTokenizerGetCurrentTokenRange =
+      _CFStringTokenizerGetCurrentTokenRangePtr.asFunction<
+          CFRange Function(CFStringTokenizerRef)>();
+
+  /// !
+  /// @function CFStringTokenizerCopyCurrentTokenAttribute
+  /// @abstract Copies the specified attribute of current token.
+  /// @param tokenizer The reference to CFStringTokenizer returned by
+  /// CFStringTokenizerCreate.
+  /// @param attribute Specify a token attribute you want to obtain. The value is
+  /// one of kCFStringTokenizerAttributeLatinTranscription or
+  /// kCFStringTokenizerAttributeLanguage.
+  /// @result Token attribute, or NULL if current token does not have the specified
+  /// attribute or if there is no current token.
+  CFTypeRef CFStringTokenizerCopyCurrentTokenAttribute(
+    CFStringTokenizerRef tokenizer,
+    int attribute,
+  ) {
+    return _CFStringTokenizerCopyCurrentTokenAttribute(
+      tokenizer,
+      attribute,
+    );
+  }
+
+  late final _CFStringTokenizerCopyCurrentTokenAttributePtr = _lookup<
+      ffi.NativeFunction<
+          CFTypeRef Function(CFStringTokenizerRef,
+              CFOptionFlags)>>('CFStringTokenizerCopyCurrentTokenAttribute');
+  late final _CFStringTokenizerCopyCurrentTokenAttribute =
+      _CFStringTokenizerCopyCurrentTokenAttributePtr.asFunction<
+          CFTypeRef Function(CFStringTokenizerRef, int)>();
+
+  /// !
+  /// @function CFStringTokenizerGetCurrentSubTokens
+  /// @abstract Retrieves the subtokens or derived subtokens contained in the compound token.
+  /// @param tokenizer The reference to CFStringTokenizer returned by CFStringTokenizerCreate.
+  /// @param ranges An array of CFRange to fill in with the ranges of subtokens. The filled in
+  /// ranges are relative to the string specified to CFStringTokenizerCreate. This parameter
+  /// can be NULL.
+  /// @param maxRangeLength The maximum number of ranges to return.
+  /// @param derivedSubTokens An array of CFMutableArray to which the derived subtokens are to
+  /// be added. This parameter can be NULL.
+  /// @result number of subtokens.
+  /// @discussion If token type is kCFStringTokenizerTokenNone, the ranges array and
+  /// derivedSubTokens array are untouched and the return value is 0.
+  /// If token type is kCFStringTokenizerTokenNormal, the ranges array has one item
+  /// filled in with the entire range of the token (if maxRangeLength >= 1) and a string
+  /// taken from the entire token range is added to the derivedSubTokens array and the
+  /// return value is 1.
+  /// If token type is kCFStringTokenizerTokenHasSubTokensMask or
+  /// kCFStringTokenizerTokenHasDerivedSubTokensMask, the ranges array is filled
+  /// in with as many items as there are subtokens (up to a limit of maxRangeLength).
+  /// The derivedSubTokens array will have sub tokens added even when the sub token is a
+  /// substring of the token. If token type is kCFStringTokenizerTokenHasSubTokensMask,
+  /// the ordinary non-derived subtokens are added to the derivedSubTokens array.
+  int CFStringTokenizerGetCurrentSubTokens(
+    CFStringTokenizerRef tokenizer,
+    ffi.Pointer<CFRange> ranges,
+    int maxRangeLength,
+    CFMutableArrayRef derivedSubTokens,
+  ) {
+    return _CFStringTokenizerGetCurrentSubTokens(
+      tokenizer,
+      ranges,
+      maxRangeLength,
+      derivedSubTokens,
+    );
+  }
+
+  late final _CFStringTokenizerGetCurrentSubTokensPtr = _lookup<
+      ffi.NativeFunction<
+          CFIndex Function(CFStringTokenizerRef, ffi.Pointer<CFRange>, CFIndex,
+              CFMutableArrayRef)>>('CFStringTokenizerGetCurrentSubTokens');
+  late final _CFStringTokenizerGetCurrentSubTokens =
+      _CFStringTokenizerGetCurrentSubTokensPtr.asFunction<
+          int Function(CFStringTokenizerRef, ffi.Pointer<CFRange>, int,
+              CFMutableArrayRef)>();
+
+  int CFFileDescriptorGetTypeID() {
+    return _CFFileDescriptorGetTypeID();
+  }
+
+  late final _CFFileDescriptorGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFFileDescriptorGetTypeID');
+  late final _CFFileDescriptorGetTypeID =
+      _CFFileDescriptorGetTypeIDPtr.asFunction<int Function()>();
+
+  CFFileDescriptorRef CFFileDescriptorCreate(
+    CFAllocatorRef allocator,
+    int fd,
+    int closeOnInvalidate,
+    CFFileDescriptorCallBack callout,
+    ffi.Pointer<CFFileDescriptorContext> context,
+  ) {
+    return _CFFileDescriptorCreate(
+      allocator,
+      fd,
+      closeOnInvalidate,
+      callout,
+      context,
+    );
+  }
+
+  late final _CFFileDescriptorCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFFileDescriptorRef Function(
+              CFAllocatorRef,
+              CFFileDescriptorNativeDescriptor,
+              Boolean,
+              CFFileDescriptorCallBack,
+              ffi.Pointer<CFFileDescriptorContext>)>>('CFFileDescriptorCreate');
+  late final _CFFileDescriptorCreate = _CFFileDescriptorCreatePtr.asFunction<
+      CFFileDescriptorRef Function(CFAllocatorRef, int, int,
+          CFFileDescriptorCallBack, ffi.Pointer<CFFileDescriptorContext>)>();
+
+  int CFFileDescriptorGetNativeDescriptor(
+    CFFileDescriptorRef f,
+  ) {
+    return _CFFileDescriptorGetNativeDescriptor(
+      f,
+    );
+  }
+
+  late final _CFFileDescriptorGetNativeDescriptorPtr = _lookup<
+      ffi.NativeFunction<
+          CFFileDescriptorNativeDescriptor Function(
+              CFFileDescriptorRef)>>('CFFileDescriptorGetNativeDescriptor');
+  late final _CFFileDescriptorGetNativeDescriptor =
+      _CFFileDescriptorGetNativeDescriptorPtr.asFunction<
+          int Function(CFFileDescriptorRef)>();
+
+  void CFFileDescriptorGetContext(
+    CFFileDescriptorRef f,
+    ffi.Pointer<CFFileDescriptorContext> context,
+  ) {
+    return _CFFileDescriptorGetContext(
+      f,
+      context,
+    );
+  }
+
+  late final _CFFileDescriptorGetContextPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFFileDescriptorRef, ffi.Pointer<CFFileDescriptorContext>)>>(
+      'CFFileDescriptorGetContext');
+  late final _CFFileDescriptorGetContext =
+      _CFFileDescriptorGetContextPtr.asFunction<
+          void Function(
+              CFFileDescriptorRef, ffi.Pointer<CFFileDescriptorContext>)>();
+
+  void CFFileDescriptorEnableCallBacks(
+    CFFileDescriptorRef f,
+    int callBackTypes,
+  ) {
+    return _CFFileDescriptorEnableCallBacks(
+      f,
+      callBackTypes,
+    );
+  }
+
+  late final _CFFileDescriptorEnableCallBacksPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFFileDescriptorRef,
+              CFOptionFlags)>>('CFFileDescriptorEnableCallBacks');
+  late final _CFFileDescriptorEnableCallBacks =
+      _CFFileDescriptorEnableCallBacksPtr.asFunction<
+          void Function(CFFileDescriptorRef, int)>();
+
+  void CFFileDescriptorDisableCallBacks(
+    CFFileDescriptorRef f,
+    int callBackTypes,
+  ) {
+    return _CFFileDescriptorDisableCallBacks(
+      f,
+      callBackTypes,
+    );
+  }
+
+  late final _CFFileDescriptorDisableCallBacksPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFFileDescriptorRef,
+              CFOptionFlags)>>('CFFileDescriptorDisableCallBacks');
+  late final _CFFileDescriptorDisableCallBacks =
+      _CFFileDescriptorDisableCallBacksPtr.asFunction<
+          void Function(CFFileDescriptorRef, int)>();
+
+  void CFFileDescriptorInvalidate(
+    CFFileDescriptorRef f,
+  ) {
+    return _CFFileDescriptorInvalidate(
+      f,
+    );
+  }
+
+  late final _CFFileDescriptorInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFFileDescriptorRef)>>(
+          'CFFileDescriptorInvalidate');
+  late final _CFFileDescriptorInvalidate = _CFFileDescriptorInvalidatePtr
+      .asFunction<void Function(CFFileDescriptorRef)>();
+
+  int CFFileDescriptorIsValid(
+    CFFileDescriptorRef f,
+  ) {
+    return _CFFileDescriptorIsValid(
+      f,
+    );
+  }
+
+  late final _CFFileDescriptorIsValidPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFFileDescriptorRef)>>(
+          'CFFileDescriptorIsValid');
+  late final _CFFileDescriptorIsValid = _CFFileDescriptorIsValidPtr.asFunction<
+      int Function(CFFileDescriptorRef)>();
+
+  CFRunLoopSourceRef CFFileDescriptorCreateRunLoopSource(
+    CFAllocatorRef allocator,
+    CFFileDescriptorRef f,
+    int order,
+  ) {
+    return _CFFileDescriptorCreateRunLoopSource(
+      allocator,
+      f,
+      order,
+    );
+  }
+
+  late final _CFFileDescriptorCreateRunLoopSourcePtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFFileDescriptorRef,
+              CFIndex)>>('CFFileDescriptorCreateRunLoopSource');
+  late final _CFFileDescriptorCreateRunLoopSource =
+      _CFFileDescriptorCreateRunLoopSourcePtr.asFunction<
+          CFRunLoopSourceRef Function(
+              CFAllocatorRef, CFFileDescriptorRef, int)>();
+
+  int CFUserNotificationGetTypeID() {
+    return _CFUserNotificationGetTypeID();
+  }
+
+  late final _CFUserNotificationGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFUserNotificationGetTypeID');
+  late final _CFUserNotificationGetTypeID =
+      _CFUserNotificationGetTypeIDPtr.asFunction<int Function()>();
+
+  CFUserNotificationRef CFUserNotificationCreate(
+    CFAllocatorRef allocator,
+    double timeout,
+    int flags,
+    ffi.Pointer<SInt32> error,
+    CFDictionaryRef dictionary,
+  ) {
+    return _CFUserNotificationCreate(
+      allocator,
+      timeout,
+      flags,
+      error,
+      dictionary,
+    );
+  }
+
+  late final _CFUserNotificationCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFUserNotificationRef Function(
+              CFAllocatorRef,
+              CFTimeInterval,
+              CFOptionFlags,
+              ffi.Pointer<SInt32>,
+              CFDictionaryRef)>>('CFUserNotificationCreate');
+  late final _CFUserNotificationCreate =
+      _CFUserNotificationCreatePtr.asFunction<
+          CFUserNotificationRef Function(CFAllocatorRef, double, int,
+              ffi.Pointer<SInt32>, CFDictionaryRef)>();
+
+  int CFUserNotificationReceiveResponse(
+    CFUserNotificationRef userNotification,
+    double timeout,
+    ffi.Pointer<CFOptionFlags> responseFlags,
+  ) {
+    return _CFUserNotificationReceiveResponse(
+      userNotification,
+      timeout,
+      responseFlags,
+    );
+  }
+
+  late final _CFUserNotificationReceiveResponsePtr = _lookup<
+          ffi.NativeFunction<
+              SInt32 Function(CFUserNotificationRef, CFTimeInterval,
+                  ffi.Pointer<CFOptionFlags>)>>(
+      'CFUserNotificationReceiveResponse');
+  late final _CFUserNotificationReceiveResponse =
+      _CFUserNotificationReceiveResponsePtr.asFunction<
+          int Function(
+              CFUserNotificationRef, double, ffi.Pointer<CFOptionFlags>)>();
+
+  CFStringRef CFUserNotificationGetResponseValue(
+    CFUserNotificationRef userNotification,
+    CFStringRef key,
+    int idx,
+  ) {
+    return _CFUserNotificationGetResponseValue(
+      userNotification,
+      key,
+      idx,
+    );
+  }
+
+  late final _CFUserNotificationGetResponseValuePtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(CFUserNotificationRef, CFStringRef,
+              CFIndex)>>('CFUserNotificationGetResponseValue');
+  late final _CFUserNotificationGetResponseValue =
+      _CFUserNotificationGetResponseValuePtr.asFunction<
+          CFStringRef Function(CFUserNotificationRef, CFStringRef, int)>();
+
+  CFDictionaryRef CFUserNotificationGetResponseDictionary(
+    CFUserNotificationRef userNotification,
+  ) {
+    return _CFUserNotificationGetResponseDictionary(
+      userNotification,
+    );
+  }
+
+  late final _CFUserNotificationGetResponseDictionaryPtr = _lookup<
+          ffi.NativeFunction<CFDictionaryRef Function(CFUserNotificationRef)>>(
+      'CFUserNotificationGetResponseDictionary');
+  late final _CFUserNotificationGetResponseDictionary =
+      _CFUserNotificationGetResponseDictionaryPtr.asFunction<
+          CFDictionaryRef Function(CFUserNotificationRef)>();
+
+  int CFUserNotificationUpdate(
+    CFUserNotificationRef userNotification,
+    double timeout,
+    int flags,
+    CFDictionaryRef dictionary,
+  ) {
+    return _CFUserNotificationUpdate(
+      userNotification,
+      timeout,
+      flags,
+      dictionary,
+    );
+  }
+
+  late final _CFUserNotificationUpdatePtr = _lookup<
+      ffi.NativeFunction<
+          SInt32 Function(CFUserNotificationRef, CFTimeInterval, CFOptionFlags,
+              CFDictionaryRef)>>('CFUserNotificationUpdate');
+  late final _CFUserNotificationUpdate =
+      _CFUserNotificationUpdatePtr.asFunction<
+          int Function(CFUserNotificationRef, double, int, CFDictionaryRef)>();
+
+  int CFUserNotificationCancel(
+    CFUserNotificationRef userNotification,
+  ) {
+    return _CFUserNotificationCancel(
+      userNotification,
+    );
+  }
+
+  late final _CFUserNotificationCancelPtr =
+      _lookup<ffi.NativeFunction<SInt32 Function(CFUserNotificationRef)>>(
+          'CFUserNotificationCancel');
+  late final _CFUserNotificationCancel = _CFUserNotificationCancelPtr
+      .asFunction<int Function(CFUserNotificationRef)>();
+
+  CFRunLoopSourceRef CFUserNotificationCreateRunLoopSource(
+    CFAllocatorRef allocator,
+    CFUserNotificationRef userNotification,
+    CFUserNotificationCallBack callout,
+    int order,
+  ) {
+    return _CFUserNotificationCreateRunLoopSource(
+      allocator,
+      userNotification,
+      callout,
+      order,
+    );
+  }
+
+  late final _CFUserNotificationCreateRunLoopSourcePtr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopSourceRef Function(
+              CFAllocatorRef,
+              CFUserNotificationRef,
+              CFUserNotificationCallBack,
+              CFIndex)>>('CFUserNotificationCreateRunLoopSource');
+  late final _CFUserNotificationCreateRunLoopSource =
+      _CFUserNotificationCreateRunLoopSourcePtr.asFunction<
+          CFRunLoopSourceRef Function(CFAllocatorRef, CFUserNotificationRef,
+              CFUserNotificationCallBack, int)>();
+
+  int CFUserNotificationDisplayNotice(
+    double timeout,
+    int flags,
+    CFURLRef iconURL,
+    CFURLRef soundURL,
+    CFURLRef localizationURL,
+    CFStringRef alertHeader,
+    CFStringRef alertMessage,
+    CFStringRef defaultButtonTitle,
+  ) {
+    return _CFUserNotificationDisplayNotice(
+      timeout,
+      flags,
+      iconURL,
+      soundURL,
+      localizationURL,
+      alertHeader,
+      alertMessage,
+      defaultButtonTitle,
+    );
+  }
+
+  late final _CFUserNotificationDisplayNoticePtr = _lookup<
+      ffi.NativeFunction<
+          SInt32 Function(
+              CFTimeInterval,
+              CFOptionFlags,
+              CFURLRef,
+              CFURLRef,
+              CFURLRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef)>>('CFUserNotificationDisplayNotice');
+  late final _CFUserNotificationDisplayNotice =
+      _CFUserNotificationDisplayNoticePtr.asFunction<
+          int Function(double, int, CFURLRef, CFURLRef, CFURLRef, CFStringRef,
+              CFStringRef, CFStringRef)>();
+
+  int CFUserNotificationDisplayAlert(
+    double timeout,
+    int flags,
+    CFURLRef iconURL,
+    CFURLRef soundURL,
+    CFURLRef localizationURL,
+    CFStringRef alertHeader,
+    CFStringRef alertMessage,
+    CFStringRef defaultButtonTitle,
+    CFStringRef alternateButtonTitle,
+    CFStringRef otherButtonTitle,
+    ffi.Pointer<CFOptionFlags> responseFlags,
+  ) {
+    return _CFUserNotificationDisplayAlert(
+      timeout,
+      flags,
+      iconURL,
+      soundURL,
+      localizationURL,
+      alertHeader,
+      alertMessage,
+      defaultButtonTitle,
+      alternateButtonTitle,
+      otherButtonTitle,
+      responseFlags,
+    );
+  }
+
+  late final _CFUserNotificationDisplayAlertPtr = _lookup<
+      ffi.NativeFunction<
+          SInt32 Function(
+              CFTimeInterval,
+              CFOptionFlags,
+              CFURLRef,
+              CFURLRef,
+              CFURLRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              ffi.Pointer<CFOptionFlags>)>>('CFUserNotificationDisplayAlert');
+  late final _CFUserNotificationDisplayAlert =
+      _CFUserNotificationDisplayAlertPtr.asFunction<
+          int Function(
+              double,
+              int,
+              CFURLRef,
+              CFURLRef,
+              CFURLRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              ffi.Pointer<CFOptionFlags>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationIconURLKey =
+      _lookup<CFStringRef>('kCFUserNotificationIconURLKey');
+
+  CFStringRef get kCFUserNotificationIconURLKey =>
+      _kCFUserNotificationIconURLKey.value;
+
+  set kCFUserNotificationIconURLKey(CFStringRef value) =>
+      _kCFUserNotificationIconURLKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationSoundURLKey =
+      _lookup<CFStringRef>('kCFUserNotificationSoundURLKey');
+
+  CFStringRef get kCFUserNotificationSoundURLKey =>
+      _kCFUserNotificationSoundURLKey.value;
+
+  set kCFUserNotificationSoundURLKey(CFStringRef value) =>
+      _kCFUserNotificationSoundURLKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationLocalizationURLKey =
+      _lookup<CFStringRef>('kCFUserNotificationLocalizationURLKey');
+
+  CFStringRef get kCFUserNotificationLocalizationURLKey =>
+      _kCFUserNotificationLocalizationURLKey.value;
+
+  set kCFUserNotificationLocalizationURLKey(CFStringRef value) =>
+      _kCFUserNotificationLocalizationURLKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationAlertHeaderKey =
+      _lookup<CFStringRef>('kCFUserNotificationAlertHeaderKey');
+
+  CFStringRef get kCFUserNotificationAlertHeaderKey =>
+      _kCFUserNotificationAlertHeaderKey.value;
+
+  set kCFUserNotificationAlertHeaderKey(CFStringRef value) =>
+      _kCFUserNotificationAlertHeaderKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationAlertMessageKey =
+      _lookup<CFStringRef>('kCFUserNotificationAlertMessageKey');
+
+  CFStringRef get kCFUserNotificationAlertMessageKey =>
+      _kCFUserNotificationAlertMessageKey.value;
+
+  set kCFUserNotificationAlertMessageKey(CFStringRef value) =>
+      _kCFUserNotificationAlertMessageKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFUserNotificationDefaultButtonTitleKey =
+      _lookup<CFStringRef>('kCFUserNotificationDefaultButtonTitleKey');
+
+  CFStringRef get kCFUserNotificationDefaultButtonTitleKey =>
+      _kCFUserNotificationDefaultButtonTitleKey.value;
+
+  set kCFUserNotificationDefaultButtonTitleKey(CFStringRef value) =>
+      _kCFUserNotificationDefaultButtonTitleKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFUserNotificationAlternateButtonTitleKey =
+      _lookup<CFStringRef>('kCFUserNotificationAlternateButtonTitleKey');
+
+  CFStringRef get kCFUserNotificationAlternateButtonTitleKey =>
+      _kCFUserNotificationAlternateButtonTitleKey.value;
+
+  set kCFUserNotificationAlternateButtonTitleKey(CFStringRef value) =>
+      _kCFUserNotificationAlternateButtonTitleKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationOtherButtonTitleKey =
+      _lookup<CFStringRef>('kCFUserNotificationOtherButtonTitleKey');
+
+  CFStringRef get kCFUserNotificationOtherButtonTitleKey =>
+      _kCFUserNotificationOtherButtonTitleKey.value;
+
+  set kCFUserNotificationOtherButtonTitleKey(CFStringRef value) =>
+      _kCFUserNotificationOtherButtonTitleKey.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFUserNotificationProgressIndicatorValueKey =
+      _lookup<CFStringRef>('kCFUserNotificationProgressIndicatorValueKey');
+
+  CFStringRef get kCFUserNotificationProgressIndicatorValueKey =>
+      _kCFUserNotificationProgressIndicatorValueKey.value;
+
+  set kCFUserNotificationProgressIndicatorValueKey(CFStringRef value) =>
+      _kCFUserNotificationProgressIndicatorValueKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationPopUpTitlesKey =
+      _lookup<CFStringRef>('kCFUserNotificationPopUpTitlesKey');
+
+  CFStringRef get kCFUserNotificationPopUpTitlesKey =>
+      _kCFUserNotificationPopUpTitlesKey.value;
+
+  set kCFUserNotificationPopUpTitlesKey(CFStringRef value) =>
+      _kCFUserNotificationPopUpTitlesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationTextFieldTitlesKey =
+      _lookup<CFStringRef>('kCFUserNotificationTextFieldTitlesKey');
+
+  CFStringRef get kCFUserNotificationTextFieldTitlesKey =>
+      _kCFUserNotificationTextFieldTitlesKey.value;
+
+  set kCFUserNotificationTextFieldTitlesKey(CFStringRef value) =>
+      _kCFUserNotificationTextFieldTitlesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationCheckBoxTitlesKey =
+      _lookup<CFStringRef>('kCFUserNotificationCheckBoxTitlesKey');
+
+  CFStringRef get kCFUserNotificationCheckBoxTitlesKey =>
+      _kCFUserNotificationCheckBoxTitlesKey.value;
+
+  set kCFUserNotificationCheckBoxTitlesKey(CFStringRef value) =>
+      _kCFUserNotificationCheckBoxTitlesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationTextFieldValuesKey =
+      _lookup<CFStringRef>('kCFUserNotificationTextFieldValuesKey');
+
+  CFStringRef get kCFUserNotificationTextFieldValuesKey =>
+      _kCFUserNotificationTextFieldValuesKey.value;
+
+  set kCFUserNotificationTextFieldValuesKey(CFStringRef value) =>
+      _kCFUserNotificationTextFieldValuesKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationPopUpSelectionKey =
+      _lookup<CFStringRef>('kCFUserNotificationPopUpSelectionKey');
+
+  CFStringRef get kCFUserNotificationPopUpSelectionKey =>
+      _kCFUserNotificationPopUpSelectionKey.value;
+
+  set kCFUserNotificationPopUpSelectionKey(CFStringRef value) =>
+      _kCFUserNotificationPopUpSelectionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationAlertTopMostKey =
+      _lookup<CFStringRef>('kCFUserNotificationAlertTopMostKey');
+
+  CFStringRef get kCFUserNotificationAlertTopMostKey =>
+      _kCFUserNotificationAlertTopMostKey.value;
+
+  set kCFUserNotificationAlertTopMostKey(CFStringRef value) =>
+      _kCFUserNotificationAlertTopMostKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFUserNotificationKeyboardTypesKey =
+      _lookup<CFStringRef>('kCFUserNotificationKeyboardTypesKey');
+
+  CFStringRef get kCFUserNotificationKeyboardTypesKey =>
+      _kCFUserNotificationKeyboardTypesKey.value;
+
+  set kCFUserNotificationKeyboardTypesKey(CFStringRef value) =>
+      _kCFUserNotificationKeyboardTypesKey.value = value;
+
+  late final ffi.Pointer<ffi.Double> _NSFoundationVersionNumber =
+      _lookup<ffi.Double>('NSFoundationVersionNumber');
+
+  double get NSFoundationVersionNumber => _NSFoundationVersionNumber.value;
+
+  set NSFoundationVersionNumber(double value) =>
+      _NSFoundationVersionNumber.value = value;
+
+  ffi.Pointer<ObjCObject> NSStringFromSelector(
+    ffi.Pointer<ObjCSel> aSelector,
+  ) {
+    return _NSStringFromSelector(
+      aSelector,
+    );
+  }
+
+  late final _NSStringFromSelectorPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCSel>)>>('NSStringFromSelector');
+  late final _NSStringFromSelector = _NSStringFromSelectorPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCSel>)>();
+
+  ffi.Pointer<ObjCSel> NSSelectorFromString(
+    ffi.Pointer<ObjCObject> aSelectorName,
+  ) {
+    return _NSSelectorFromString(
+      aSelectorName,
+    );
+  }
+
+  late final _NSSelectorFromStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCSel> Function(
+              ffi.Pointer<ObjCObject>)>>('NSSelectorFromString');
+  late final _NSSelectorFromString = _NSSelectorFromStringPtr.asFunction<
+      ffi.Pointer<ObjCSel> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSStringFromClass(
+    ffi.Pointer<ObjCObject> aClass,
+  ) {
+    return _NSStringFromClass(
+      aClass,
+    );
+  }
+
+  late final _NSStringFromClassPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSStringFromClass');
+  late final _NSStringFromClass = _NSStringFromClassPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSClassFromString(
+    ffi.Pointer<ObjCObject> aClassName,
+  ) {
+    return _NSClassFromString(
+      aClassName,
+    );
+  }
+
+  late final _NSClassFromStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSClassFromString');
+  late final _NSClassFromString = _NSClassFromStringPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSStringFromProtocol(
+    ffi.Pointer<ObjCObject> proto,
+  ) {
+    return _NSStringFromProtocol(
+      proto,
+    );
+  }
+
+  late final _NSStringFromProtocolPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSStringFromProtocol');
+  late final _NSStringFromProtocol = _NSStringFromProtocolPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSProtocolFromString(
+    ffi.Pointer<ObjCObject> namestr,
+  ) {
+    return _NSProtocolFromString(
+      namestr,
+    );
+  }
+
+  late final _NSProtocolFromStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSProtocolFromString');
+  late final _NSProtocolFromString = _NSProtocolFromStringPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ffi.Char> NSGetSizeAndAlignment(
+    ffi.Pointer<ffi.Char> typePtr,
+    ffi.Pointer<NSUInteger> sizep,
+    ffi.Pointer<NSUInteger> alignp,
+  ) {
+    return _NSGetSizeAndAlignment(
+      typePtr,
+      sizep,
+      alignp,
+    );
+  }
+
+  late final _NSGetSizeAndAlignmentPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<NSUInteger>,
+              ffi.Pointer<NSUInteger>)>>('NSGetSizeAndAlignment');
+  late final _NSGetSizeAndAlignment = _NSGetSizeAndAlignmentPtr.asFunction<
+      ffi.Pointer<ffi.Char> Function(ffi.Pointer<ffi.Char>,
+          ffi.Pointer<NSUInteger>, ffi.Pointer<NSUInteger>)>();
+
+  void NSLog(
+    ffi.Pointer<ObjCObject> format,
+  ) {
+    return _NSLog(
+      format,
+    );
+  }
+
+  late final _NSLogPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'NSLog');
+  late final _NSLog =
+      _NSLogPtr.asFunction<void Function(ffi.Pointer<ObjCObject>)>();
+
+  void NSLogv(
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<__va_list_tag> args,
+  ) {
+    return _NSLogv(
+      format,
+      args,
+    );
+  }
+
+  late final _NSLogvPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<__va_list_tag>)>>('NSLogv');
+  late final _NSLogv = _NSLogvPtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<__va_list_tag>)>();
+
+  late final ffi.Pointer<NSInteger> _NSNotFound =
+      _lookup<NSInteger>('NSNotFound');
+
+  int get NSNotFound => _NSNotFound.value;
+
+  set NSNotFound(int value) => _NSNotFound.value = value;
+
+  ffi.Pointer<NSZone> NSDefaultMallocZone() {
+    return _NSDefaultMallocZone();
+  }
+
+  late final _NSDefaultMallocZonePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<NSZone> Function()>>(
+          'NSDefaultMallocZone');
+  late final _NSDefaultMallocZone =
+      _NSDefaultMallocZonePtr.asFunction<ffi.Pointer<NSZone> Function()>();
+
+  ffi.Pointer<NSZone> NSCreateZone(
+    int startSize,
+    int granularity,
+    bool canFree,
+  ) {
+    return _NSCreateZone(
+      startSize,
+      granularity,
+      canFree,
+    );
+  }
+
+  late final _NSCreateZonePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<NSZone> Function(
+              NSUInteger, NSUInteger, ffi.Bool)>>('NSCreateZone');
+  late final _NSCreateZone = _NSCreateZonePtr.asFunction<
+      ffi.Pointer<NSZone> Function(int, int, bool)>();
+
+  void NSRecycleZone(
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSRecycleZone(
+      zone,
+    );
+  }
+
+  late final _NSRecycleZonePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<NSZone>)>>(
+          'NSRecycleZone');
+  late final _NSRecycleZone =
+      _NSRecycleZonePtr.asFunction<void Function(ffi.Pointer<NSZone>)>();
+
+  void NSSetZoneName(
+    ffi.Pointer<NSZone> zone,
+    ffi.Pointer<ObjCObject> name,
+  ) {
+    return _NSSetZoneName(
+      zone,
+      name,
+    );
+  }
+
+  late final _NSSetZoneNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<NSZone>, ffi.Pointer<ObjCObject>)>>('NSSetZoneName');
+  late final _NSSetZoneName = _NSSetZoneNamePtr.asFunction<
+      void Function(ffi.Pointer<NSZone>, ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSZoneName(
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSZoneName(
+      zone,
+    );
+  }
+
+  late final _NSZoneNamePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<NSZone>)>>('NSZoneName');
+  late final _NSZoneName = _NSZoneNamePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<NSZone>)>();
+
+  ffi.Pointer<NSZone> NSZoneFromPointer(
+    ffi.Pointer<ffi.Void> ptr,
+  ) {
+    return _NSZoneFromPointer(
+      ptr,
+    );
+  }
+
+  late final _NSZoneFromPointerPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<NSZone> Function(ffi.Pointer<ffi.Void>)>>(
+      'NSZoneFromPointer');
+  late final _NSZoneFromPointer = _NSZoneFromPointerPtr.asFunction<
+      ffi.Pointer<NSZone> Function(ffi.Pointer<ffi.Void>)>();
+
+  ffi.Pointer<ffi.Void> NSZoneMalloc(
+    ffi.Pointer<NSZone> zone,
+    int size,
+  ) {
+    return _NSZoneMalloc(
+      zone,
+      size,
+    );
+  }
+
+  late final _NSZoneMallocPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<NSZone>, NSUInteger)>>('NSZoneMalloc');
+  late final _NSZoneMalloc = _NSZoneMallocPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(ffi.Pointer<NSZone>, int)>();
+
+  ffi.Pointer<ffi.Void> NSZoneCalloc(
+    ffi.Pointer<NSZone> zone,
+    int numElems,
+    int byteSize,
+  ) {
+    return _NSZoneCalloc(
+      zone,
+      numElems,
+      byteSize,
+    );
+  }
+
+  late final _NSZoneCallocPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<NSZone>, NSUInteger, NSUInteger)>>('NSZoneCalloc');
+  late final _NSZoneCalloc = _NSZoneCallocPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(ffi.Pointer<NSZone>, int, int)>();
+
+  ffi.Pointer<ffi.Void> NSZoneRealloc(
+    ffi.Pointer<NSZone> zone,
+    ffi.Pointer<ffi.Void> ptr,
+    int size,
+  ) {
+    return _NSZoneRealloc(
+      zone,
+      ptr,
+      size,
+    );
+  }
+
+  late final _NSZoneReallocPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<NSZone>,
+              ffi.Pointer<ffi.Void>, NSUInteger)>>('NSZoneRealloc');
+  late final _NSZoneRealloc = _NSZoneReallocPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<NSZone>, ffi.Pointer<ffi.Void>, int)>();
+
+  void NSZoneFree(
+    ffi.Pointer<NSZone> zone,
+    ffi.Pointer<ffi.Void> ptr,
+  ) {
+    return _NSZoneFree(
+      zone,
+      ptr,
+    );
+  }
+
+  late final _NSZoneFreePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<NSZone>, ffi.Pointer<ffi.Void>)>>('NSZoneFree');
+  late final _NSZoneFree = _NSZoneFreePtr.asFunction<
+      void Function(ffi.Pointer<NSZone>, ffi.Pointer<ffi.Void>)>();
+
+  int NSPageSize() {
+    return _NSPageSize();
+  }
+
+  late final _NSPageSizePtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function()>>('NSPageSize');
+  late final _NSPageSize = _NSPageSizePtr.asFunction<int Function()>();
+
+  int NSLogPageSize() {
+    return _NSLogPageSize();
+  }
+
+  late final _NSLogPageSizePtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function()>>('NSLogPageSize');
+  late final _NSLogPageSize = _NSLogPageSizePtr.asFunction<int Function()>();
+
+  int NSRoundUpToMultipleOfPageSize(
+    int bytes,
+  ) {
+    return _NSRoundUpToMultipleOfPageSize(
+      bytes,
+    );
+  }
+
+  late final _NSRoundUpToMultipleOfPageSizePtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function(NSUInteger)>>(
+          'NSRoundUpToMultipleOfPageSize');
+  late final _NSRoundUpToMultipleOfPageSize =
+      _NSRoundUpToMultipleOfPageSizePtr.asFunction<int Function(int)>();
+
+  int NSRoundDownToMultipleOfPageSize(
+    int bytes,
+  ) {
+    return _NSRoundDownToMultipleOfPageSize(
+      bytes,
+    );
+  }
+
+  late final _NSRoundDownToMultipleOfPageSizePtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function(NSUInteger)>>(
+          'NSRoundDownToMultipleOfPageSize');
+  late final _NSRoundDownToMultipleOfPageSize =
+      _NSRoundDownToMultipleOfPageSizePtr.asFunction<int Function(int)>();
+
+  ffi.Pointer<ffi.Void> NSAllocateMemoryPages(
+    int bytes,
+  ) {
+    return _NSAllocateMemoryPages(
+      bytes,
+    );
+  }
+
+  late final _NSAllocateMemoryPagesPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(NSUInteger)>>(
+          'NSAllocateMemoryPages');
+  late final _NSAllocateMemoryPages = _NSAllocateMemoryPagesPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(int)>();
+
+  void NSDeallocateMemoryPages(
+    ffi.Pointer<ffi.Void> ptr,
+    int bytes,
+  ) {
+    return _NSDeallocateMemoryPages(
+      ptr,
+      bytes,
+    );
+  }
+
+  late final _NSDeallocateMemoryPagesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.Void>, NSUInteger)>>('NSDeallocateMemoryPages');
+  late final _NSDeallocateMemoryPages = _NSDeallocateMemoryPagesPtr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, int)>();
+
+  void NSCopyMemoryPages(
+    ffi.Pointer<ffi.Void> source,
+    ffi.Pointer<ffi.Void> dest,
+    int bytes,
+  ) {
+    return _NSCopyMemoryPages(
+      source,
+      dest,
+      bytes,
+    );
+  }
+
+  late final _NSCopyMemoryPagesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>,
+              NSUInteger)>>('NSCopyMemoryPages');
+  late final _NSCopyMemoryPages = _NSCopyMemoryPagesPtr.asFunction<
+      void Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>, int)>();
+
+  int NSRealMemoryAvailable() {
+    return _NSRealMemoryAvailable();
+  }
+
+  late final _NSRealMemoryAvailablePtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function()>>(
+          'NSRealMemoryAvailable');
+  late final _NSRealMemoryAvailable =
+      _NSRealMemoryAvailablePtr.asFunction<int Function()>();
+
+  /// Object Allocation / Deallocation
+  ffi.Pointer<ObjCObject> NSAllocateObject(
+    ffi.Pointer<ObjCObject> aClass,
+    int extraBytes,
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSAllocateObject(
+      aClass,
+      extraBytes,
+      zone,
+    );
+  }
+
+  late final _NSAllocateObjectPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>, NSUInteger,
+              ffi.Pointer<NSZone>)>>('NSAllocateObject');
+  late final _NSAllocateObject = _NSAllocateObjectPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<NSZone>)>();
+
+  void NSDeallocateObject(
+    ffi.Pointer<ObjCObject> object,
+  ) {
+    return _NSDeallocateObject(
+      object,
+    );
+  }
+
+  late final _NSDeallocateObjectPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'NSDeallocateObject');
+  late final _NSDeallocateObject = _NSDeallocateObjectPtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSCopyObject(
+    ffi.Pointer<ObjCObject> object,
+    int extraBytes,
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSCopyObject(
+      object,
+      extraBytes,
+      zone,
+    );
+  }
+
+  late final _NSCopyObjectPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>, NSUInteger,
+              ffi.Pointer<NSZone>)>>('NSCopyObject');
+  late final _NSCopyObject = _NSCopyObjectPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<NSZone>)>();
+
+  bool NSShouldRetainWithZone(
+    ffi.Pointer<ObjCObject> anObject,
+    ffi.Pointer<NSZone> requestedZone,
+  ) {
+    return _NSShouldRetainWithZone(
+      anObject,
+      requestedZone,
+    );
+  }
+
+  late final _NSShouldRetainWithZonePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<NSZone>)>>('NSShouldRetainWithZone');
+  late final _NSShouldRetainWithZone = _NSShouldRetainWithZonePtr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<NSZone>)>();
+
+  void NSIncrementExtraRefCount(
+    ffi.Pointer<ObjCObject> object,
+  ) {
+    return _NSIncrementExtraRefCount(
+      object,
+    );
+  }
+
+  late final _NSIncrementExtraRefCountPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'NSIncrementExtraRefCount');
+  late final _NSIncrementExtraRefCount = _NSIncrementExtraRefCountPtr
+      .asFunction<void Function(ffi.Pointer<ObjCObject>)>();
+
+  bool NSDecrementExtraRefCountWasZero(
+    ffi.Pointer<ObjCObject> object,
+  ) {
+    return _NSDecrementExtraRefCountWasZero(
+      object,
+    );
+  }
+
+  late final _NSDecrementExtraRefCountWasZeroPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(ffi.Pointer<ObjCObject>)>>(
+          'NSDecrementExtraRefCountWasZero');
+  late final _NSDecrementExtraRefCountWasZero =
+      _NSDecrementExtraRefCountWasZeroPtr.asFunction<
+          bool Function(ffi.Pointer<ObjCObject>)>();
+
+  int NSExtraRefCount(
+    ffi.Pointer<ObjCObject> object,
+  ) {
+    return _NSExtraRefCount(
+      object,
+    );
+  }
+
+  late final _NSExtraRefCountPtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ObjCObject>)>>(
+          'NSExtraRefCount');
+  late final _NSExtraRefCount =
+      _NSExtraRefCountPtr.asFunction<int Function(ffi.Pointer<ObjCObject>)>();
+
+  NSRange NSUnionRange(
+    NSRange range1,
+    NSRange range2,
+  ) {
+    return _NSUnionRange(
+      range1,
+      range2,
+    );
+  }
+
+  late final _NSUnionRangePtr =
+      _lookup<ffi.NativeFunction<NSRange Function(NSRange, NSRange)>>(
+          'NSUnionRange');
+  late final _NSUnionRange =
+      _NSUnionRangePtr.asFunction<NSRange Function(NSRange, NSRange)>();
+
+  NSRange NSIntersectionRange(
+    NSRange range1,
+    NSRange range2,
+  ) {
+    return _NSIntersectionRange(
+      range1,
+      range2,
+    );
+  }
+
+  late final _NSIntersectionRangePtr =
+      _lookup<ffi.NativeFunction<NSRange Function(NSRange, NSRange)>>(
+          'NSIntersectionRange');
+  late final _NSIntersectionRange =
+      _NSIntersectionRangePtr.asFunction<NSRange Function(NSRange, NSRange)>();
+
+  ffi.Pointer<ObjCObject> NSStringFromRange(
+    NSRange range,
+  ) {
+    return _NSStringFromRange(
+      range,
+    );
+  }
+
+  late final _NSStringFromRangePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ObjCObject> Function(NSRange)>>(
+          'NSStringFromRange');
+  late final _NSStringFromRange = _NSStringFromRangePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(NSRange)>();
+
+  NSRange NSRangeFromString(
+    ffi.Pointer<ObjCObject> aString,
+  ) {
+    return _NSRangeFromString(
+      aString,
+    );
+  }
+
+  late final _NSRangeFromStringPtr =
+      _lookup<ffi.NativeFunction<NSRange Function(ffi.Pointer<ObjCObject>)>>(
+          'NSRangeFromString');
+  late final _NSRangeFromString = _NSRangeFromStringPtr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>)>();
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSItemProviderPreferredImageSizeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSItemProviderPreferredImageSizeKey');
+
+  ffi.Pointer<ObjCObject> get NSItemProviderPreferredImageSizeKey =>
+      _NSItemProviderPreferredImageSizeKey.value;
+
+  set NSItemProviderPreferredImageSizeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSItemProviderPreferredImageSizeKey.value = value;
+
+  late final _class_NSItemProvider1 = _getClass1("NSItemProvider");
+  late final _class_NSProgress1 = _getClass1("NSProgress");
+  late final _sel_currentProgress1 = _registerName1("currentProgress");
+  ffi.Pointer<ObjCObject> _objc_msgSend_467(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_467(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_467Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_467 = __objc_msgSend_467Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_progressWithTotalUnitCount_1 =
+      _registerName1("progressWithTotalUnitCount:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_468(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unitCount,
+  ) {
+    return __objc_msgSend_468(
+      obj,
+      sel,
+      unitCount,
+    );
+  }
+
+  late final __objc_msgSend_468Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int64)>>('objc_msgSend');
+  late final __objc_msgSend_468 = __objc_msgSend_468Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_discreteProgressWithTotalUnitCount_1 =
+      _registerName1("discreteProgressWithTotalUnitCount:");
+  late final _sel_progressWithTotalUnitCount_parent_pendingUnitCount_1 =
+      _registerName1("progressWithTotalUnitCount:parent:pendingUnitCount:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_469(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unitCount,
+    ffi.Pointer<ObjCObject> parent,
+    int portionOfParentTotalUnitCount,
+  ) {
+    return __objc_msgSend_469(
+      obj,
+      sel,
+      unitCount,
+      parent,
+      portionOfParentTotalUnitCount,
+    );
+  }
+
+  late final __objc_msgSend_469Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int64,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int64)>>('objc_msgSend');
+  late final __objc_msgSend_469 = __objc_msgSend_469Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_initWithParent_userInfo_1 =
+      _registerName1("initWithParent:userInfo:");
+  instancetype _objc_msgSend_470(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> parentProgressOrNil,
+    ffi.Pointer<ObjCObject> userInfoOrNil,
+  ) {
+    return __objc_msgSend_470(
+      obj,
+      sel,
+      parentProgressOrNil,
+      userInfoOrNil,
+    );
+  }
+
+  late final __objc_msgSend_470Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_470 = __objc_msgSend_470Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_becomeCurrentWithPendingUnitCount_1 =
+      _registerName1("becomeCurrentWithPendingUnitCount:");
+  void _objc_msgSend_471(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unitCount,
+  ) {
+    return __objc_msgSend_471(
+      obj,
+      sel,
+      unitCount,
+    );
+  }
+
+  late final __objc_msgSend_471Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int64)>>('objc_msgSend');
+  late final __objc_msgSend_471 = __objc_msgSend_471Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_performAsCurrentWithPendingUnitCount_usingBlock_1 =
+      _registerName1("performAsCurrentWithPendingUnitCount:usingBlock:");
+  void _objc_msgSend_472(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unitCount,
+    ffi.Pointer<_ObjCBlock> work,
+  ) {
+    return __objc_msgSend_472(
+      obj,
+      sel,
+      unitCount,
+      work,
+    );
+  }
+
+  late final __objc_msgSend_472Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int64, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_472 = __objc_msgSend_472Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_resignCurrent1 = _registerName1("resignCurrent");
+  late final _sel_addChild_withPendingUnitCount_1 =
+      _registerName1("addChild:withPendingUnitCount:");
+  void _objc_msgSend_473(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> child,
+    int inUnitCount,
+  ) {
+    return __objc_msgSend_473(
+      obj,
+      sel,
+      child,
+      inUnitCount,
+    );
+  }
+
+  late final __objc_msgSend_473Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int64)>>('objc_msgSend');
+  late final __objc_msgSend_473 = __objc_msgSend_473Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_totalUnitCount1 = _registerName1("totalUnitCount");
+  int _objc_msgSend_474(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_474(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_474Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int64 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_474 = __objc_msgSend_474Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setTotalUnitCount_1 = _registerName1("setTotalUnitCount:");
+  void _objc_msgSend_475(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_475(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_475Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int64)>>('objc_msgSend');
+  late final __objc_msgSend_475 = __objc_msgSend_475Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_completedUnitCount1 = _registerName1("completedUnitCount");
+  late final _sel_setCompletedUnitCount_1 =
+      _registerName1("setCompletedUnitCount:");
+  late final _sel_setLocalizedDescription_1 =
+      _registerName1("setLocalizedDescription:");
+  late final _sel_localizedAdditionalDescription1 =
+      _registerName1("localizedAdditionalDescription");
+  late final _sel_setLocalizedAdditionalDescription_1 =
+      _registerName1("setLocalizedAdditionalDescription:");
+  late final _sel_isCancellable1 = _registerName1("isCancellable");
+  late final _sel_setCancellable_1 = _registerName1("setCancellable:");
+  late final _sel_isPausable1 = _registerName1("isPausable");
+  late final _sel_setPausable_1 = _registerName1("setPausable:");
+  late final _sel_isPaused1 = _registerName1("isPaused");
+  late final _sel_cancellationHandler1 = _registerName1("cancellationHandler");
+  ffi.Pointer<_ObjCBlock> _objc_msgSend_476(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_476(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_476Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<_ObjCBlock> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_476 = __objc_msgSend_476Ptr.asFunction<
+      ffi.Pointer<_ObjCBlock> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setCancellationHandler_1 =
+      _registerName1("setCancellationHandler:");
+  void _objc_msgSend_477(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> value,
+  ) {
+    return __objc_msgSend_477(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_477Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_477 = __objc_msgSend_477Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_pausingHandler1 = _registerName1("pausingHandler");
+  late final _sel_setPausingHandler_1 = _registerName1("setPausingHandler:");
+  late final _sel_resumingHandler1 = _registerName1("resumingHandler");
+  late final _sel_setResumingHandler_1 = _registerName1("setResumingHandler:");
+  late final _sel_setUserInfoObject_forKey_1 =
+      _registerName1("setUserInfoObject:forKey:");
+  late final _sel_isIndeterminate1 = _registerName1("isIndeterminate");
+  late final _sel_fractionCompleted1 = _registerName1("fractionCompleted");
+  late final _sel_pause1 = _registerName1("pause");
+  late final _sel_resume1 = _registerName1("resume");
+  late final _sel_kind1 = _registerName1("kind");
+  late final _sel_setKind_1 = _registerName1("setKind:");
+  late final _sel_estimatedTimeRemaining1 =
+      _registerName1("estimatedTimeRemaining");
+  late final _sel_setEstimatedTimeRemaining_1 =
+      _registerName1("setEstimatedTimeRemaining:");
+  void _objc_msgSend_478(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_478(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_478Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_478 = __objc_msgSend_478Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_throughput1 = _registerName1("throughput");
+  late final _sel_setThroughput_1 = _registerName1("setThroughput:");
+  late final _sel_fileOperationKind1 = _registerName1("fileOperationKind");
+  late final _sel_setFileOperationKind_1 =
+      _registerName1("setFileOperationKind:");
+  late final _sel_fileURL1 = _registerName1("fileURL");
+  late final _sel_setFileURL_1 = _registerName1("setFileURL:");
+  void _objc_msgSend_479(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_479(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_479Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_479 = __objc_msgSend_479Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_fileTotalCount1 = _registerName1("fileTotalCount");
+  late final _sel_setFileTotalCount_1 = _registerName1("setFileTotalCount:");
+  late final _sel_fileCompletedCount1 = _registerName1("fileCompletedCount");
+  late final _sel_setFileCompletedCount_1 =
+      _registerName1("setFileCompletedCount:");
+  late final _sel_publish1 = _registerName1("publish");
+  late final _sel_unpublish1 = _registerName1("unpublish");
+  late final _sel_addSubscriberForFileURL_withPublishingHandler_1 =
+      _registerName1("addSubscriberForFileURL:withPublishingHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_480(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    NSProgressPublishingHandler publishingHandler,
+  ) {
+    return __objc_msgSend_480(
+      obj,
+      sel,
+      url,
+      publishingHandler,
+    );
+  }
+
+  late final __objc_msgSend_480Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSProgressPublishingHandler)>>('objc_msgSend');
+  late final __objc_msgSend_480 = __objc_msgSend_480Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          NSProgressPublishingHandler)>();
+
+  late final _sel_removeSubscriber_1 = _registerName1("removeSubscriber:");
+  late final _sel_isOld1 = _registerName1("isOld");
+  late final _sel_registerDataRepresentationForTypeIdentifier_visibility_loadHandler_1 =
+      _registerName1(
+          "registerDataRepresentationForTypeIdentifier:visibility:loadHandler:");
+  void _objc_msgSend_481(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    int visibility,
+    ffi.Pointer<_ObjCBlock> loadHandler,
+  ) {
+    return __objc_msgSend_481(
+      obj,
+      sel,
+      typeIdentifier,
+      visibility,
+      loadHandler,
+    );
+  }
+
+  late final __objc_msgSend_481Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_481 = __objc_msgSend_481Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_1 =
+      _registerName1(
+          "registerFileRepresentationForTypeIdentifier:fileOptions:visibility:loadHandler:");
+  void _objc_msgSend_482(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    int fileOptions,
+    int visibility,
+    ffi.Pointer<_ObjCBlock> loadHandler,
+  ) {
+    return __objc_msgSend_482(
+      obj,
+      sel,
+      typeIdentifier,
+      fileOptions,
+      visibility,
+      loadHandler,
+    );
+  }
+
+  late final __objc_msgSend_482Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_482 = __objc_msgSend_482Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_registeredTypeIdentifiers1 =
+      _registerName1("registeredTypeIdentifiers");
+  late final _sel_registeredTypeIdentifiersWithFileOptions_1 =
+      _registerName1("registeredTypeIdentifiersWithFileOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_483(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int fileOptions,
+  ) {
+    return __objc_msgSend_483(
+      obj,
+      sel,
+      fileOptions,
+    );
+  }
+
+  late final __objc_msgSend_483Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_483 = __objc_msgSend_483Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_hasItemConformingToTypeIdentifier_1 =
+      _registerName1("hasItemConformingToTypeIdentifier:");
+  late final _sel_hasRepresentationConformingToTypeIdentifier_fileOptions_1 =
+      _registerName1(
+          "hasRepresentationConformingToTypeIdentifier:fileOptions:");
+  bool _objc_msgSend_484(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    int fileOptions,
+  ) {
+    return __objc_msgSend_484(
+      obj,
+      sel,
+      typeIdentifier,
+      fileOptions,
+    );
+  }
+
+  late final __objc_msgSend_484Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_484 = __objc_msgSend_484Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_loadDataRepresentationForTypeIdentifier_completionHandler_1 =
+      _registerName1(
+          "loadDataRepresentationForTypeIdentifier:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_485(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_485(
+      obj,
+      sel,
+      typeIdentifier,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_485Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_485 = __objc_msgSend_485Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_loadFileRepresentationForTypeIdentifier_completionHandler_1 =
+      _registerName1(
+          "loadFileRepresentationForTypeIdentifier:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_486(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_486(
+      obj,
+      sel,
+      typeIdentifier,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_486Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_486 = __objc_msgSend_486Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_1 =
+      _registerName1(
+          "loadInPlaceFileRepresentationForTypeIdentifier:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_487(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_487(
+      obj,
+      sel,
+      typeIdentifier,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_487Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_487 = __objc_msgSend_487Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_suggestedName1 = _registerName1("suggestedName");
+  late final _sel_setSuggestedName_1 = _registerName1("setSuggestedName:");
+  late final _sel_registerObject_visibility_1 =
+      _registerName1("registerObject:visibility:");
+  void _objc_msgSend_488(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> object,
+    int visibility,
+  ) {
+    return __objc_msgSend_488(
+      obj,
+      sel,
+      object,
+      visibility,
+    );
+  }
+
+  late final __objc_msgSend_488Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_488 = __objc_msgSend_488Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_registerObjectOfClass_visibility_loadHandler_1 =
+      _registerName1("registerObjectOfClass:visibility:loadHandler:");
+  void _objc_msgSend_489(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aClass,
+    int visibility,
+    ffi.Pointer<_ObjCBlock> loadHandler,
+  ) {
+    return __objc_msgSend_489(
+      obj,
+      sel,
+      aClass,
+      visibility,
+      loadHandler,
+    );
+  }
+
+  late final __objc_msgSend_489Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_489 = __objc_msgSend_489Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_canLoadObjectOfClass_1 =
+      _registerName1("canLoadObjectOfClass:");
+  late final _sel_loadObjectOfClass_completionHandler_1 =
+      _registerName1("loadObjectOfClass:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_490(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aClass,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_490(
+      obj,
+      sel,
+      aClass,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_490Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_490 = __objc_msgSend_490Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_initWithItem_typeIdentifier_1 =
+      _registerName1("initWithItem:typeIdentifier:");
+  late final _sel_registerItemForTypeIdentifier_loadHandler_1 =
+      _registerName1("registerItemForTypeIdentifier:loadHandler:");
+  void _objc_msgSend_491(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    NSItemProviderLoadHandler loadHandler,
+  ) {
+    return __objc_msgSend_491(
+      obj,
+      sel,
+      typeIdentifier,
+      loadHandler,
+    );
+  }
+
+  late final __objc_msgSend_491Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSItemProviderLoadHandler)>>('objc_msgSend');
+  late final __objc_msgSend_491 = __objc_msgSend_491Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSItemProviderLoadHandler)>();
+
+  late final _sel_loadItemForTypeIdentifier_options_completionHandler_1 =
+      _registerName1("loadItemForTypeIdentifier:options:completionHandler:");
+  void _objc_msgSend_492(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> typeIdentifier,
+    ffi.Pointer<ObjCObject> options,
+    NSItemProviderCompletionHandler completionHandler,
+  ) {
+    return __objc_msgSend_492(
+      obj,
+      sel,
+      typeIdentifier,
+      options,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_492Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSItemProviderCompletionHandler)>>('objc_msgSend');
+  late final __objc_msgSend_492 = __objc_msgSend_492Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          NSItemProviderCompletionHandler)>();
+
+  late final _sel_previewImageHandler1 = _registerName1("previewImageHandler");
+  NSItemProviderLoadHandler _objc_msgSend_493(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_493(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_493Ptr = _lookup<
+      ffi.NativeFunction<
+          NSItemProviderLoadHandler Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_493 = __objc_msgSend_493Ptr.asFunction<
+      NSItemProviderLoadHandler Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setPreviewImageHandler_1 =
+      _registerName1("setPreviewImageHandler:");
+  void _objc_msgSend_494(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSItemProviderLoadHandler value,
+  ) {
+    return __objc_msgSend_494(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_494Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSItemProviderLoadHandler)>>('objc_msgSend');
+  late final __objc_msgSend_494 = __objc_msgSend_494Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSItemProviderLoadHandler)>();
+
+  late final _sel_loadPreviewImageWithOptions_completionHandler_1 =
+      _registerName1("loadPreviewImageWithOptions:completionHandler:");
+  void _objc_msgSend_495(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> options,
+    NSItemProviderCompletionHandler completionHandler,
+  ) {
+    return __objc_msgSend_495(
+      obj,
+      sel,
+      options,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_495Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSItemProviderCompletionHandler)>>('objc_msgSend');
+  late final __objc_msgSend_495 = __objc_msgSend_495Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSItemProviderCompletionHandler)>();
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionJavaScriptPreprocessingResultsKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSExtensionJavaScriptPreprocessingResultsKey');
+
+  ffi.Pointer<ObjCObject> get NSExtensionJavaScriptPreprocessingResultsKey =>
+      _NSExtensionJavaScriptPreprocessingResultsKey.value;
+
+  set NSExtensionJavaScriptPreprocessingResultsKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionJavaScriptPreprocessingResultsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionJavaScriptFinalizeArgumentKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSExtensionJavaScriptFinalizeArgumentKey');
+
+  ffi.Pointer<ObjCObject> get NSExtensionJavaScriptFinalizeArgumentKey =>
+      _NSExtensionJavaScriptFinalizeArgumentKey.value;
+
+  set NSExtensionJavaScriptFinalizeArgumentKey(ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionJavaScriptFinalizeArgumentKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSItemProviderErrorDomain =
+      _lookup<ffi.Pointer<ObjCObject>>('NSItemProviderErrorDomain');
+
+  ffi.Pointer<ObjCObject> get NSItemProviderErrorDomain =>
+      _NSItemProviderErrorDomain.value;
+
+  set NSItemProviderErrorDomain(ffi.Pointer<ObjCObject> value) =>
+      _NSItemProviderErrorDomain.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToKatakana =
+      _lookup<NSStringTransform>('NSStringTransformLatinToKatakana');
+
+  NSStringTransform get NSStringTransformLatinToKatakana =>
+      _NSStringTransformLatinToKatakana.value;
+
+  set NSStringTransformLatinToKatakana(NSStringTransform value) =>
+      _NSStringTransformLatinToKatakana.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToHiragana =
+      _lookup<NSStringTransform>('NSStringTransformLatinToHiragana');
+
+  NSStringTransform get NSStringTransformLatinToHiragana =>
+      _NSStringTransformLatinToHiragana.value;
+
+  set NSStringTransformLatinToHiragana(NSStringTransform value) =>
+      _NSStringTransformLatinToHiragana.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToHangul =
+      _lookup<NSStringTransform>('NSStringTransformLatinToHangul');
+
+  NSStringTransform get NSStringTransformLatinToHangul =>
+      _NSStringTransformLatinToHangul.value;
+
+  set NSStringTransformLatinToHangul(NSStringTransform value) =>
+      _NSStringTransformLatinToHangul.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToArabic =
+      _lookup<NSStringTransform>('NSStringTransformLatinToArabic');
+
+  NSStringTransform get NSStringTransformLatinToArabic =>
+      _NSStringTransformLatinToArabic.value;
+
+  set NSStringTransformLatinToArabic(NSStringTransform value) =>
+      _NSStringTransformLatinToArabic.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToHebrew =
+      _lookup<NSStringTransform>('NSStringTransformLatinToHebrew');
+
+  NSStringTransform get NSStringTransformLatinToHebrew =>
+      _NSStringTransformLatinToHebrew.value;
+
+  set NSStringTransformLatinToHebrew(NSStringTransform value) =>
+      _NSStringTransformLatinToHebrew.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToThai =
+      _lookup<NSStringTransform>('NSStringTransformLatinToThai');
+
+  NSStringTransform get NSStringTransformLatinToThai =>
+      _NSStringTransformLatinToThai.value;
+
+  set NSStringTransformLatinToThai(NSStringTransform value) =>
+      _NSStringTransformLatinToThai.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToCyrillic =
+      _lookup<NSStringTransform>('NSStringTransformLatinToCyrillic');
+
+  NSStringTransform get NSStringTransformLatinToCyrillic =>
+      _NSStringTransformLatinToCyrillic.value;
+
+  set NSStringTransformLatinToCyrillic(NSStringTransform value) =>
+      _NSStringTransformLatinToCyrillic.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformLatinToGreek =
+      _lookup<NSStringTransform>('NSStringTransformLatinToGreek');
+
+  NSStringTransform get NSStringTransformLatinToGreek =>
+      _NSStringTransformLatinToGreek.value;
+
+  set NSStringTransformLatinToGreek(NSStringTransform value) =>
+      _NSStringTransformLatinToGreek.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformToLatin =
+      _lookup<NSStringTransform>('NSStringTransformToLatin');
+
+  NSStringTransform get NSStringTransformToLatin =>
+      _NSStringTransformToLatin.value;
+
+  set NSStringTransformToLatin(NSStringTransform value) =>
+      _NSStringTransformToLatin.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformMandarinToLatin =
+      _lookup<NSStringTransform>('NSStringTransformMandarinToLatin');
+
+  NSStringTransform get NSStringTransformMandarinToLatin =>
+      _NSStringTransformMandarinToLatin.value;
+
+  set NSStringTransformMandarinToLatin(NSStringTransform value) =>
+      _NSStringTransformMandarinToLatin.value = value;
+
+  late final ffi.Pointer<NSStringTransform>
+      _NSStringTransformHiraganaToKatakana =
+      _lookup<NSStringTransform>('NSStringTransformHiraganaToKatakana');
+
+  NSStringTransform get NSStringTransformHiraganaToKatakana =>
+      _NSStringTransformHiraganaToKatakana.value;
+
+  set NSStringTransformHiraganaToKatakana(NSStringTransform value) =>
+      _NSStringTransformHiraganaToKatakana.value = value;
+
+  late final ffi.Pointer<NSStringTransform>
+      _NSStringTransformFullwidthToHalfwidth =
+      _lookup<NSStringTransform>('NSStringTransformFullwidthToHalfwidth');
+
+  NSStringTransform get NSStringTransformFullwidthToHalfwidth =>
+      _NSStringTransformFullwidthToHalfwidth.value;
+
+  set NSStringTransformFullwidthToHalfwidth(NSStringTransform value) =>
+      _NSStringTransformFullwidthToHalfwidth.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformToXMLHex =
+      _lookup<NSStringTransform>('NSStringTransformToXMLHex');
+
+  NSStringTransform get NSStringTransformToXMLHex =>
+      _NSStringTransformToXMLHex.value;
+
+  set NSStringTransformToXMLHex(NSStringTransform value) =>
+      _NSStringTransformToXMLHex.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformToUnicodeName =
+      _lookup<NSStringTransform>('NSStringTransformToUnicodeName');
+
+  NSStringTransform get NSStringTransformToUnicodeName =>
+      _NSStringTransformToUnicodeName.value;
+
+  set NSStringTransformToUnicodeName(NSStringTransform value) =>
+      _NSStringTransformToUnicodeName.value = value;
+
+  late final ffi.Pointer<NSStringTransform>
+      _NSStringTransformStripCombiningMarks =
+      _lookup<NSStringTransform>('NSStringTransformStripCombiningMarks');
+
+  NSStringTransform get NSStringTransformStripCombiningMarks =>
+      _NSStringTransformStripCombiningMarks.value;
+
+  set NSStringTransformStripCombiningMarks(NSStringTransform value) =>
+      _NSStringTransformStripCombiningMarks.value = value;
+
+  late final ffi.Pointer<NSStringTransform> _NSStringTransformStripDiacritics =
+      _lookup<NSStringTransform>('NSStringTransformStripDiacritics');
+
+  NSStringTransform get NSStringTransformStripDiacritics =>
+      _NSStringTransformStripDiacritics.value;
+
+  set NSStringTransformStripDiacritics(NSStringTransform value) =>
+      _NSStringTransformStripDiacritics.value = value;
+
+  late final ffi.Pointer<NSStringEncodingDetectionOptionsKey>
+      _NSStringEncodingDetectionSuggestedEncodingsKey =
+      _lookup<NSStringEncodingDetectionOptionsKey>(
+          'NSStringEncodingDetectionSuggestedEncodingsKey');
+
+  NSStringEncodingDetectionOptionsKey
+      get NSStringEncodingDetectionSuggestedEncodingsKey =>
+          _NSStringEncodingDetectionSuggestedEncodingsKey.value;
+
+  set NSStringEncodingDetectionSuggestedEncodingsKey(
+          NSStringEncodingDetectionOptionsKey value) =>
+      _NSStringEncodingDetectionSuggestedEncodingsKey.value = value;
+
+  late final ffi.Pointer<NSStringEncodingDetectionOptionsKey>
+      _NSStringEncodingDetectionDisallowedEncodingsKey =
+      _lookup<NSStringEncodingDetectionOptionsKey>(
+          'NSStringEncodingDetectionDisallowedEncodingsKey');
+
+  NSStringEncodingDetectionOptionsKey
+      get NSStringEncodingDetectionDisallowedEncodingsKey =>
+          _NSStringEncodingDetectionDisallowedEncodingsKey.value;
+
+  set NSStringEncodingDetectionDisallowedEncodingsKey(
+          NSStringEncodingDetectionOptionsKey value) =>
+      _NSStringEncodingDetectionDisallowedEncodingsKey.value = value;
+
+  late final ffi.Pointer<NSStringEncodingDetectionOptionsKey>
+      _NSStringEncodingDetectionUseOnlySuggestedEncodingsKey =
+      _lookup<NSStringEncodingDetectionOptionsKey>(
+          'NSStringEncodingDetectionUseOnlySuggestedEncodingsKey');
+
+  NSStringEncodingDetectionOptionsKey
+      get NSStringEncodingDetectionUseOnlySuggestedEncodingsKey =>
+          _NSStringEncodingDetectionUseOnlySuggestedEncodingsKey.value;
+
+  set NSStringEncodingDetectionUseOnlySuggestedEncodingsKey(
+          NSStringEncodingDetectionOptionsKey value) =>
+      _NSStringEncodingDetectionUseOnlySuggestedEncodingsKey.value = value;
+
+  late final ffi.Pointer<NSStringEncodingDetectionOptionsKey>
+      _NSStringEncodingDetectionAllowLossyKey =
+      _lookup<NSStringEncodingDetectionOptionsKey>(
+          'NSStringEncodingDetectionAllowLossyKey');
+
+  NSStringEncodingDetectionOptionsKey
+      get NSStringEncodingDetectionAllowLossyKey =>
+          _NSStringEncodingDetectionAllowLossyKey.value;
+
+  set NSStringEncodingDetectionAllowLossyKey(
+          NSStringEncodingDetectionOptionsKey value) =>
+      _NSStringEncodingDetectionAllowLossyKey.value = value;
+
+  late final ffi.Pointer<NSStringEncodingDetectionOptionsKey>
+      _NSStringEncodingDetectionFromWindowsKey =
+      _lookup<NSStringEncodingDetectionOptionsKey>(
+          'NSStringEncodingDetectionFromWindowsKey');
+
+  NSStringEncodingDetectionOptionsKey
+      get NSStringEncodingDetectionFromWindowsKey =>
+          _NSStringEncodingDetectionFromWindowsKey.value;
+
+  set NSStringEncodingDetectionFromWindowsKey(
+          NSStringEncodingDetectionOptionsKey value) =>
+      _NSStringEncodingDetectionFromWindowsKey.value = value;
+
+  late final ffi.Pointer<NSStringEncodingDetectionOptionsKey>
+      _NSStringEncodingDetectionLossySubstitutionKey =
+      _lookup<NSStringEncodingDetectionOptionsKey>(
+          'NSStringEncodingDetectionLossySubstitutionKey');
+
+  NSStringEncodingDetectionOptionsKey
+      get NSStringEncodingDetectionLossySubstitutionKey =>
+          _NSStringEncodingDetectionLossySubstitutionKey.value;
+
+  set NSStringEncodingDetectionLossySubstitutionKey(
+          NSStringEncodingDetectionOptionsKey value) =>
+      _NSStringEncodingDetectionLossySubstitutionKey.value = value;
+
+  late final ffi.Pointer<NSStringEncodingDetectionOptionsKey>
+      _NSStringEncodingDetectionLikelyLanguageKey =
+      _lookup<NSStringEncodingDetectionOptionsKey>(
+          'NSStringEncodingDetectionLikelyLanguageKey');
+
+  NSStringEncodingDetectionOptionsKey
+      get NSStringEncodingDetectionLikelyLanguageKey =>
+          _NSStringEncodingDetectionLikelyLanguageKey.value;
+
+  set NSStringEncodingDetectionLikelyLanguageKey(
+          NSStringEncodingDetectionOptionsKey value) =>
+      _NSStringEncodingDetectionLikelyLanguageKey.value = value;
+
+  late final _class_NSMutableString1 = _getClass1("NSMutableString");
+  late final _sel_replaceCharactersInRange_withString_1 =
+      _registerName1("replaceCharactersInRange:withString:");
+  void _objc_msgSend_496(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> aString,
+  ) {
+    return __objc_msgSend_496(
+      obj,
+      sel,
+      range,
+      aString,
+    );
+  }
+
+  late final __objc_msgSend_496Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_496 = __objc_msgSend_496Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_insertString_atIndex_1 =
+      _registerName1("insertString:atIndex:");
+  void _objc_msgSend_497(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aString,
+    int loc,
+  ) {
+    return __objc_msgSend_497(
+      obj,
+      sel,
+      aString,
+      loc,
+    );
+  }
+
+  late final __objc_msgSend_497Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_497 = __objc_msgSend_497Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_deleteCharactersInRange_1 =
+      _registerName1("deleteCharactersInRange:");
+  late final _sel_appendString_1 = _registerName1("appendString:");
+  late final _sel_appendFormat_1 = _registerName1("appendFormat:");
+  late final _sel_setString_1 = _registerName1("setString:");
+  late final _sel_replaceOccurrencesOfString_withString_options_range_1 =
+      _registerName1("replaceOccurrencesOfString:withString:options:range:");
+  int _objc_msgSend_498(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> target,
+    ffi.Pointer<ObjCObject> replacement,
+    int options,
+    NSRange searchRange,
+  ) {
+    return __objc_msgSend_498(
+      obj,
+      sel,
+      target,
+      replacement,
+      options,
+      searchRange,
+    );
+  }
+
+  late final __objc_msgSend_498Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_498 = __objc_msgSend_498Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_applyTransform_reverse_range_updatedRange_1 =
+      _registerName1("applyTransform:reverse:range:updatedRange:");
+  bool _objc_msgSend_499(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSStringTransform transform,
+    bool reverse,
+    NSRange range,
+    NSRangePointer resultingRange,
+  ) {
+    return __objc_msgSend_499(
+      obj,
+      sel,
+      transform,
+      reverse,
+      range,
+      resultingRange,
+    );
+  }
+
+  late final __objc_msgSend_499Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSStringTransform,
+              ffi.Bool,
+              NSRange,
+              NSRangePointer)>>('objc_msgSend');
+  late final __objc_msgSend_499 = __objc_msgSend_499Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSStringTransform, bool, NSRange, NSRangePointer)>();
+
+  ffi.Pointer<ObjCObject> _objc_msgSend_500(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int capacity,
+  ) {
+    return __objc_msgSend_500(
+      obj,
+      sel,
+      capacity,
+    );
+  }
+
+  late final __objc_msgSend_500Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_500 = __objc_msgSend_500Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_stringWithCapacity_1 = _registerName1("stringWithCapacity:");
+  late final ffi.Pointer<NSExceptionName> _NSCharacterConversionException =
+      _lookup<NSExceptionName>('NSCharacterConversionException');
+
+  NSExceptionName get NSCharacterConversionException =>
+      _NSCharacterConversionException.value;
+
+  set NSCharacterConversionException(NSExceptionName value) =>
+      _NSCharacterConversionException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSParseErrorException =
+      _lookup<NSExceptionName>('NSParseErrorException');
+
+  NSExceptionName get NSParseErrorException => _NSParseErrorException.value;
+
+  set NSParseErrorException(NSExceptionName value) =>
+      _NSParseErrorException.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey>
+      _NSProgressEstimatedTimeRemainingKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressEstimatedTimeRemainingKey');
+
+  NSProgressUserInfoKey get NSProgressEstimatedTimeRemainingKey =>
+      _NSProgressEstimatedTimeRemainingKey.value;
+
+  set NSProgressEstimatedTimeRemainingKey(NSProgressUserInfoKey value) =>
+      _NSProgressEstimatedTimeRemainingKey.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey> _NSProgressThroughputKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressThroughputKey');
+
+  NSProgressUserInfoKey get NSProgressThroughputKey =>
+      _NSProgressThroughputKey.value;
+
+  set NSProgressThroughputKey(NSProgressUserInfoKey value) =>
+      _NSProgressThroughputKey.value = value;
+
+  late final ffi.Pointer<NSProgressKind> _NSProgressKindFile =
+      _lookup<NSProgressKind>('NSProgressKindFile');
+
+  NSProgressKind get NSProgressKindFile => _NSProgressKindFile.value;
+
+  set NSProgressKindFile(NSProgressKind value) =>
+      _NSProgressKindFile.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey>
+      _NSProgressFileOperationKindKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressFileOperationKindKey');
+
+  NSProgressUserInfoKey get NSProgressFileOperationKindKey =>
+      _NSProgressFileOperationKindKey.value;
+
+  set NSProgressFileOperationKindKey(NSProgressUserInfoKey value) =>
+      _NSProgressFileOperationKindKey.value = value;
+
+  late final ffi.Pointer<NSProgressFileOperationKind>
+      _NSProgressFileOperationKindDownloading =
+      _lookup<NSProgressFileOperationKind>(
+          'NSProgressFileOperationKindDownloading');
+
+  NSProgressFileOperationKind get NSProgressFileOperationKindDownloading =>
+      _NSProgressFileOperationKindDownloading.value;
+
+  set NSProgressFileOperationKindDownloading(
+          NSProgressFileOperationKind value) =>
+      _NSProgressFileOperationKindDownloading.value = value;
+
+  late final ffi.Pointer<NSProgressFileOperationKind>
+      _NSProgressFileOperationKindDecompressingAfterDownloading =
+      _lookup<NSProgressFileOperationKind>(
+          'NSProgressFileOperationKindDecompressingAfterDownloading');
+
+  NSProgressFileOperationKind
+      get NSProgressFileOperationKindDecompressingAfterDownloading =>
+          _NSProgressFileOperationKindDecompressingAfterDownloading.value;
+
+  set NSProgressFileOperationKindDecompressingAfterDownloading(
+          NSProgressFileOperationKind value) =>
+      _NSProgressFileOperationKindDecompressingAfterDownloading.value = value;
+
+  late final ffi.Pointer<NSProgressFileOperationKind>
+      _NSProgressFileOperationKindReceiving =
+      _lookup<NSProgressFileOperationKind>(
+          'NSProgressFileOperationKindReceiving');
+
+  NSProgressFileOperationKind get NSProgressFileOperationKindReceiving =>
+      _NSProgressFileOperationKindReceiving.value;
+
+  set NSProgressFileOperationKindReceiving(NSProgressFileOperationKind value) =>
+      _NSProgressFileOperationKindReceiving.value = value;
+
+  late final ffi.Pointer<NSProgressFileOperationKind>
+      _NSProgressFileOperationKindCopying =
+      _lookup<NSProgressFileOperationKind>(
+          'NSProgressFileOperationKindCopying');
+
+  NSProgressFileOperationKind get NSProgressFileOperationKindCopying =>
+      _NSProgressFileOperationKindCopying.value;
+
+  set NSProgressFileOperationKindCopying(NSProgressFileOperationKind value) =>
+      _NSProgressFileOperationKindCopying.value = value;
+
+  late final ffi.Pointer<NSProgressFileOperationKind>
+      _NSProgressFileOperationKindUploading =
+      _lookup<NSProgressFileOperationKind>(
+          'NSProgressFileOperationKindUploading');
+
+  NSProgressFileOperationKind get NSProgressFileOperationKindUploading =>
+      _NSProgressFileOperationKindUploading.value;
+
+  set NSProgressFileOperationKindUploading(NSProgressFileOperationKind value) =>
+      _NSProgressFileOperationKindUploading.value = value;
+
+  late final ffi.Pointer<NSProgressFileOperationKind>
+      _NSProgressFileOperationKindDuplicating =
+      _lookup<NSProgressFileOperationKind>(
+          'NSProgressFileOperationKindDuplicating');
+
+  NSProgressFileOperationKind get NSProgressFileOperationKindDuplicating =>
+      _NSProgressFileOperationKindDuplicating.value;
+
+  set NSProgressFileOperationKindDuplicating(
+          NSProgressFileOperationKind value) =>
+      _NSProgressFileOperationKindDuplicating.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey> _NSProgressFileURLKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressFileURLKey');
+
+  NSProgressUserInfoKey get NSProgressFileURLKey => _NSProgressFileURLKey.value;
+
+  set NSProgressFileURLKey(NSProgressUserInfoKey value) =>
+      _NSProgressFileURLKey.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey> _NSProgressFileTotalCountKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressFileTotalCountKey');
+
+  NSProgressUserInfoKey get NSProgressFileTotalCountKey =>
+      _NSProgressFileTotalCountKey.value;
+
+  set NSProgressFileTotalCountKey(NSProgressUserInfoKey value) =>
+      _NSProgressFileTotalCountKey.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey>
+      _NSProgressFileCompletedCountKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressFileCompletedCountKey');
+
+  NSProgressUserInfoKey get NSProgressFileCompletedCountKey =>
+      _NSProgressFileCompletedCountKey.value;
+
+  set NSProgressFileCompletedCountKey(NSProgressUserInfoKey value) =>
+      _NSProgressFileCompletedCountKey.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey>
+      _NSProgressFileAnimationImageKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressFileAnimationImageKey');
+
+  NSProgressUserInfoKey get NSProgressFileAnimationImageKey =>
+      _NSProgressFileAnimationImageKey.value;
+
+  set NSProgressFileAnimationImageKey(NSProgressUserInfoKey value) =>
+      _NSProgressFileAnimationImageKey.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey>
+      _NSProgressFileAnimationImageOriginalRectKey =
+      _lookup<NSProgressUserInfoKey>(
+          'NSProgressFileAnimationImageOriginalRectKey');
+
+  NSProgressUserInfoKey get NSProgressFileAnimationImageOriginalRectKey =>
+      _NSProgressFileAnimationImageOriginalRectKey.value;
+
+  set NSProgressFileAnimationImageOriginalRectKey(
+          NSProgressUserInfoKey value) =>
+      _NSProgressFileAnimationImageOriginalRectKey.value = value;
+
+  late final ffi.Pointer<NSProgressUserInfoKey> _NSProgressFileIconKey =
+      _lookup<NSProgressUserInfoKey>('NSProgressFileIconKey');
+
+  NSProgressUserInfoKey get NSProgressFileIconKey =>
+      _NSProgressFileIconKey.value;
+
+  set NSProgressFileIconKey(NSProgressUserInfoKey value) =>
+      _NSProgressFileIconKey.value = value;
+
+  late final _class_NSNotification1 = _getClass1("NSNotification");
+  late final _sel_object1 = _registerName1("object");
+  late final _sel_initWithName_object_userInfo_1 =
+      _registerName1("initWithName:object:userInfo:");
+  instancetype _objc_msgSend_501(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSNotificationName name,
+    ffi.Pointer<ObjCObject> object,
+    ffi.Pointer<ObjCObject> userInfo,
+  ) {
+    return __objc_msgSend_501(
+      obj,
+      sel,
+      name,
+      object,
+      userInfo,
+    );
+  }
+
+  late final __objc_msgSend_501Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSNotificationName,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_501 = __objc_msgSend_501Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSNotificationName,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_notificationWithName_object_1 =
+      _registerName1("notificationWithName:object:");
+  late final _sel_notificationWithName_object_userInfo_1 =
+      _registerName1("notificationWithName:object:userInfo:");
+  late final ffi.Pointer<NSNotificationName> _NSBundleDidLoadNotification =
+      _lookup<NSNotificationName>('NSBundleDidLoadNotification');
+
+  NSNotificationName get NSBundleDidLoadNotification =>
+      _NSBundleDidLoadNotification.value;
+
+  set NSBundleDidLoadNotification(NSNotificationName value) =>
+      _NSBundleDidLoadNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSLoadedClasses =
+      _lookup<ffi.Pointer<ObjCObject>>('NSLoadedClasses');
+
+  ffi.Pointer<ObjCObject> get NSLoadedClasses => _NSLoadedClasses.value;
+
+  set NSLoadedClasses(ffi.Pointer<ObjCObject> value) =>
+      _NSLoadedClasses.value = value;
+
+  late final _class_NSBundle1 = _getClass1("NSBundle");
+  late final _sel_mainBundle1 = _registerName1("mainBundle");
+  ffi.Pointer<ObjCObject> _objc_msgSend_502(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_502(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_502Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_502 = __objc_msgSend_502Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_bundleWithPath_1 = _registerName1("bundleWithPath:");
+  late final _sel_initWithPath_1 = _registerName1("initWithPath:");
+  late final _sel_bundleWithURL_1 = _registerName1("bundleWithURL:");
+  late final _sel_initWithURL_1 = _registerName1("initWithURL:");
+  late final _sel_bundleForClass_1 = _registerName1("bundleForClass:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_503(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aClass,
+  ) {
+    return __objc_msgSend_503(
+      obj,
+      sel,
+      aClass,
+    );
+  }
+
+  late final __objc_msgSend_503Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_503 = __objc_msgSend_503Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_bundleWithIdentifier_1 =
+      _registerName1("bundleWithIdentifier:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_504(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> identifier,
+  ) {
+    return __objc_msgSend_504(
+      obj,
+      sel,
+      identifier,
+    );
+  }
+
+  late final __objc_msgSend_504Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_504 = __objc_msgSend_504Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_allBundles1 = _registerName1("allBundles");
+  late final _sel_allFrameworks1 = _registerName1("allFrameworks");
+  late final _sel_isLoaded1 = _registerName1("isLoaded");
+  late final _sel_unload1 = _registerName1("unload");
+  late final _sel_preflightAndReturnError_1 =
+      _registerName1("preflightAndReturnError:");
+  late final _sel_loadAndReturnError_1 = _registerName1("loadAndReturnError:");
+  late final _sel_bundleURL1 = _registerName1("bundleURL");
+  late final _sel_resourceURL1 = _registerName1("resourceURL");
+  late final _sel_executableURL1 = _registerName1("executableURL");
+  late final _sel_URLForAuxiliaryExecutable_1 =
+      _registerName1("URLForAuxiliaryExecutable:");
+  late final _sel_privateFrameworksURL1 =
+      _registerName1("privateFrameworksURL");
+  late final _sel_sharedFrameworksURL1 = _registerName1("sharedFrameworksURL");
+  late final _sel_sharedSupportURL1 = _registerName1("sharedSupportURL");
+  late final _sel_builtInPlugInsURL1 = _registerName1("builtInPlugInsURL");
+  late final _sel_appStoreReceiptURL1 = _registerName1("appStoreReceiptURL");
+  late final _sel_bundlePath1 = _registerName1("bundlePath");
+  late final _sel_resourcePath1 = _registerName1("resourcePath");
+  late final _sel_executablePath1 = _registerName1("executablePath");
+  late final _sel_pathForAuxiliaryExecutable_1 =
+      _registerName1("pathForAuxiliaryExecutable:");
+  late final _sel_privateFrameworksPath1 =
+      _registerName1("privateFrameworksPath");
+  late final _sel_sharedFrameworksPath1 =
+      _registerName1("sharedFrameworksPath");
+  late final _sel_sharedSupportPath1 = _registerName1("sharedSupportPath");
+  late final _sel_builtInPlugInsPath1 = _registerName1("builtInPlugInsPath");
+  late final _sel_URLForResource_withExtension_subdirectory_inBundleWithURL_1 =
+      _registerName1(
+          "URLForResource:withExtension:subdirectory:inBundleWithURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_505(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> name,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> subpath,
+    ffi.Pointer<ObjCObject> bundleURL,
+  ) {
+    return __objc_msgSend_505(
+      obj,
+      sel,
+      name,
+      ext,
+      subpath,
+      bundleURL,
+    );
+  }
+
+  late final __objc_msgSend_505Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_505 = __objc_msgSend_505Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLsForResourcesWithExtension_subdirectory_inBundleWithURL_1 =
+      _registerName1(
+          "URLsForResourcesWithExtension:subdirectory:inBundleWithURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_506(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> subpath,
+    ffi.Pointer<ObjCObject> bundleURL,
+  ) {
+    return __objc_msgSend_506(
+      obj,
+      sel,
+      ext,
+      subpath,
+      bundleURL,
+    );
+  }
+
+  late final __objc_msgSend_506Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_506 = __objc_msgSend_506Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLForResource_withExtension_1 =
+      _registerName1("URLForResource:withExtension:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_507(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> name,
+    ffi.Pointer<ObjCObject> ext,
+  ) {
+    return __objc_msgSend_507(
+      obj,
+      sel,
+      name,
+      ext,
+    );
+  }
+
+  late final __objc_msgSend_507Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_507 = __objc_msgSend_507Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLForResource_withExtension_subdirectory_1 =
+      _registerName1("URLForResource:withExtension:subdirectory:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_508(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> name,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> subpath,
+  ) {
+    return __objc_msgSend_508(
+      obj,
+      sel,
+      name,
+      ext,
+      subpath,
+    );
+  }
+
+  late final __objc_msgSend_508Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_508 = __objc_msgSend_508Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLForResource_withExtension_subdirectory_localization_1 =
+      _registerName1("URLForResource:withExtension:subdirectory:localization:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_509(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> name,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> subpath,
+    ffi.Pointer<ObjCObject> localizationName,
+  ) {
+    return __objc_msgSend_509(
+      obj,
+      sel,
+      name,
+      ext,
+      subpath,
+      localizationName,
+    );
+  }
+
+  late final __objc_msgSend_509Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_509 = __objc_msgSend_509Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLsForResourcesWithExtension_subdirectory_1 =
+      _registerName1("URLsForResourcesWithExtension:subdirectory:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_510(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> subpath,
+  ) {
+    return __objc_msgSend_510(
+      obj,
+      sel,
+      ext,
+      subpath,
+    );
+  }
+
+  late final __objc_msgSend_510Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_510 = __objc_msgSend_510Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLsForResourcesWithExtension_subdirectory_localization_1 =
+      _registerName1(
+          "URLsForResourcesWithExtension:subdirectory:localization:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_511(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> subpath,
+    ffi.Pointer<ObjCObject> localizationName,
+  ) {
+    return __objc_msgSend_511(
+      obj,
+      sel,
+      ext,
+      subpath,
+      localizationName,
+    );
+  }
+
+  late final __objc_msgSend_511Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_511 = __objc_msgSend_511Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_pathForResource_ofType_inDirectory_1 =
+      _registerName1("pathForResource:ofType:inDirectory:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_512(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> name,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> bundlePath,
+  ) {
+    return __objc_msgSend_512(
+      obj,
+      sel,
+      name,
+      ext,
+      bundlePath,
+    );
+  }
+
+  late final __objc_msgSend_512Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_512 = __objc_msgSend_512Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_pathsForResourcesOfType_inDirectory_1 =
+      _registerName1("pathsForResourcesOfType:inDirectory:");
+  late final _sel_pathForResource_ofType_1 =
+      _registerName1("pathForResource:ofType:");
+  late final _sel_pathForResource_ofType_inDirectory_forLocalization_1 =
+      _registerName1("pathForResource:ofType:inDirectory:forLocalization:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_513(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> name,
+    ffi.Pointer<ObjCObject> ext,
+    ffi.Pointer<ObjCObject> subpath,
+    ffi.Pointer<ObjCObject> localizationName,
+  ) {
+    return __objc_msgSend_513(
+      obj,
+      sel,
+      name,
+      ext,
+      subpath,
+      localizationName,
+    );
+  }
+
+  late final __objc_msgSend_513Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_513 = __objc_msgSend_513Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_pathsForResourcesOfType_inDirectory_forLocalization_1 =
+      _registerName1("pathsForResourcesOfType:inDirectory:forLocalization:");
+  late final _sel_localizedStringForKey_value_table_1 =
+      _registerName1("localizedStringForKey:value:table:");
+  late final _class_NSAttributedString1 = _getClass1("NSAttributedString");
+  late final _sel_attributesAtIndex_effectiveRange_1 =
+      _registerName1("attributesAtIndex:effectiveRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_514(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int location,
+    NSRangePointer range,
+  ) {
+    return __objc_msgSend_514(
+      obj,
+      sel,
+      location,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_514Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              NSRangePointer)>>('objc_msgSend');
+  late final __objc_msgSend_514 = __objc_msgSend_514Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, NSRangePointer)>();
+
+  late final _sel_attribute_atIndex_effectiveRange_1 =
+      _registerName1("attribute:atIndex:effectiveRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_515(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSAttributedStringKey attrName,
+    int location,
+    NSRangePointer range,
+  ) {
+    return __objc_msgSend_515(
+      obj,
+      sel,
+      attrName,
+      location,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_515Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSAttributedStringKey,
+              NSUInteger,
+              NSRangePointer)>>('objc_msgSend');
+  late final __objc_msgSend_515 = __objc_msgSend_515Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSAttributedStringKey, int, NSRangePointer)>();
+
+  late final _sel_attributedSubstringFromRange_1 =
+      _registerName1("attributedSubstringFromRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_516(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_516(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_516Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_516 = __objc_msgSend_516Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_attributesAtIndex_longestEffectiveRange_inRange_1 =
+      _registerName1("attributesAtIndex:longestEffectiveRange:inRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_517(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int location,
+    NSRangePointer range,
+    NSRange rangeLimit,
+  ) {
+    return __objc_msgSend_517(
+      obj,
+      sel,
+      location,
+      range,
+      rangeLimit,
+    );
+  }
+
+  late final __objc_msgSend_517Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              NSRangePointer,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_517 = __objc_msgSend_517Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, NSRangePointer, NSRange)>();
+
+  late final _sel_attribute_atIndex_longestEffectiveRange_inRange_1 =
+      _registerName1("attribute:atIndex:longestEffectiveRange:inRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_518(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSAttributedStringKey attrName,
+    int location,
+    NSRangePointer range,
+    NSRange rangeLimit,
+  ) {
+    return __objc_msgSend_518(
+      obj,
+      sel,
+      attrName,
+      location,
+      range,
+      rangeLimit,
+    );
+  }
+
+  late final __objc_msgSend_518Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSAttributedStringKey,
+              NSUInteger,
+              NSRangePointer,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_518 = __objc_msgSend_518Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSAttributedStringKey,
+          int,
+          NSRangePointer,
+          NSRange)>();
+
+  late final _sel_isEqualToAttributedString_1 =
+      _registerName1("isEqualToAttributedString:");
+  bool _objc_msgSend_519(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_519(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_519Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_519 = __objc_msgSend_519Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithString_attributes_1 =
+      _registerName1("initWithString:attributes:");
+  late final _sel_initWithAttributedString_1 =
+      _registerName1("initWithAttributedString:");
+  instancetype _objc_msgSend_520(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> attrStr,
+  ) {
+    return __objc_msgSend_520(
+      obj,
+      sel,
+      attrStr,
+    );
+  }
+
+  late final __objc_msgSend_520Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_520 = __objc_msgSend_520Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_enumerateAttributesInRange_options_usingBlock_1 =
+      _registerName1("enumerateAttributesInRange:options:usingBlock:");
+  void _objc_msgSend_521(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange enumerationRange,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_521(
+      obj,
+      sel,
+      enumerationRange,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_521Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_521 = __objc_msgSend_521Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange, int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_enumerateAttribute_inRange_options_usingBlock_1 =
+      _registerName1("enumerateAttribute:inRange:options:usingBlock:");
+  void _objc_msgSend_522(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSAttributedStringKey attrName,
+    NSRange enumerationRange,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_522(
+      obj,
+      sel,
+      attrName,
+      enumerationRange,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_522Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSAttributedStringKey,
+              NSRange,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_522 = __objc_msgSend_522Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSAttributedStringKey, NSRange, int, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _class_NSAttributedStringMarkdownParsingOptions1 =
+      _getClass1("NSAttributedStringMarkdownParsingOptions");
+  late final _sel_allowsExtendedAttributes1 =
+      _registerName1("allowsExtendedAttributes");
+  late final _sel_setAllowsExtendedAttributes_1 =
+      _registerName1("setAllowsExtendedAttributes:");
+  late final _sel_interpretedSyntax1 = _registerName1("interpretedSyntax");
+  int _objc_msgSend_523(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_523(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_523Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_523 = __objc_msgSend_523Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setInterpretedSyntax_1 =
+      _registerName1("setInterpretedSyntax:");
+  void _objc_msgSend_524(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_524(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_524Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_524 = __objc_msgSend_524Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_failurePolicy1 = _registerName1("failurePolicy");
+  int _objc_msgSend_525(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_525(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_525Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_525 = __objc_msgSend_525Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setFailurePolicy_1 = _registerName1("setFailurePolicy:");
+  void _objc_msgSend_526(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_526(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_526Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_526 = __objc_msgSend_526Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_setLanguageCode_1 = _registerName1("setLanguageCode:");
+  late final _sel_appliesSourcePositionAttributes1 =
+      _registerName1("appliesSourcePositionAttributes");
+  late final _sel_setAppliesSourcePositionAttributes_1 =
+      _registerName1("setAppliesSourcePositionAttributes:");
+  late final _sel_initWithContentsOfMarkdownFileAtURL_options_baseURL_error_1 =
+      _registerName1(
+          "initWithContentsOfMarkdownFileAtURL:options:baseURL:error:");
+  instancetype _objc_msgSend_527(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> markdownFile,
+    ffi.Pointer<ObjCObject> options,
+    ffi.Pointer<ObjCObject> baseURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_527(
+      obj,
+      sel,
+      markdownFile,
+      options,
+      baseURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_527Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_527 = __objc_msgSend_527Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithMarkdown_options_baseURL_error_1 =
+      _registerName1("initWithMarkdown:options:baseURL:error:");
+  instancetype _objc_msgSend_528(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> markdown,
+    ffi.Pointer<ObjCObject> options,
+    ffi.Pointer<ObjCObject> baseURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_528(
+      obj,
+      sel,
+      markdown,
+      options,
+      baseURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_528Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_528 = __objc_msgSend_528Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithMarkdownString_options_baseURL_error_1 =
+      _registerName1("initWithMarkdownString:options:baseURL:error:");
+  instancetype _objc_msgSend_529(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> markdownString,
+    ffi.Pointer<ObjCObject> options,
+    ffi.Pointer<ObjCObject> baseURL,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_529(
+      obj,
+      sel,
+      markdownString,
+      options,
+      baseURL,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_529Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_529 = __objc_msgSend_529Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithFormat_options_locale_1 =
+      _registerName1("initWithFormat:options:locale:");
+  instancetype _objc_msgSend_530(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    int options,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_530(
+      obj,
+      sel,
+      format,
+      options,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_530Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_530 = __objc_msgSend_530Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithFormat_options_locale_arguments_1 =
+      _registerName1("initWithFormat:options:locale:arguments:");
+  instancetype _objc_msgSend_531(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    int options,
+    ffi.Pointer<ObjCObject> locale,
+    ffi.Pointer<__va_list_tag> arguments,
+  ) {
+    return __objc_msgSend_531(
+      obj,
+      sel,
+      format,
+      options,
+      locale,
+      arguments,
+    );
+  }
+
+  late final __objc_msgSend_531Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<__va_list_tag>)>>('objc_msgSend');
+  late final __objc_msgSend_531 = __objc_msgSend_531Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  late final _sel_localizedAttributedStringWithFormat_1 =
+      _registerName1("localizedAttributedStringWithFormat:");
+  late final _sel_localizedAttributedStringWithFormat_options_1 =
+      _registerName1("localizedAttributedStringWithFormat:options:");
+  instancetype _objc_msgSend_532(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> format,
+    int options,
+  ) {
+    return __objc_msgSend_532(
+      obj,
+      sel,
+      format,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_532Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_532 = __objc_msgSend_532Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_attributedStringByInflectingString1 =
+      _registerName1("attributedStringByInflectingString");
+  ffi.Pointer<ObjCObject> _objc_msgSend_533(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_533(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_533Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_533 = __objc_msgSend_533Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_localizedAttributedStringForKey_value_table_1 =
+      _registerName1("localizedAttributedStringForKey:value:table:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_534(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<ObjCObject> value,
+    ffi.Pointer<ObjCObject> tableName,
+  ) {
+    return __objc_msgSend_534(
+      obj,
+      sel,
+      key,
+      value,
+      tableName,
+    );
+  }
+
+  late final __objc_msgSend_534Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_534 = __objc_msgSend_534Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_bundleIdentifier1 = _registerName1("bundleIdentifier");
+  late final _sel_infoDictionary1 = _registerName1("infoDictionary");
+  late final _sel_localizedInfoDictionary1 =
+      _registerName1("localizedInfoDictionary");
+  late final _sel_objectForInfoDictionaryKey_1 =
+      _registerName1("objectForInfoDictionaryKey:");
+  late final _sel_classNamed_1 = _registerName1("classNamed:");
+  late final _sel_principalClass1 = _registerName1("principalClass");
+  late final _sel_preferredLocalizations1 =
+      _registerName1("preferredLocalizations");
+  late final _sel_localizations1 = _registerName1("localizations");
+  late final _sel_developmentLocalization1 =
+      _registerName1("developmentLocalization");
+  late final _sel_preferredLocalizationsFromArray_1 =
+      _registerName1("preferredLocalizationsFromArray:");
+  late final _sel_preferredLocalizationsFromArray_forPreferences_1 =
+      _registerName1("preferredLocalizationsFromArray:forPreferences:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_535(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> localizationsArray,
+    ffi.Pointer<ObjCObject> preferencesArray,
+  ) {
+    return __objc_msgSend_535(
+      obj,
+      sel,
+      localizationsArray,
+      preferencesArray,
+    );
+  }
+
+  late final __objc_msgSend_535Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_535 = __objc_msgSend_535Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_executableArchitectures1 =
+      _registerName1("executableArchitectures");
+  late final _sel_setPreservationPriority_forTags_1 =
+      _registerName1("setPreservationPriority:forTags:");
+  void _objc_msgSend_536(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double priority,
+    ffi.Pointer<ObjCObject> tags,
+  ) {
+    return __objc_msgSend_536(
+      obj,
+      sel,
+      priority,
+      tags,
+    );
+  }
+
+  late final __objc_msgSend_536Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Double, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_536 = __objc_msgSend_536Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_preservationPriorityForTag_1 =
+      _registerName1("preservationPriorityForTag:");
+  late final ffi.Pointer<NSNotificationName>
+      _NSBundleResourceRequestLowDiskSpaceNotification =
+      _lookup<NSNotificationName>(
+          'NSBundleResourceRequestLowDiskSpaceNotification');
+
+  NSNotificationName get NSBundleResourceRequestLowDiskSpaceNotification =>
+      _NSBundleResourceRequestLowDiskSpaceNotification.value;
+
+  set NSBundleResourceRequestLowDiskSpaceNotification(
+          NSNotificationName value) =>
+      _NSBundleResourceRequestLowDiskSpaceNotification.value = value;
+
+  late final ffi.Pointer<ffi.Double>
+      _NSBundleResourceRequestLoadingPriorityUrgent =
+      _lookup<ffi.Double>('NSBundleResourceRequestLoadingPriorityUrgent');
+
+  double get NSBundleResourceRequestLoadingPriorityUrgent =>
+      _NSBundleResourceRequestLoadingPriorityUrgent.value;
+
+  set NSBundleResourceRequestLoadingPriorityUrgent(double value) =>
+      _NSBundleResourceRequestLoadingPriorityUrgent.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSSystemClockDidChangeNotification =
+      _lookup<NSNotificationName>('NSSystemClockDidChangeNotification');
+
+  NSNotificationName get NSSystemClockDidChangeNotification =>
+      _NSSystemClockDidChangeNotification.value;
+
+  set NSSystemClockDidChangeNotification(NSNotificationName value) =>
+      _NSSystemClockDidChangeNotification.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierGregorian =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierGregorian');
+
+  NSCalendarIdentifier get NSCalendarIdentifierGregorian =>
+      _NSCalendarIdentifierGregorian.value;
+
+  set NSCalendarIdentifierGregorian(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierGregorian.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierBuddhist =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierBuddhist');
+
+  NSCalendarIdentifier get NSCalendarIdentifierBuddhist =>
+      _NSCalendarIdentifierBuddhist.value;
+
+  set NSCalendarIdentifierBuddhist(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierBuddhist.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierChinese =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierChinese');
+
+  NSCalendarIdentifier get NSCalendarIdentifierChinese =>
+      _NSCalendarIdentifierChinese.value;
+
+  set NSCalendarIdentifierChinese(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierChinese.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierCoptic =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierCoptic');
+
+  NSCalendarIdentifier get NSCalendarIdentifierCoptic =>
+      _NSCalendarIdentifierCoptic.value;
+
+  set NSCalendarIdentifierCoptic(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierCoptic.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier>
+      _NSCalendarIdentifierEthiopicAmeteMihret =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierEthiopicAmeteMihret');
+
+  NSCalendarIdentifier get NSCalendarIdentifierEthiopicAmeteMihret =>
+      _NSCalendarIdentifierEthiopicAmeteMihret.value;
+
+  set NSCalendarIdentifierEthiopicAmeteMihret(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierEthiopicAmeteMihret.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier>
+      _NSCalendarIdentifierEthiopicAmeteAlem =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierEthiopicAmeteAlem');
+
+  NSCalendarIdentifier get NSCalendarIdentifierEthiopicAmeteAlem =>
+      _NSCalendarIdentifierEthiopicAmeteAlem.value;
+
+  set NSCalendarIdentifierEthiopicAmeteAlem(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierEthiopicAmeteAlem.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierHebrew =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierHebrew');
+
+  NSCalendarIdentifier get NSCalendarIdentifierHebrew =>
+      _NSCalendarIdentifierHebrew.value;
+
+  set NSCalendarIdentifierHebrew(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierHebrew.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierISO8601 =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierISO8601');
+
+  NSCalendarIdentifier get NSCalendarIdentifierISO8601 =>
+      _NSCalendarIdentifierISO8601.value;
+
+  set NSCalendarIdentifierISO8601(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierISO8601.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierIndian =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierIndian');
+
+  NSCalendarIdentifier get NSCalendarIdentifierIndian =>
+      _NSCalendarIdentifierIndian.value;
+
+  set NSCalendarIdentifierIndian(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierIndian.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierIslamic =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierIslamic');
+
+  NSCalendarIdentifier get NSCalendarIdentifierIslamic =>
+      _NSCalendarIdentifierIslamic.value;
+
+  set NSCalendarIdentifierIslamic(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierIslamic.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier>
+      _NSCalendarIdentifierIslamicCivil =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierIslamicCivil');
+
+  NSCalendarIdentifier get NSCalendarIdentifierIslamicCivil =>
+      _NSCalendarIdentifierIslamicCivil.value;
+
+  set NSCalendarIdentifierIslamicCivil(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierIslamicCivil.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierJapanese =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierJapanese');
+
+  NSCalendarIdentifier get NSCalendarIdentifierJapanese =>
+      _NSCalendarIdentifierJapanese.value;
+
+  set NSCalendarIdentifierJapanese(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierJapanese.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier> _NSCalendarIdentifierPersian =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierPersian');
+
+  NSCalendarIdentifier get NSCalendarIdentifierPersian =>
+      _NSCalendarIdentifierPersian.value;
+
+  set NSCalendarIdentifierPersian(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierPersian.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier>
+      _NSCalendarIdentifierRepublicOfChina =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierRepublicOfChina');
+
+  NSCalendarIdentifier get NSCalendarIdentifierRepublicOfChina =>
+      _NSCalendarIdentifierRepublicOfChina.value;
+
+  set NSCalendarIdentifierRepublicOfChina(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierRepublicOfChina.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier>
+      _NSCalendarIdentifierIslamicTabular =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierIslamicTabular');
+
+  NSCalendarIdentifier get NSCalendarIdentifierIslamicTabular =>
+      _NSCalendarIdentifierIslamicTabular.value;
+
+  set NSCalendarIdentifierIslamicTabular(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierIslamicTabular.value = value;
+
+  late final ffi.Pointer<NSCalendarIdentifier>
+      _NSCalendarIdentifierIslamicUmmAlQura =
+      _lookup<NSCalendarIdentifier>('NSCalendarIdentifierIslamicUmmAlQura');
+
+  NSCalendarIdentifier get NSCalendarIdentifierIslamicUmmAlQura =>
+      _NSCalendarIdentifierIslamicUmmAlQura.value;
+
+  set NSCalendarIdentifierIslamicUmmAlQura(NSCalendarIdentifier value) =>
+      _NSCalendarIdentifierIslamicUmmAlQura.value = value;
+
+  late final ffi.Pointer<NSNotificationName> _NSCalendarDayChangedNotification =
+      _lookup<NSNotificationName>('NSCalendarDayChangedNotification');
+
+  NSNotificationName get NSCalendarDayChangedNotification =>
+      _NSCalendarDayChangedNotification.value;
+
+  set NSCalendarDayChangedNotification(NSNotificationName value) =>
+      _NSCalendarDayChangedNotification.value = value;
+
+  late final _class_NSMutableAttributedString1 =
+      _getClass1("NSMutableAttributedString");
+  late final _sel_setAttributes_range_1 =
+      _registerName1("setAttributes:range:");
+  void _objc_msgSend_537(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> attrs,
+    NSRange range,
+  ) {
+    return __objc_msgSend_537(
+      obj,
+      sel,
+      attrs,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_537Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_537 = __objc_msgSend_537Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRange)>();
+
+  late final _sel_mutableString1 = _registerName1("mutableString");
+  ffi.Pointer<ObjCObject> _objc_msgSend_538(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_538(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_538Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_538 = __objc_msgSend_538Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_addAttribute_value_range_1 =
+      _registerName1("addAttribute:value:range:");
+  void _objc_msgSend_539(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSAttributedStringKey name,
+    ffi.Pointer<ObjCObject> value,
+    NSRange range,
+  ) {
+    return __objc_msgSend_539(
+      obj,
+      sel,
+      name,
+      value,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_539Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSAttributedStringKey,
+              ffi.Pointer<ObjCObject>,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_539 = __objc_msgSend_539Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSAttributedStringKey, ffi.Pointer<ObjCObject>, NSRange)>();
+
+  late final _sel_addAttributes_range_1 =
+      _registerName1("addAttributes:range:");
+  late final _sel_removeAttribute_range_1 =
+      _registerName1("removeAttribute:range:");
+  void _objc_msgSend_540(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSAttributedStringKey name,
+    NSRange range,
+  ) {
+    return __objc_msgSend_540(
+      obj,
+      sel,
+      name,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_540Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSAttributedStringKey, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_540 = __objc_msgSend_540Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSAttributedStringKey, NSRange)>();
+
+  late final _sel_replaceCharactersInRange_withAttributedString_1 =
+      _registerName1("replaceCharactersInRange:withAttributedString:");
+  void _objc_msgSend_541(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> attrString,
+  ) {
+    return __objc_msgSend_541(
+      obj,
+      sel,
+      range,
+      attrString,
+    );
+  }
+
+  late final __objc_msgSend_541Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRange, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_541 = __objc_msgSend_541Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_insertAttributedString_atIndex_1 =
+      _registerName1("insertAttributedString:atIndex:");
+  void _objc_msgSend_542(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> attrString,
+    int loc,
+  ) {
+    return __objc_msgSend_542(
+      obj,
+      sel,
+      attrString,
+      loc,
+    );
+  }
+
+  late final __objc_msgSend_542Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_542 = __objc_msgSend_542Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_appendAttributedString_1 =
+      _registerName1("appendAttributedString:");
+  void _objc_msgSend_543(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> attrString,
+  ) {
+    return __objc_msgSend_543(
+      obj,
+      sel,
+      attrString,
+    );
+  }
+
+  late final __objc_msgSend_543Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_543 = __objc_msgSend_543Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setAttributedString_1 =
+      _registerName1("setAttributedString:");
+  late final _sel_beginEditing1 = _registerName1("beginEditing");
+  late final _sel_endEditing1 = _registerName1("endEditing");
+  late final _sel_appendLocalizedFormat_1 =
+      _registerName1("appendLocalizedFormat:");
+  late final ffi.Pointer<NSAttributedStringKey>
+      _NSInlinePresentationIntentAttributeName =
+      _lookup<NSAttributedStringKey>('NSInlinePresentationIntentAttributeName');
+
+  NSAttributedStringKey get NSInlinePresentationIntentAttributeName =>
+      _NSInlinePresentationIntentAttributeName.value;
+
+  set NSInlinePresentationIntentAttributeName(NSAttributedStringKey value) =>
+      _NSInlinePresentationIntentAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey>
+      _NSAlternateDescriptionAttributeName =
+      _lookup<NSAttributedStringKey>('NSAlternateDescriptionAttributeName');
+
+  NSAttributedStringKey get NSAlternateDescriptionAttributeName =>
+      _NSAlternateDescriptionAttributeName.value;
+
+  set NSAlternateDescriptionAttributeName(NSAttributedStringKey value) =>
+      _NSAlternateDescriptionAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey> _NSImageURLAttributeName =
+      _lookup<NSAttributedStringKey>('NSImageURLAttributeName');
+
+  NSAttributedStringKey get NSImageURLAttributeName =>
+      _NSImageURLAttributeName.value;
+
+  set NSImageURLAttributeName(NSAttributedStringKey value) =>
+      _NSImageURLAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey>
+      _NSLanguageIdentifierAttributeName =
+      _lookup<NSAttributedStringKey>('NSLanguageIdentifierAttributeName');
+
+  NSAttributedStringKey get NSLanguageIdentifierAttributeName =>
+      _NSLanguageIdentifierAttributeName.value;
+
+  set NSLanguageIdentifierAttributeName(NSAttributedStringKey value) =>
+      _NSLanguageIdentifierAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey>
+      _NSMarkdownSourcePositionAttributeName =
+      _lookup<NSAttributedStringKey>('NSMarkdownSourcePositionAttributeName');
+
+  NSAttributedStringKey get NSMarkdownSourcePositionAttributeName =>
+      _NSMarkdownSourcePositionAttributeName.value;
+
+  set NSMarkdownSourcePositionAttributeName(NSAttributedStringKey value) =>
+      _NSMarkdownSourcePositionAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey>
+      _NSReplacementIndexAttributeName =
+      _lookup<NSAttributedStringKey>('NSReplacementIndexAttributeName');
+
+  NSAttributedStringKey get NSReplacementIndexAttributeName =>
+      _NSReplacementIndexAttributeName.value;
+
+  set NSReplacementIndexAttributeName(NSAttributedStringKey value) =>
+      _NSReplacementIndexAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey> _NSMorphologyAttributeName =
+      _lookup<NSAttributedStringKey>('NSMorphologyAttributeName');
+
+  NSAttributedStringKey get NSMorphologyAttributeName =>
+      _NSMorphologyAttributeName.value;
+
+  set NSMorphologyAttributeName(NSAttributedStringKey value) =>
+      _NSMorphologyAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey> _NSInflectionRuleAttributeName =
+      _lookup<NSAttributedStringKey>('NSInflectionRuleAttributeName');
+
+  NSAttributedStringKey get NSInflectionRuleAttributeName =>
+      _NSInflectionRuleAttributeName.value;
+
+  set NSInflectionRuleAttributeName(NSAttributedStringKey value) =>
+      _NSInflectionRuleAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey>
+      _NSInflectionAlternativeAttributeName =
+      _lookup<NSAttributedStringKey>('NSInflectionAlternativeAttributeName');
+
+  NSAttributedStringKey get NSInflectionAlternativeAttributeName =>
+      _NSInflectionAlternativeAttributeName.value;
+
+  set NSInflectionAlternativeAttributeName(NSAttributedStringKey value) =>
+      _NSInflectionAlternativeAttributeName.value = value;
+
+  late final ffi.Pointer<NSAttributedStringKey>
+      _NSPresentationIntentAttributeName =
+      _lookup<NSAttributedStringKey>('NSPresentationIntentAttributeName');
+
+  NSAttributedStringKey get NSPresentationIntentAttributeName =>
+      _NSPresentationIntentAttributeName.value;
+
+  set NSPresentationIntentAttributeName(NSAttributedStringKey value) =>
+      _NSPresentationIntentAttributeName.value = value;
+
+  late final _class_NSDateFormatter1 = _getClass1("NSDateFormatter");
+  late final _class_NSFormatter1 = _getClass1("NSFormatter");
+  late final _sel_stringForObjectValue_1 =
+      _registerName1("stringForObjectValue:");
+  late final _sel_attributedStringForObjectValue_withDefaultAttributes_1 =
+      _registerName1("attributedStringForObjectValue:withDefaultAttributes:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_544(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> obj1,
+    ffi.Pointer<ObjCObject> attrs,
+  ) {
+    return __objc_msgSend_544(
+      obj,
+      sel,
+      obj1,
+      attrs,
+    );
+  }
+
+  late final __objc_msgSend_544Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_544 = __objc_msgSend_544Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_editingStringForObjectValue_1 =
+      _registerName1("editingStringForObjectValue:");
+  late final _sel_getObjectValue_forString_errorDescription_1 =
+      _registerName1("getObjectValue:forString:errorDescription:");
+  bool _objc_msgSend_545(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> obj1,
+    ffi.Pointer<ObjCObject> string,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_545(
+      obj,
+      sel,
+      obj1,
+      string,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_545Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_545 = __objc_msgSend_545Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_isPartialStringValid_newEditingString_errorDescription_1 =
+      _registerName1("isPartialStringValid:newEditingString:errorDescription:");
+  bool _objc_msgSend_546(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> partialString,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> newString,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_546(
+      obj,
+      sel,
+      partialString,
+      newString,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_546Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_546 = __objc_msgSend_546Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_isPartialStringValid_proposedSelectedRange_originalString_originalSelectedRange_errorDescription_1 =
+      _registerName1(
+          "isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:");
+  bool _objc_msgSend_547(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> partialStringPtr,
+    NSRangePointer proposedSelRangePtr,
+    ffi.Pointer<ObjCObject> origString,
+    NSRange origSelRange,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_547(
+      obj,
+      sel,
+      partialStringPtr,
+      proposedSelRangePtr,
+      origString,
+      origSelRange,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_547Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              NSRangePointer,
+              ffi.Pointer<ObjCObject>,
+              NSRange,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_547 = __objc_msgSend_547Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          NSRangePointer,
+          ffi.Pointer<ObjCObject>,
+          NSRange,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_formattingContext1 = _registerName1("formattingContext");
+  int _objc_msgSend_548(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_548(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_548Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_548 = __objc_msgSend_548Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setFormattingContext_1 =
+      _registerName1("setFormattingContext:");
+  void _objc_msgSend_549(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_549(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_549Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_549 = __objc_msgSend_549Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_getObjectValue_forString_range_error_1 =
+      _registerName1("getObjectValue:forString:range:error:");
+  bool _objc_msgSend_550(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> obj1,
+    ffi.Pointer<ObjCObject> string,
+    ffi.Pointer<NSRange> rangep,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_550(
+      obj,
+      sel,
+      obj1,
+      string,
+      rangep,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_550Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<NSRange>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_550 = __objc_msgSend_550Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<NSRange>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_stringFromDate_1 = _registerName1("stringFromDate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_551(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_551(
+      obj,
+      sel,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_551Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_551 = __objc_msgSend_551Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dateFromString_1 = _registerName1("dateFromString:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_552(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+  ) {
+    return __objc_msgSend_552(
+      obj,
+      sel,
+      string,
+    );
+  }
+
+  late final __objc_msgSend_552Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_552 = __objc_msgSend_552Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_localizedStringFromDate_dateStyle_timeStyle_1 =
+      _registerName1("localizedStringFromDate:dateStyle:timeStyle:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_553(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+    int dstyle,
+    int tstyle,
+  ) {
+    return __objc_msgSend_553(
+      obj,
+      sel,
+      date,
+      dstyle,
+      tstyle,
+    );
+  }
+
+  late final __objc_msgSend_553Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_553 = __objc_msgSend_553Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int, int)>();
+
+  late final _sel_dateFormatFromTemplate_options_locale_1 =
+      _registerName1("dateFormatFromTemplate:options:locale:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_554(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> tmplate,
+    int opts,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_554(
+      obj,
+      sel,
+      tmplate,
+      opts,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_554Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_554 = __objc_msgSend_554Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_defaultFormatterBehavior1 =
+      _registerName1("defaultFormatterBehavior");
+  int _objc_msgSend_555(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_555(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_555Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_555 = __objc_msgSend_555Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setDefaultFormatterBehavior_1 =
+      _registerName1("setDefaultFormatterBehavior:");
+  void _objc_msgSend_556(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_556(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_556Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_556 = __objc_msgSend_556Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_setLocalizedDateFormatFromTemplate_1 =
+      _registerName1("setLocalizedDateFormatFromTemplate:");
+  late final _sel_dateFormat1 = _registerName1("dateFormat");
+  late final _sel_setDateFormat_1 = _registerName1("setDateFormat:");
+  late final _sel_dateStyle1 = _registerName1("dateStyle");
+  int _objc_msgSend_557(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_557(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_557Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_557 = __objc_msgSend_557Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setDateStyle_1 = _registerName1("setDateStyle:");
+  void _objc_msgSend_558(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_558(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_558Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_558 = __objc_msgSend_558Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_timeStyle1 = _registerName1("timeStyle");
+  late final _sel_setTimeStyle_1 = _registerName1("setTimeStyle:");
+  late final _sel_locale1 = _registerName1("locale");
+  late final _sel_setLocale_1 = _registerName1("setLocale:");
+  void _objc_msgSend_559(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_559(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_559Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_559 = __objc_msgSend_559Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_generatesCalendarDates1 =
+      _registerName1("generatesCalendarDates");
+  late final _sel_setGeneratesCalendarDates_1 =
+      _registerName1("setGeneratesCalendarDates:");
+  late final _sel_formatterBehavior1 = _registerName1("formatterBehavior");
+  late final _sel_setFormatterBehavior_1 =
+      _registerName1("setFormatterBehavior:");
+  late final _class_NSTimeZone1 = _getClass1("NSTimeZone");
+  late final _sel_secondsFromGMTForDate_1 =
+      _registerName1("secondsFromGMTForDate:");
+  int _objc_msgSend_560(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aDate,
+  ) {
+    return __objc_msgSend_560(
+      obj,
+      sel,
+      aDate,
+    );
+  }
+
+  late final __objc_msgSend_560Ptr = _lookup<
+      ffi.NativeFunction<
+          NSInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_560 = __objc_msgSend_560Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_abbreviationForDate_1 =
+      _registerName1("abbreviationForDate:");
+  late final _sel_isDaylightSavingTimeForDate_1 =
+      _registerName1("isDaylightSavingTimeForDate:");
+  late final _sel_daylightSavingTimeOffsetForDate_1 =
+      _registerName1("daylightSavingTimeOffsetForDate:");
+  late final _sel_nextDaylightSavingTimeTransitionAfterDate_1 =
+      _registerName1("nextDaylightSavingTimeTransitionAfterDate:");
+  late final _sel_systemTimeZone1 = _registerName1("systemTimeZone");
+  ffi.Pointer<ObjCObject> _objc_msgSend_561(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_561(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_561Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_561 = __objc_msgSend_561Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_resetSystemTimeZone1 = _registerName1("resetSystemTimeZone");
+  late final _sel_defaultTimeZone1 = _registerName1("defaultTimeZone");
+  late final _sel_setDefaultTimeZone_1 = _registerName1("setDefaultTimeZone:");
+  void _objc_msgSend_562(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_562(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_562Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_562 = __objc_msgSend_562Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_localTimeZone1 = _registerName1("localTimeZone");
+  late final _sel_knownTimeZoneNames1 = _registerName1("knownTimeZoneNames");
+  late final _sel_abbreviationDictionary1 =
+      _registerName1("abbreviationDictionary");
+  late final _sel_setAbbreviationDictionary_1 =
+      _registerName1("setAbbreviationDictionary:");
+  void _objc_msgSend_563(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_563(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_563Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_563 = __objc_msgSend_563Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_timeZoneDataVersion1 = _registerName1("timeZoneDataVersion");
+  late final _sel_secondsFromGMT1 = _registerName1("secondsFromGMT");
+  late final _sel_abbreviation1 = _registerName1("abbreviation");
+  late final _sel_isDaylightSavingTime1 =
+      _registerName1("isDaylightSavingTime");
+  late final _sel_daylightSavingTimeOffset1 =
+      _registerName1("daylightSavingTimeOffset");
+  late final _sel_nextDaylightSavingTimeTransition1 =
+      _registerName1("nextDaylightSavingTimeTransition");
+  late final _sel_isEqualToTimeZone_1 = _registerName1("isEqualToTimeZone:");
+  bool _objc_msgSend_564(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aTimeZone,
+  ) {
+    return __objc_msgSend_564(
+      obj,
+      sel,
+      aTimeZone,
+    );
+  }
+
+  late final __objc_msgSend_564Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_564 = __objc_msgSend_564Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_localizedName_locale_1 =
+      _registerName1("localizedName:locale:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_565(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int style,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return __objc_msgSend_565(
+      obj,
+      sel,
+      style,
+      locale,
+    );
+  }
+
+  late final __objc_msgSend_565Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_565 = __objc_msgSend_565Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_timeZoneWithName_1 = _registerName1("timeZoneWithName:");
+  late final _sel_timeZoneWithName_data_1 =
+      _registerName1("timeZoneWithName:data:");
+  instancetype _objc_msgSend_566(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> tzName,
+    ffi.Pointer<ObjCObject> aData,
+  ) {
+    return __objc_msgSend_566(
+      obj,
+      sel,
+      tzName,
+      aData,
+    );
+  }
+
+  late final __objc_msgSend_566Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_566 = __objc_msgSend_566Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithName_1 = _registerName1("initWithName:");
+  late final _sel_initWithName_data_1 = _registerName1("initWithName:data:");
+  late final _sel_timeZoneForSecondsFromGMT_1 =
+      _registerName1("timeZoneForSecondsFromGMT:");
+  instancetype _objc_msgSend_567(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int seconds,
+  ) {
+    return __objc_msgSend_567(
+      obj,
+      sel,
+      seconds,
+    );
+  }
+
+  late final __objc_msgSend_567Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_567 = __objc_msgSend_567Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_timeZoneWithAbbreviation_1 =
+      _registerName1("timeZoneWithAbbreviation:");
+  late final _sel_timeZone1 = _registerName1("timeZone");
+  late final _sel_setTimeZone_1 = _registerName1("setTimeZone:");
+  late final _class_NSCalendar1 = _getClass1("NSCalendar");
+  late final _sel_currentCalendar1 = _registerName1("currentCalendar");
+  ffi.Pointer<ObjCObject> _objc_msgSend_568(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_568(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_568Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_568 = __objc_msgSend_568Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_autoupdatingCurrentCalendar1 =
+      _registerName1("autoupdatingCurrentCalendar");
+  late final _sel_calendarWithIdentifier_1 =
+      _registerName1("calendarWithIdentifier:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_569(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSCalendarIdentifier calendarIdentifierConstant,
+  ) {
+    return __objc_msgSend_569(
+      obj,
+      sel,
+      calendarIdentifierConstant,
+    );
+  }
+
+  late final __objc_msgSend_569Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSCalendarIdentifier)>>('objc_msgSend');
+  late final __objc_msgSend_569 = __objc_msgSend_569Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSCalendarIdentifier)>();
+
+  late final _sel_initWithCalendarIdentifier_1 =
+      _registerName1("initWithCalendarIdentifier:");
+  late final _sel_firstWeekday1 = _registerName1("firstWeekday");
+  late final _sel_setFirstWeekday_1 = _registerName1("setFirstWeekday:");
+  late final _sel_minimumDaysInFirstWeek1 =
+      _registerName1("minimumDaysInFirstWeek");
+  late final _sel_setMinimumDaysInFirstWeek_1 =
+      _registerName1("setMinimumDaysInFirstWeek:");
+  late final _sel_eraSymbols1 = _registerName1("eraSymbols");
+  late final _sel_longEraSymbols1 = _registerName1("longEraSymbols");
+  late final _sel_monthSymbols1 = _registerName1("monthSymbols");
+  late final _sel_shortMonthSymbols1 = _registerName1("shortMonthSymbols");
+  late final _sel_veryShortMonthSymbols1 =
+      _registerName1("veryShortMonthSymbols");
+  late final _sel_standaloneMonthSymbols1 =
+      _registerName1("standaloneMonthSymbols");
+  late final _sel_shortStandaloneMonthSymbols1 =
+      _registerName1("shortStandaloneMonthSymbols");
+  late final _sel_veryShortStandaloneMonthSymbols1 =
+      _registerName1("veryShortStandaloneMonthSymbols");
+  late final _sel_weekdaySymbols1 = _registerName1("weekdaySymbols");
+  late final _sel_shortWeekdaySymbols1 = _registerName1("shortWeekdaySymbols");
+  late final _sel_veryShortWeekdaySymbols1 =
+      _registerName1("veryShortWeekdaySymbols");
+  late final _sel_standaloneWeekdaySymbols1 =
+      _registerName1("standaloneWeekdaySymbols");
+  late final _sel_shortStandaloneWeekdaySymbols1 =
+      _registerName1("shortStandaloneWeekdaySymbols");
+  late final _sel_veryShortStandaloneWeekdaySymbols1 =
+      _registerName1("veryShortStandaloneWeekdaySymbols");
+  late final _sel_quarterSymbols1 = _registerName1("quarterSymbols");
+  late final _sel_shortQuarterSymbols1 = _registerName1("shortQuarterSymbols");
+  late final _sel_standaloneQuarterSymbols1 =
+      _registerName1("standaloneQuarterSymbols");
+  late final _sel_shortStandaloneQuarterSymbols1 =
+      _registerName1("shortStandaloneQuarterSymbols");
+  late final _sel_AMSymbol1 = _registerName1("AMSymbol");
+  late final _sel_PMSymbol1 = _registerName1("PMSymbol");
+  late final _sel_minimumRangeOfUnit_1 = _registerName1("minimumRangeOfUnit:");
+  NSRange _objc_msgSend_570(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unit,
+  ) {
+    return __objc_msgSend_570(
+      obj,
+      sel,
+      unit,
+    );
+  }
+
+  late final __objc_msgSend_570Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_570 = __objc_msgSend_570Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_maximumRangeOfUnit_1 = _registerName1("maximumRangeOfUnit:");
+  late final _sel_rangeOfUnit_inUnit_forDate_1 =
+      _registerName1("rangeOfUnit:inUnit:forDate:");
+  NSRange _objc_msgSend_571(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int smaller,
+    int larger,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_571(
+      obj,
+      sel,
+      smaller,
+      larger,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_571Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Int32, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_571 = __objc_msgSend_571Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_ordinalityOfUnit_inUnit_forDate_1 =
+      _registerName1("ordinalityOfUnit:inUnit:forDate:");
+  int _objc_msgSend_572(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int smaller,
+    int larger,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_572(
+      obj,
+      sel,
+      smaller,
+      larger,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_572Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Int32, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_572 = __objc_msgSend_572Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_rangeOfUnit_startDate_interval_forDate_1 =
+      _registerName1("rangeOfUnit:startDate:interval:forDate:");
+  bool _objc_msgSend_573(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unit,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> datep,
+    ffi.Pointer<NSTimeInterval> tip,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_573(
+      obj,
+      sel,
+      unit,
+      datep,
+      tip,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_573Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<NSTimeInterval>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_573 = __objc_msgSend_573Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<NSTimeInterval>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSDateComponents1 = _getClass1("NSDateComponents");
+  late final _sel_calendar1 = _registerName1("calendar");
+  late final _sel_setCalendar_1 = _registerName1("setCalendar:");
+  void _objc_msgSend_574(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_574(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_574Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_574 = __objc_msgSend_574Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_era1 = _registerName1("era");
+  late final _sel_setEra_1 = _registerName1("setEra:");
+  void _objc_msgSend_575(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_575(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_575Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_575 = __objc_msgSend_575Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_year1 = _registerName1("year");
+  late final _sel_setYear_1 = _registerName1("setYear:");
+  late final _sel_month1 = _registerName1("month");
+  late final _sel_setMonth_1 = _registerName1("setMonth:");
+  late final _sel_day1 = _registerName1("day");
+  late final _sel_setDay_1 = _registerName1("setDay:");
+  late final _sel_hour1 = _registerName1("hour");
+  late final _sel_setHour_1 = _registerName1("setHour:");
+  late final _sel_minute1 = _registerName1("minute");
+  late final _sel_setMinute_1 = _registerName1("setMinute:");
+  late final _sel_second1 = _registerName1("second");
+  late final _sel_setSecond_1 = _registerName1("setSecond:");
+  late final _sel_nanosecond1 = _registerName1("nanosecond");
+  late final _sel_setNanosecond_1 = _registerName1("setNanosecond:");
+  late final _sel_weekday1 = _registerName1("weekday");
+  late final _sel_setWeekday_1 = _registerName1("setWeekday:");
+  late final _sel_weekdayOrdinal1 = _registerName1("weekdayOrdinal");
+  late final _sel_setWeekdayOrdinal_1 = _registerName1("setWeekdayOrdinal:");
+  late final _sel_quarter1 = _registerName1("quarter");
+  late final _sel_setQuarter_1 = _registerName1("setQuarter:");
+  late final _sel_weekOfMonth1 = _registerName1("weekOfMonth");
+  late final _sel_setWeekOfMonth_1 = _registerName1("setWeekOfMonth:");
+  late final _sel_weekOfYear1 = _registerName1("weekOfYear");
+  late final _sel_setWeekOfYear_1 = _registerName1("setWeekOfYear:");
+  late final _sel_yearForWeekOfYear1 = _registerName1("yearForWeekOfYear");
+  late final _sel_setYearForWeekOfYear_1 =
+      _registerName1("setYearForWeekOfYear:");
+  late final _sel_isLeapMonth1 = _registerName1("isLeapMonth");
+  late final _sel_setLeapMonth_1 = _registerName1("setLeapMonth:");
+  late final _sel_week1 = _registerName1("week");
+  late final _sel_setWeek_1 = _registerName1("setWeek:");
+  late final _sel_setValue_forComponent_1 =
+      _registerName1("setValue:forComponent:");
+  void _objc_msgSend_576(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+    int unit,
+  ) {
+    return __objc_msgSend_576(
+      obj,
+      sel,
+      value,
+      unit,
+    );
+  }
+
+  late final __objc_msgSend_576Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSInteger, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_576 = __objc_msgSend_576Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int)>();
+
+  late final _sel_valueForComponent_1 = _registerName1("valueForComponent:");
+  int _objc_msgSend_577(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unit,
+  ) {
+    return __objc_msgSend_577(
+      obj,
+      sel,
+      unit,
+    );
+  }
+
+  late final __objc_msgSend_577Ptr = _lookup<
+      ffi.NativeFunction<
+          NSInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_577 = __objc_msgSend_577Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_isValidDate1 = _registerName1("isValidDate");
+  late final _sel_isValidDateInCalendar_1 =
+      _registerName1("isValidDateInCalendar:");
+  bool _objc_msgSend_578(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> calendar,
+  ) {
+    return __objc_msgSend_578(
+      obj,
+      sel,
+      calendar,
+    );
+  }
+
+  late final __objc_msgSend_578Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_578 = __objc_msgSend_578Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dateFromComponents_1 = _registerName1("dateFromComponents:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_579(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> comps,
+  ) {
+    return __objc_msgSend_579(
+      obj,
+      sel,
+      comps,
+    );
+  }
+
+  late final __objc_msgSend_579Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_579 = __objc_msgSend_579Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_components_fromDate_1 =
+      _registerName1("components:fromDate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_580(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unitFlags,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_580(
+      obj,
+      sel,
+      unitFlags,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_580Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_580 = __objc_msgSend_580Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dateByAddingComponents_toDate_options_1 =
+      _registerName1("dateByAddingComponents:toDate:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_581(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> comps,
+    ffi.Pointer<ObjCObject> date,
+    int opts,
+  ) {
+    return __objc_msgSend_581(
+      obj,
+      sel,
+      comps,
+      date,
+      opts,
+    );
+  }
+
+  late final __objc_msgSend_581Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_581 = __objc_msgSend_581Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_components_fromDate_toDate_options_1 =
+      _registerName1("components:fromDate:toDate:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_582(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unitFlags,
+    ffi.Pointer<ObjCObject> startingDate,
+    ffi.Pointer<ObjCObject> resultDate,
+    int opts,
+  ) {
+    return __objc_msgSend_582(
+      obj,
+      sel,
+      unitFlags,
+      startingDate,
+      resultDate,
+      opts,
+    );
+  }
+
+  late final __objc_msgSend_582Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_582 = __objc_msgSend_582Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_getEra_year_month_day_fromDate_1 =
+      _registerName1("getEra:year:month:day:fromDate:");
+  void _objc_msgSend_583(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSInteger> eraValuePointer,
+    ffi.Pointer<NSInteger> yearValuePointer,
+    ffi.Pointer<NSInteger> monthValuePointer,
+    ffi.Pointer<NSInteger> dayValuePointer,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_583(
+      obj,
+      sel,
+      eraValuePointer,
+      yearValuePointer,
+      monthValuePointer,
+      dayValuePointer,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_583Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSInteger>,
+              ffi.Pointer<NSInteger>,
+              ffi.Pointer<NSInteger>,
+              ffi.Pointer<NSInteger>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_583 = __objc_msgSend_583Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSInteger>,
+          ffi.Pointer<NSInteger>,
+          ffi.Pointer<NSInteger>,
+          ffi.Pointer<NSInteger>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_getEra_yearForWeekOfYear_weekOfYear_weekday_fromDate_1 =
+      _registerName1("getEra:yearForWeekOfYear:weekOfYear:weekday:fromDate:");
+  late final _sel_getHour_minute_second_nanosecond_fromDate_1 =
+      _registerName1("getHour:minute:second:nanosecond:fromDate:");
+  late final _sel_component_fromDate_1 = _registerName1("component:fromDate:");
+  int _objc_msgSend_584(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unit,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_584(
+      obj,
+      sel,
+      unit,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_584Ptr = _lookup<
+      ffi.NativeFunction<
+          NSInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_584 = __objc_msgSend_584Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dateWithEra_year_month_day_hour_minute_second_nanosecond_1 =
+      _registerName1(
+          "dateWithEra:year:month:day:hour:minute:second:nanosecond:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_585(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int eraValue,
+    int yearValue,
+    int monthValue,
+    int dayValue,
+    int hourValue,
+    int minuteValue,
+    int secondValue,
+    int nanosecondValue,
+  ) {
+    return __objc_msgSend_585(
+      obj,
+      sel,
+      eraValue,
+      yearValue,
+      monthValue,
+      dayValue,
+      hourValue,
+      minuteValue,
+      secondValue,
+      nanosecondValue,
+    );
+  }
+
+  late final __objc_msgSend_585Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSInteger,
+              NSInteger,
+              NSInteger,
+              NSInteger,
+              NSInteger,
+              NSInteger,
+              NSInteger,
+              NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_585 = __objc_msgSend_585Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, int, int, int, int, int, int, int)>();
+
+  late final _sel_dateWithEra_yearForWeekOfYear_weekOfYear_weekday_hour_minute_second_nanosecond_1 =
+      _registerName1(
+          "dateWithEra:yearForWeekOfYear:weekOfYear:weekday:hour:minute:second:nanosecond:");
+  late final _sel_startOfDayForDate_1 = _registerName1("startOfDayForDate:");
+  late final _sel_componentsInTimeZone_fromDate_1 =
+      _registerName1("componentsInTimeZone:fromDate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_586(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> timezone,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_586(
+      obj,
+      sel,
+      timezone,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_586Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_586 = __objc_msgSend_586Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_compareDate_toDate_toUnitGranularity_1 =
+      _registerName1("compareDate:toDate:toUnitGranularity:");
+  int _objc_msgSend_587(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date1,
+    ffi.Pointer<ObjCObject> date2,
+    int unit,
+  ) {
+    return __objc_msgSend_587(
+      obj,
+      sel,
+      date1,
+      date2,
+      unit,
+    );
+  }
+
+  late final __objc_msgSend_587Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_587 = __objc_msgSend_587Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_isDate_equalToDate_toUnitGranularity_1 =
+      _registerName1("isDate:equalToDate:toUnitGranularity:");
+  bool _objc_msgSend_588(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date1,
+    ffi.Pointer<ObjCObject> date2,
+    int unit,
+  ) {
+    return __objc_msgSend_588(
+      obj,
+      sel,
+      date1,
+      date2,
+      unit,
+    );
+  }
+
+  late final __objc_msgSend_588Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_588 = __objc_msgSend_588Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_isDate_inSameDayAsDate_1 =
+      _registerName1("isDate:inSameDayAsDate:");
+  bool _objc_msgSend_589(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date1,
+    ffi.Pointer<ObjCObject> date2,
+  ) {
+    return __objc_msgSend_589(
+      obj,
+      sel,
+      date1,
+      date2,
+    );
+  }
+
+  late final __objc_msgSend_589Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_589 = __objc_msgSend_589Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isDateInToday_1 = _registerName1("isDateInToday:");
+  late final _sel_isDateInYesterday_1 = _registerName1("isDateInYesterday:");
+  late final _sel_isDateInTomorrow_1 = _registerName1("isDateInTomorrow:");
+  late final _sel_isDateInWeekend_1 = _registerName1("isDateInWeekend:");
+  late final _sel_rangeOfWeekendStartDate_interval_containingDate_1 =
+      _registerName1("rangeOfWeekendStartDate:interval:containingDate:");
+  bool _objc_msgSend_590(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> datep,
+    ffi.Pointer<NSTimeInterval> tip,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_590(
+      obj,
+      sel,
+      datep,
+      tip,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_590Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<NSTimeInterval>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_590 = __objc_msgSend_590Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<NSTimeInterval>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_nextWeekendStartDate_interval_options_afterDate_1 =
+      _registerName1("nextWeekendStartDate:interval:options:afterDate:");
+  bool _objc_msgSend_591(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> datep,
+    ffi.Pointer<NSTimeInterval> tip,
+    int options,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_591(
+      obj,
+      sel,
+      datep,
+      tip,
+      options,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_591Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<NSTimeInterval>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_591 = __objc_msgSend_591Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<NSTimeInterval>,
+          int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_components_fromDateComponents_toDateComponents_options_1 =
+      _registerName1("components:fromDateComponents:toDateComponents:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_592(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unitFlags,
+    ffi.Pointer<ObjCObject> startingDateComp,
+    ffi.Pointer<ObjCObject> resultDateComp,
+    int options,
+  ) {
+    return __objc_msgSend_592(
+      obj,
+      sel,
+      unitFlags,
+      startingDateComp,
+      resultDateComp,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_592Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_592 = __objc_msgSend_592Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_dateByAddingUnit_value_toDate_options_1 =
+      _registerName1("dateByAddingUnit:value:toDate:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_593(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int unit,
+    int value,
+    ffi.Pointer<ObjCObject> date,
+    int options,
+  ) {
+    return __objc_msgSend_593(
+      obj,
+      sel,
+      unit,
+      value,
+      date,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_593Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              NSInteger,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_593 = __objc_msgSend_593Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, int, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_enumerateDatesStartingAfterDate_matchingComponents_options_usingBlock_1 =
+      _registerName1(
+          "enumerateDatesStartingAfterDate:matchingComponents:options:usingBlock:");
+  void _objc_msgSend_594(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> start,
+    ffi.Pointer<ObjCObject> comps,
+    int opts,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_594(
+      obj,
+      sel,
+      start,
+      comps,
+      opts,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_594Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_594 = __objc_msgSend_594Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_nextDateAfterDate_matchingComponents_options_1 =
+      _registerName1("nextDateAfterDate:matchingComponents:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_595(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+    ffi.Pointer<ObjCObject> comps,
+    int options,
+  ) {
+    return __objc_msgSend_595(
+      obj,
+      sel,
+      date,
+      comps,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_595Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_595 = __objc_msgSend_595Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_nextDateAfterDate_matchingUnit_value_options_1 =
+      _registerName1("nextDateAfterDate:matchingUnit:value:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_596(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+    int unit,
+    int value,
+    int options,
+  ) {
+    return __objc_msgSend_596(
+      obj,
+      sel,
+      date,
+      unit,
+      value,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_596Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSInteger,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_596 = __objc_msgSend_596Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int, int, int)>();
+
+  late final _sel_nextDateAfterDate_matchingHour_minute_second_options_1 =
+      _registerName1("nextDateAfterDate:matchingHour:minute:second:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_597(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+    int hourValue,
+    int minuteValue,
+    int secondValue,
+    int options,
+  ) {
+    return __objc_msgSend_597(
+      obj,
+      sel,
+      date,
+      hourValue,
+      minuteValue,
+      secondValue,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_597Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSInteger,
+              NSInteger,
+              NSInteger,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_597 = __objc_msgSend_597Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int, int, int, int)>();
+
+  late final _sel_dateBySettingUnit_value_ofDate_options_1 =
+      _registerName1("dateBySettingUnit:value:ofDate:options:");
+  late final _sel_dateBySettingHour_minute_second_ofDate_options_1 =
+      _registerName1("dateBySettingHour:minute:second:ofDate:options:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_598(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int h,
+    int m,
+    int s,
+    ffi.Pointer<ObjCObject> date,
+    int opts,
+  ) {
+    return __objc_msgSend_598(
+      obj,
+      sel,
+      h,
+      m,
+      s,
+      date,
+      opts,
+    );
+  }
+
+  late final __objc_msgSend_598Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSInteger,
+              NSInteger,
+              NSInteger,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_598 = __objc_msgSend_598Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, int, int, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_date_matchesComponents_1 =
+      _registerName1("date:matchesComponents:");
+  bool _objc_msgSend_599(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+    ffi.Pointer<ObjCObject> components,
+  ) {
+    return __objc_msgSend_599(
+      obj,
+      sel,
+      date,
+      components,
+    );
+  }
+
+  late final __objc_msgSend_599Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_599 = __objc_msgSend_599Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isLenient1 = _registerName1("isLenient");
+  late final _sel_setLenient_1 = _registerName1("setLenient:");
+  late final _sel_twoDigitStartDate1 = _registerName1("twoDigitStartDate");
+  late final _sel_setTwoDigitStartDate_1 =
+      _registerName1("setTwoDigitStartDate:");
+  void _objc_msgSend_600(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_600(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_600Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_600 = __objc_msgSend_600Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_defaultDate1 = _registerName1("defaultDate");
+  late final _sel_setDefaultDate_1 = _registerName1("setDefaultDate:");
+  late final _sel_setEraSymbols_1 = _registerName1("setEraSymbols:");
+  void _objc_msgSend_601(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_601(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_601Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_601 = __objc_msgSend_601Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setMonthSymbols_1 = _registerName1("setMonthSymbols:");
+  late final _sel_setShortMonthSymbols_1 =
+      _registerName1("setShortMonthSymbols:");
+  late final _sel_setWeekdaySymbols_1 = _registerName1("setWeekdaySymbols:");
+  late final _sel_setShortWeekdaySymbols_1 =
+      _registerName1("setShortWeekdaySymbols:");
+  late final _sel_setAMSymbol_1 = _registerName1("setAMSymbol:");
+  late final _sel_setPMSymbol_1 = _registerName1("setPMSymbol:");
+  late final _sel_setLongEraSymbols_1 = _registerName1("setLongEraSymbols:");
+  late final _sel_setVeryShortMonthSymbols_1 =
+      _registerName1("setVeryShortMonthSymbols:");
+  late final _sel_setStandaloneMonthSymbols_1 =
+      _registerName1("setStandaloneMonthSymbols:");
+  late final _sel_setShortStandaloneMonthSymbols_1 =
+      _registerName1("setShortStandaloneMonthSymbols:");
+  late final _sel_setVeryShortStandaloneMonthSymbols_1 =
+      _registerName1("setVeryShortStandaloneMonthSymbols:");
+  late final _sel_setVeryShortWeekdaySymbols_1 =
+      _registerName1("setVeryShortWeekdaySymbols:");
+  late final _sel_setStandaloneWeekdaySymbols_1 =
+      _registerName1("setStandaloneWeekdaySymbols:");
+  late final _sel_setShortStandaloneWeekdaySymbols_1 =
+      _registerName1("setShortStandaloneWeekdaySymbols:");
+  late final _sel_setVeryShortStandaloneWeekdaySymbols_1 =
+      _registerName1("setVeryShortStandaloneWeekdaySymbols:");
+  late final _sel_setQuarterSymbols_1 = _registerName1("setQuarterSymbols:");
+  late final _sel_setShortQuarterSymbols_1 =
+      _registerName1("setShortQuarterSymbols:");
+  late final _sel_setStandaloneQuarterSymbols_1 =
+      _registerName1("setStandaloneQuarterSymbols:");
+  late final _sel_setShortStandaloneQuarterSymbols_1 =
+      _registerName1("setShortStandaloneQuarterSymbols:");
+  late final _sel_gregorianStartDate1 = _registerName1("gregorianStartDate");
+  late final _sel_setGregorianStartDate_1 =
+      _registerName1("setGregorianStartDate:");
+  late final _sel_doesRelativeDateFormatting1 =
+      _registerName1("doesRelativeDateFormatting");
+  late final _sel_setDoesRelativeDateFormatting_1 =
+      _registerName1("setDoesRelativeDateFormatting:");
+  late final ffi.Pointer<NSNotificationName>
+      _NSCurrentLocaleDidChangeNotification =
+      _lookup<NSNotificationName>('NSCurrentLocaleDidChangeNotification');
+
+  NSNotificationName get NSCurrentLocaleDidChangeNotification =>
+      _NSCurrentLocaleDidChangeNotification.value;
+
+  set NSCurrentLocaleDidChangeNotification(NSNotificationName value) =>
+      _NSCurrentLocaleDidChangeNotification.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleIdentifier =
+      _lookup<NSLocaleKey>('NSLocaleIdentifier');
+
+  NSLocaleKey get NSLocaleIdentifier => _NSLocaleIdentifier.value;
+
+  set NSLocaleIdentifier(NSLocaleKey value) =>
+      _NSLocaleIdentifier.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleLanguageCode =
+      _lookup<NSLocaleKey>('NSLocaleLanguageCode');
+
+  NSLocaleKey get NSLocaleLanguageCode => _NSLocaleLanguageCode.value;
+
+  set NSLocaleLanguageCode(NSLocaleKey value) =>
+      _NSLocaleLanguageCode.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleCountryCode =
+      _lookup<NSLocaleKey>('NSLocaleCountryCode');
+
+  NSLocaleKey get NSLocaleCountryCode => _NSLocaleCountryCode.value;
+
+  set NSLocaleCountryCode(NSLocaleKey value) =>
+      _NSLocaleCountryCode.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleScriptCode =
+      _lookup<NSLocaleKey>('NSLocaleScriptCode');
+
+  NSLocaleKey get NSLocaleScriptCode => _NSLocaleScriptCode.value;
+
+  set NSLocaleScriptCode(NSLocaleKey value) =>
+      _NSLocaleScriptCode.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleVariantCode =
+      _lookup<NSLocaleKey>('NSLocaleVariantCode');
+
+  NSLocaleKey get NSLocaleVariantCode => _NSLocaleVariantCode.value;
+
+  set NSLocaleVariantCode(NSLocaleKey value) =>
+      _NSLocaleVariantCode.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleExemplarCharacterSet =
+      _lookup<NSLocaleKey>('NSLocaleExemplarCharacterSet');
+
+  NSLocaleKey get NSLocaleExemplarCharacterSet =>
+      _NSLocaleExemplarCharacterSet.value;
+
+  set NSLocaleExemplarCharacterSet(NSLocaleKey value) =>
+      _NSLocaleExemplarCharacterSet.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleCalendar =
+      _lookup<NSLocaleKey>('NSLocaleCalendar');
+
+  NSLocaleKey get NSLocaleCalendar => _NSLocaleCalendar.value;
+
+  set NSLocaleCalendar(NSLocaleKey value) => _NSLocaleCalendar.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleCollationIdentifier =
+      _lookup<NSLocaleKey>('NSLocaleCollationIdentifier');
+
+  NSLocaleKey get NSLocaleCollationIdentifier =>
+      _NSLocaleCollationIdentifier.value;
+
+  set NSLocaleCollationIdentifier(NSLocaleKey value) =>
+      _NSLocaleCollationIdentifier.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleUsesMetricSystem =
+      _lookup<NSLocaleKey>('NSLocaleUsesMetricSystem');
+
+  NSLocaleKey get NSLocaleUsesMetricSystem => _NSLocaleUsesMetricSystem.value;
+
+  set NSLocaleUsesMetricSystem(NSLocaleKey value) =>
+      _NSLocaleUsesMetricSystem.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleMeasurementSystem =
+      _lookup<NSLocaleKey>('NSLocaleMeasurementSystem');
+
+  NSLocaleKey get NSLocaleMeasurementSystem => _NSLocaleMeasurementSystem.value;
+
+  set NSLocaleMeasurementSystem(NSLocaleKey value) =>
+      _NSLocaleMeasurementSystem.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleDecimalSeparator =
+      _lookup<NSLocaleKey>('NSLocaleDecimalSeparator');
+
+  NSLocaleKey get NSLocaleDecimalSeparator => _NSLocaleDecimalSeparator.value;
+
+  set NSLocaleDecimalSeparator(NSLocaleKey value) =>
+      _NSLocaleDecimalSeparator.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleGroupingSeparator =
+      _lookup<NSLocaleKey>('NSLocaleGroupingSeparator');
+
+  NSLocaleKey get NSLocaleGroupingSeparator => _NSLocaleGroupingSeparator.value;
+
+  set NSLocaleGroupingSeparator(NSLocaleKey value) =>
+      _NSLocaleGroupingSeparator.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleCurrencySymbol =
+      _lookup<NSLocaleKey>('NSLocaleCurrencySymbol');
+
+  NSLocaleKey get NSLocaleCurrencySymbol => _NSLocaleCurrencySymbol.value;
+
+  set NSLocaleCurrencySymbol(NSLocaleKey value) =>
+      _NSLocaleCurrencySymbol.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleCurrencyCode =
+      _lookup<NSLocaleKey>('NSLocaleCurrencyCode');
+
+  NSLocaleKey get NSLocaleCurrencyCode => _NSLocaleCurrencyCode.value;
+
+  set NSLocaleCurrencyCode(NSLocaleKey value) =>
+      _NSLocaleCurrencyCode.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleCollatorIdentifier =
+      _lookup<NSLocaleKey>('NSLocaleCollatorIdentifier');
+
+  NSLocaleKey get NSLocaleCollatorIdentifier =>
+      _NSLocaleCollatorIdentifier.value;
+
+  set NSLocaleCollatorIdentifier(NSLocaleKey value) =>
+      _NSLocaleCollatorIdentifier.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleQuotationBeginDelimiterKey =
+      _lookup<NSLocaleKey>('NSLocaleQuotationBeginDelimiterKey');
+
+  NSLocaleKey get NSLocaleQuotationBeginDelimiterKey =>
+      _NSLocaleQuotationBeginDelimiterKey.value;
+
+  set NSLocaleQuotationBeginDelimiterKey(NSLocaleKey value) =>
+      _NSLocaleQuotationBeginDelimiterKey.value = value;
+
+  late final ffi.Pointer<NSLocaleKey> _NSLocaleQuotationEndDelimiterKey =
+      _lookup<NSLocaleKey>('NSLocaleQuotationEndDelimiterKey');
+
+  NSLocaleKey get NSLocaleQuotationEndDelimiterKey =>
+      _NSLocaleQuotationEndDelimiterKey.value;
+
+  set NSLocaleQuotationEndDelimiterKey(NSLocaleKey value) =>
+      _NSLocaleQuotationEndDelimiterKey.value = value;
+
+  late final ffi.Pointer<NSLocaleKey>
+      _NSLocaleAlternateQuotationBeginDelimiterKey =
+      _lookup<NSLocaleKey>('NSLocaleAlternateQuotationBeginDelimiterKey');
+
+  NSLocaleKey get NSLocaleAlternateQuotationBeginDelimiterKey =>
+      _NSLocaleAlternateQuotationBeginDelimiterKey.value;
+
+  set NSLocaleAlternateQuotationBeginDelimiterKey(NSLocaleKey value) =>
+      _NSLocaleAlternateQuotationBeginDelimiterKey.value = value;
+
+  late final ffi.Pointer<NSLocaleKey>
+      _NSLocaleAlternateQuotationEndDelimiterKey =
+      _lookup<NSLocaleKey>('NSLocaleAlternateQuotationEndDelimiterKey');
+
+  NSLocaleKey get NSLocaleAlternateQuotationEndDelimiterKey =>
+      _NSLocaleAlternateQuotationEndDelimiterKey.value;
+
+  set NSLocaleAlternateQuotationEndDelimiterKey(NSLocaleKey value) =>
+      _NSLocaleAlternateQuotationEndDelimiterKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSGregorianCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSGregorianCalendar');
+
+  ffi.Pointer<ObjCObject> get NSGregorianCalendar => _NSGregorianCalendar.value;
+
+  set NSGregorianCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSGregorianCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSBuddhistCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSBuddhistCalendar');
+
+  ffi.Pointer<ObjCObject> get NSBuddhistCalendar => _NSBuddhistCalendar.value;
+
+  set NSBuddhistCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSBuddhistCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSChineseCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSChineseCalendar');
+
+  ffi.Pointer<ObjCObject> get NSChineseCalendar => _NSChineseCalendar.value;
+
+  set NSChineseCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSChineseCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSHebrewCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSHebrewCalendar');
+
+  ffi.Pointer<ObjCObject> get NSHebrewCalendar => _NSHebrewCalendar.value;
+
+  set NSHebrewCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSHebrewCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSIslamicCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSIslamicCalendar');
+
+  ffi.Pointer<ObjCObject> get NSIslamicCalendar => _NSIslamicCalendar.value;
+
+  set NSIslamicCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSIslamicCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSIslamicCivilCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSIslamicCivilCalendar');
+
+  ffi.Pointer<ObjCObject> get NSIslamicCivilCalendar =>
+      _NSIslamicCivilCalendar.value;
+
+  set NSIslamicCivilCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSIslamicCivilCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSJapaneseCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSJapaneseCalendar');
+
+  ffi.Pointer<ObjCObject> get NSJapaneseCalendar => _NSJapaneseCalendar.value;
+
+  set NSJapaneseCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSJapaneseCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSRepublicOfChinaCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSRepublicOfChinaCalendar');
+
+  ffi.Pointer<ObjCObject> get NSRepublicOfChinaCalendar =>
+      _NSRepublicOfChinaCalendar.value;
+
+  set NSRepublicOfChinaCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSRepublicOfChinaCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSPersianCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersianCalendar');
+
+  ffi.Pointer<ObjCObject> get NSPersianCalendar => _NSPersianCalendar.value;
+
+  set NSPersianCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSPersianCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSIndianCalendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSIndianCalendar');
+
+  ffi.Pointer<ObjCObject> get NSIndianCalendar => _NSIndianCalendar.value;
+
+  set NSIndianCalendar(ffi.Pointer<ObjCObject> value) =>
+      _NSIndianCalendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSISO8601Calendar =
+      _lookup<ffi.Pointer<ObjCObject>>('NSISO8601Calendar');
+
+  ffi.Pointer<ObjCObject> get NSISO8601Calendar => _NSISO8601Calendar.value;
+
+  set NSISO8601Calendar(ffi.Pointer<ObjCObject> value) =>
+      _NSISO8601Calendar.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSPersonNameComponentKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentKey');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentKey =>
+      _NSPersonNameComponentKey.value;
+
+  set NSPersonNameComponentKey(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSPersonNameComponentGivenName =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentGivenName');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentGivenName =>
+      _NSPersonNameComponentGivenName.value;
+
+  set NSPersonNameComponentGivenName(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentGivenName.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSPersonNameComponentFamilyName =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentFamilyName');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentFamilyName =>
+      _NSPersonNameComponentFamilyName.value;
+
+  set NSPersonNameComponentFamilyName(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentFamilyName.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSPersonNameComponentMiddleName =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentMiddleName');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentMiddleName =>
+      _NSPersonNameComponentMiddleName.value;
+
+  set NSPersonNameComponentMiddleName(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentMiddleName.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSPersonNameComponentPrefix =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentPrefix');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentPrefix =>
+      _NSPersonNameComponentPrefix.value;
+
+  set NSPersonNameComponentPrefix(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentPrefix.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSPersonNameComponentSuffix =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentSuffix');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentSuffix =>
+      _NSPersonNameComponentSuffix.value;
+
+  set NSPersonNameComponentSuffix(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentSuffix.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSPersonNameComponentNickname =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentNickname');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentNickname =>
+      _NSPersonNameComponentNickname.value;
+
+  set NSPersonNameComponentNickname(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentNickname.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSPersonNameComponentDelimiter =
+      _lookup<ffi.Pointer<ObjCObject>>('NSPersonNameComponentDelimiter');
+
+  ffi.Pointer<ObjCObject> get NSPersonNameComponentDelimiter =>
+      _NSPersonNameComponentDelimiter.value;
+
+  set NSPersonNameComponentDelimiter(ffi.Pointer<ObjCObject> value) =>
+      _NSPersonNameComponentDelimiter.value = value;
+
+  /// Operations
+  void NSDecimalCopy(
+    ffi.Pointer<NSDecimal> destination,
+    ffi.Pointer<NSDecimal> source,
+  ) {
+    return _NSDecimalCopy(
+      destination,
+      source,
+    );
+  }
+
+  late final _NSDecimalCopyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<NSDecimal>,
+              ffi.Pointer<NSDecimal>)>>('NSDecimalCopy');
+  late final _NSDecimalCopy = _NSDecimalCopyPtr.asFunction<
+      void Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>)>();
+
+  void NSDecimalCompact(
+    ffi.Pointer<NSDecimal> number,
+  ) {
+    return _NSDecimalCompact(
+      number,
+    );
+  }
+
+  late final _NSDecimalCompactPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<NSDecimal>)>>(
+          'NSDecimalCompact');
+  late final _NSDecimalCompact =
+      _NSDecimalCompactPtr.asFunction<void Function(ffi.Pointer<NSDecimal>)>();
+
+  int NSDecimalCompare(
+    ffi.Pointer<NSDecimal> leftOperand,
+    ffi.Pointer<NSDecimal> rightOperand,
+  ) {
+    return _NSDecimalCompare(
+      leftOperand,
+      rightOperand,
+    );
+  }
+
+  late final _NSDecimalComparePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>,
+              ffi.Pointer<NSDecimal>)>>('NSDecimalCompare');
+  late final _NSDecimalCompare = _NSDecimalComparePtr.asFunction<
+      int Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>)>();
+
+  void NSDecimalRound(
+    ffi.Pointer<NSDecimal> result,
+    ffi.Pointer<NSDecimal> number,
+    int scale,
+    int roundingMode,
+  ) {
+    return _NSDecimalRound(
+      result,
+      number,
+      scale,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalRoundPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              NSInteger, ffi.Int32)>>('NSDecimalRound');
+  late final _NSDecimalRound = _NSDecimalRoundPtr.asFunction<
+      void Function(
+          ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>, int, int)>();
+
+  int NSDecimalNormalize(
+    ffi.Pointer<NSDecimal> number1,
+    ffi.Pointer<NSDecimal> number2,
+    int roundingMode,
+  ) {
+    return _NSDecimalNormalize(
+      number1,
+      number2,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalNormalizePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              ffi.Int32)>>('NSDecimalNormalize');
+  late final _NSDecimalNormalize = _NSDecimalNormalizePtr.asFunction<
+      int Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>, int)>();
+
+  int NSDecimalAdd(
+    ffi.Pointer<NSDecimal> result,
+    ffi.Pointer<NSDecimal> leftOperand,
+    ffi.Pointer<NSDecimal> rightOperand,
+    int roundingMode,
+  ) {
+    return _NSDecimalAdd(
+      result,
+      leftOperand,
+      rightOperand,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalAddPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              ffi.Pointer<NSDecimal>, ffi.Int32)>>('NSDecimalAdd');
+  late final _NSDecimalAdd = _NSDecimalAddPtr.asFunction<
+      int Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+          ffi.Pointer<NSDecimal>, int)>();
+
+  int NSDecimalSubtract(
+    ffi.Pointer<NSDecimal> result,
+    ffi.Pointer<NSDecimal> leftOperand,
+    ffi.Pointer<NSDecimal> rightOperand,
+    int roundingMode,
+  ) {
+    return _NSDecimalSubtract(
+      result,
+      leftOperand,
+      rightOperand,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalSubtractPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              ffi.Pointer<NSDecimal>, ffi.Int32)>>('NSDecimalSubtract');
+  late final _NSDecimalSubtract = _NSDecimalSubtractPtr.asFunction<
+      int Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+          ffi.Pointer<NSDecimal>, int)>();
+
+  int NSDecimalMultiply(
+    ffi.Pointer<NSDecimal> result,
+    ffi.Pointer<NSDecimal> leftOperand,
+    ffi.Pointer<NSDecimal> rightOperand,
+    int roundingMode,
+  ) {
+    return _NSDecimalMultiply(
+      result,
+      leftOperand,
+      rightOperand,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalMultiplyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              ffi.Pointer<NSDecimal>, ffi.Int32)>>('NSDecimalMultiply');
+  late final _NSDecimalMultiply = _NSDecimalMultiplyPtr.asFunction<
+      int Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+          ffi.Pointer<NSDecimal>, int)>();
+
+  int NSDecimalDivide(
+    ffi.Pointer<NSDecimal> result,
+    ffi.Pointer<NSDecimal> leftOperand,
+    ffi.Pointer<NSDecimal> rightOperand,
+    int roundingMode,
+  ) {
+    return _NSDecimalDivide(
+      result,
+      leftOperand,
+      rightOperand,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalDividePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              ffi.Pointer<NSDecimal>, ffi.Int32)>>('NSDecimalDivide');
+  late final _NSDecimalDivide = _NSDecimalDividePtr.asFunction<
+      int Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+          ffi.Pointer<NSDecimal>, int)>();
+
+  int NSDecimalPower(
+    ffi.Pointer<NSDecimal> result,
+    ffi.Pointer<NSDecimal> number,
+    int power,
+    int roundingMode,
+  ) {
+    return _NSDecimalPower(
+      result,
+      number,
+      power,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalPowerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              NSUInteger, ffi.Int32)>>('NSDecimalPower');
+  late final _NSDecimalPower = _NSDecimalPowerPtr.asFunction<
+      int Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>, int, int)>();
+
+  int NSDecimalMultiplyByPowerOf10(
+    ffi.Pointer<NSDecimal> result,
+    ffi.Pointer<NSDecimal> number,
+    int power,
+    int roundingMode,
+  ) {
+    return _NSDecimalMultiplyByPowerOf10(
+      result,
+      number,
+      power,
+      roundingMode,
+    );
+  }
+
+  late final _NSDecimalMultiplyByPowerOf10Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>,
+              ffi.Short, ffi.Int32)>>('NSDecimalMultiplyByPowerOf10');
+  late final _NSDecimalMultiplyByPowerOf10 =
+      _NSDecimalMultiplyByPowerOf10Ptr.asFunction<
+          int Function(
+              ffi.Pointer<NSDecimal>, ffi.Pointer<NSDecimal>, int, int)>();
+
+  ffi.Pointer<ObjCObject> NSDecimalString(
+    ffi.Pointer<NSDecimal> dcm,
+    ffi.Pointer<ObjCObject> locale,
+  ) {
+    return _NSDecimalString(
+      dcm,
+      locale,
+    );
+  }
+
+  late final _NSDecimalStringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<NSDecimal>,
+              ffi.Pointer<ObjCObject>)>>('NSDecimalString');
+  late final _NSDecimalString = _NSDecimalStringPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<NSDecimal>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSScanner1 = _getClass1("NSScanner");
+  late final _sel_scanLocation1 = _registerName1("scanLocation");
+  late final _sel_setScanLocation_1 = _registerName1("setScanLocation:");
+  late final _sel_charactersToBeSkipped1 =
+      _registerName1("charactersToBeSkipped");
+  late final _sel_setCharactersToBeSkipped_1 =
+      _registerName1("setCharactersToBeSkipped:");
+  void _objc_msgSend_602(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_602(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_602Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_602 = __objc_msgSend_602Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_caseSensitive1 = _registerName1("caseSensitive");
+  late final _sel_setCaseSensitive_1 = _registerName1("setCaseSensitive:");
+  late final _sel_scanInt_1 = _registerName1("scanInt:");
+  bool _objc_msgSend_603(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Int> result,
+  ) {
+    return __objc_msgSend_603(
+      obj,
+      sel,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_603Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Int>)>>('objc_msgSend');
+  late final __objc_msgSend_603 = __objc_msgSend_603Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Int>)>();
+
+  late final _sel_scanInteger_1 = _registerName1("scanInteger:");
+  bool _objc_msgSend_604(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSInteger> result,
+  ) {
+    return __objc_msgSend_604(
+      obj,
+      sel,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_604Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSInteger>)>>('objc_msgSend');
+  late final __objc_msgSend_604 = __objc_msgSend_604Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSInteger>)>();
+
+  late final _sel_scanLongLong_1 = _registerName1("scanLongLong:");
+  bool _objc_msgSend_605(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.LongLong> result,
+  ) {
+    return __objc_msgSend_605(
+      obj,
+      sel,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_605Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.LongLong>)>>('objc_msgSend');
+  late final __objc_msgSend_605 = __objc_msgSend_605Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.LongLong>)>();
+
+  late final _sel_scanUnsignedLongLong_1 =
+      _registerName1("scanUnsignedLongLong:");
+  bool _objc_msgSend_606(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.UnsignedLongLong> result,
+  ) {
+    return __objc_msgSend_606(
+      obj,
+      sel,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_606Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.UnsignedLongLong>)>>('objc_msgSend');
+  late final __objc_msgSend_606 = __objc_msgSend_606Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.UnsignedLongLong>)>();
+
+  late final _sel_scanFloat_1 = _registerName1("scanFloat:");
+  bool _objc_msgSend_607(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Float> result,
+  ) {
+    return __objc_msgSend_607(
+      obj,
+      sel,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_607Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Float>)>>('objc_msgSend');
+  late final __objc_msgSend_607 = __objc_msgSend_607Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Float>)>();
+
+  late final _sel_scanDouble_1 = _registerName1("scanDouble:");
+  bool _objc_msgSend_608(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Double> result,
+  ) {
+    return __objc_msgSend_608(
+      obj,
+      sel,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_608Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Double>)>>('objc_msgSend');
+  late final __objc_msgSend_608 = __objc_msgSend_608Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Double>)>();
+
+  late final _sel_scanHexInt_1 = _registerName1("scanHexInt:");
+  bool _objc_msgSend_609(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.UnsignedInt> result,
+  ) {
+    return __objc_msgSend_609(
+      obj,
+      sel,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_609Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.UnsignedInt>)>>('objc_msgSend');
+  late final __objc_msgSend_609 = __objc_msgSend_609Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.UnsignedInt>)>();
+
+  late final _sel_scanHexLongLong_1 = _registerName1("scanHexLongLong:");
+  late final _sel_scanHexFloat_1 = _registerName1("scanHexFloat:");
+  late final _sel_scanHexDouble_1 = _registerName1("scanHexDouble:");
+  late final _sel_scanString_intoString_1 =
+      _registerName1("scanString:intoString:");
+  bool _objc_msgSend_610(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> result,
+  ) {
+    return __objc_msgSend_610(
+      obj,
+      sel,
+      string,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_610Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_610 = __objc_msgSend_610Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_scanCharactersFromSet_intoString_1 =
+      _registerName1("scanCharactersFromSet:intoString:");
+  bool _objc_msgSend_611(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> set1,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> result,
+  ) {
+    return __objc_msgSend_611(
+      obj,
+      sel,
+      set1,
+      result,
+    );
+  }
+
+  late final __objc_msgSend_611Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_611 = __objc_msgSend_611Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_scanUpToString_intoString_1 =
+      _registerName1("scanUpToString:intoString:");
+  late final _sel_scanUpToCharactersFromSet_intoString_1 =
+      _registerName1("scanUpToCharactersFromSet:intoString:");
+  late final _sel_isAtEnd1 = _registerName1("isAtEnd");
+  late final _sel_scannerWithString_1 = _registerName1("scannerWithString:");
+  late final _sel_localizedScannerWithString_1 =
+      _registerName1("localizedScannerWithString:");
+  late final _sel_scanDecimal_1 = _registerName1("scanDecimal:");
+  bool _objc_msgSend_612(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSDecimal> dcm,
+  ) {
+    return __objc_msgSend_612(
+      obj,
+      sel,
+      dcm,
+    );
+  }
+
+  late final __objc_msgSend_612Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSDecimal>)>>('objc_msgSend');
+  late final __objc_msgSend_612 = __objc_msgSend_612Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSDecimal>)>();
+
+  /// Generic Exception names
+  late final ffi.Pointer<NSExceptionName> _NSGenericException =
+      _lookup<NSExceptionName>('NSGenericException');
+
+  NSExceptionName get NSGenericException => _NSGenericException.value;
+
+  set NSGenericException(NSExceptionName value) =>
+      _NSGenericException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSRangeException =
+      _lookup<NSExceptionName>('NSRangeException');
+
+  NSExceptionName get NSRangeException => _NSRangeException.value;
+
+  set NSRangeException(NSExceptionName value) =>
+      _NSRangeException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSInvalidArgumentException =
+      _lookup<NSExceptionName>('NSInvalidArgumentException');
+
+  NSExceptionName get NSInvalidArgumentException =>
+      _NSInvalidArgumentException.value;
+
+  set NSInvalidArgumentException(NSExceptionName value) =>
+      _NSInvalidArgumentException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSInternalInconsistencyException =
+      _lookup<NSExceptionName>('NSInternalInconsistencyException');
+
+  NSExceptionName get NSInternalInconsistencyException =>
+      _NSInternalInconsistencyException.value;
+
+  set NSInternalInconsistencyException(NSExceptionName value) =>
+      _NSInternalInconsistencyException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSMallocException =
+      _lookup<NSExceptionName>('NSMallocException');
+
+  NSExceptionName get NSMallocException => _NSMallocException.value;
+
+  set NSMallocException(NSExceptionName value) =>
+      _NSMallocException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSObjectInaccessibleException =
+      _lookup<NSExceptionName>('NSObjectInaccessibleException');
+
+  NSExceptionName get NSObjectInaccessibleException =>
+      _NSObjectInaccessibleException.value;
+
+  set NSObjectInaccessibleException(NSExceptionName value) =>
+      _NSObjectInaccessibleException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSObjectNotAvailableException =
+      _lookup<NSExceptionName>('NSObjectNotAvailableException');
+
+  NSExceptionName get NSObjectNotAvailableException =>
+      _NSObjectNotAvailableException.value;
+
+  set NSObjectNotAvailableException(NSExceptionName value) =>
+      _NSObjectNotAvailableException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSDestinationInvalidException =
+      _lookup<NSExceptionName>('NSDestinationInvalidException');
+
+  NSExceptionName get NSDestinationInvalidException =>
+      _NSDestinationInvalidException.value;
+
+  set NSDestinationInvalidException(NSExceptionName value) =>
+      _NSDestinationInvalidException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSPortTimeoutException =
+      _lookup<NSExceptionName>('NSPortTimeoutException');
+
+  NSExceptionName get NSPortTimeoutException => _NSPortTimeoutException.value;
+
+  set NSPortTimeoutException(NSExceptionName value) =>
+      _NSPortTimeoutException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSInvalidSendPortException =
+      _lookup<NSExceptionName>('NSInvalidSendPortException');
+
+  NSExceptionName get NSInvalidSendPortException =>
+      _NSInvalidSendPortException.value;
+
+  set NSInvalidSendPortException(NSExceptionName value) =>
+      _NSInvalidSendPortException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSInvalidReceivePortException =
+      _lookup<NSExceptionName>('NSInvalidReceivePortException');
+
+  NSExceptionName get NSInvalidReceivePortException =>
+      _NSInvalidReceivePortException.value;
+
+  set NSInvalidReceivePortException(NSExceptionName value) =>
+      _NSInvalidReceivePortException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSPortSendException =
+      _lookup<NSExceptionName>('NSPortSendException');
+
+  NSExceptionName get NSPortSendException => _NSPortSendException.value;
+
+  set NSPortSendException(NSExceptionName value) =>
+      _NSPortSendException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSPortReceiveException =
+      _lookup<NSExceptionName>('NSPortReceiveException');
+
+  NSExceptionName get NSPortReceiveException => _NSPortReceiveException.value;
+
+  set NSPortReceiveException(NSExceptionName value) =>
+      _NSPortReceiveException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSOldStyleException =
+      _lookup<NSExceptionName>('NSOldStyleException');
+
+  NSExceptionName get NSOldStyleException => _NSOldStyleException.value;
+
+  set NSOldStyleException(NSExceptionName value) =>
+      _NSOldStyleException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSInconsistentArchiveException =
+      _lookup<NSExceptionName>('NSInconsistentArchiveException');
+
+  NSExceptionName get NSInconsistentArchiveException =>
+      _NSInconsistentArchiveException.value;
+
+  set NSInconsistentArchiveException(NSExceptionName value) =>
+      _NSInconsistentArchiveException.value = value;
+
+  late final _class_NSException1 = _getClass1("NSException");
+  late final _sel_exceptionWithName_reason_userInfo_1 =
+      _registerName1("exceptionWithName:reason:userInfo:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_613(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSExceptionName name,
+    ffi.Pointer<ObjCObject> reason,
+    ffi.Pointer<ObjCObject> userInfo,
+  ) {
+    return __objc_msgSend_613(
+      obj,
+      sel,
+      name,
+      reason,
+      userInfo,
+    );
+  }
+
+  late final __objc_msgSend_613Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSExceptionName,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_613 = __objc_msgSend_613Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSExceptionName,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithName_reason_userInfo_1 =
+      _registerName1("initWithName:reason:userInfo:");
+  instancetype _objc_msgSend_614(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSExceptionName aName,
+    ffi.Pointer<ObjCObject> aReason,
+    ffi.Pointer<ObjCObject> aUserInfo,
+  ) {
+    return __objc_msgSend_614(
+      obj,
+      sel,
+      aName,
+      aReason,
+      aUserInfo,
+    );
+  }
+
+  late final __objc_msgSend_614Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSExceptionName,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_614 = __objc_msgSend_614Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSExceptionName, ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_reason1 = _registerName1("reason");
+  late final _sel_raise1 = _registerName1("raise");
+  late final _sel_raise_format_1 = _registerName1("raise:format:");
+  void _objc_msgSend_615(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSExceptionName name,
+    ffi.Pointer<ObjCObject> format,
+  ) {
+    return __objc_msgSend_615(
+      obj,
+      sel,
+      name,
+      format,
+    );
+  }
+
+  late final __objc_msgSend_615Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSExceptionName, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_615 = __objc_msgSend_615Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSExceptionName, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_raise_format_arguments_1 =
+      _registerName1("raise:format:arguments:");
+  void _objc_msgSend_616(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSExceptionName name,
+    ffi.Pointer<ObjCObject> format,
+    ffi.Pointer<__va_list_tag> argList,
+  ) {
+    return __objc_msgSend_616(
+      obj,
+      sel,
+      name,
+      format,
+      argList,
+    );
+  }
+
+  late final __objc_msgSend_616Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSExceptionName,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<__va_list_tag>)>>('objc_msgSend');
+  late final __objc_msgSend_616 = __objc_msgSend_616Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSExceptionName,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<__va_list_tag>)>();
+
+  ffi.Pointer<NSUncaughtExceptionHandler> NSGetUncaughtExceptionHandler() {
+    return _NSGetUncaughtExceptionHandler();
+  }
+
+  late final _NSGetUncaughtExceptionHandlerPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Pointer<NSUncaughtExceptionHandler> Function()>>(
+      'NSGetUncaughtExceptionHandler');
+  late final _NSGetUncaughtExceptionHandler = _NSGetUncaughtExceptionHandlerPtr
+      .asFunction<ffi.Pointer<NSUncaughtExceptionHandler> Function()>();
+
+  void NSSetUncaughtExceptionHandler(
+    ffi.Pointer<NSUncaughtExceptionHandler> arg0,
+  ) {
+    return _NSSetUncaughtExceptionHandler(
+      arg0,
+    );
+  }
+
+  late final _NSSetUncaughtExceptionHandlerPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<NSUncaughtExceptionHandler>)>>(
+      'NSSetUncaughtExceptionHandler');
+  late final _NSSetUncaughtExceptionHandler = _NSSetUncaughtExceptionHandlerPtr
+      .asFunction<void Function(ffi.Pointer<NSUncaughtExceptionHandler>)>();
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSAssertionHandlerKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSAssertionHandlerKey');
+
+  ffi.Pointer<ObjCObject> get NSAssertionHandlerKey =>
+      _NSAssertionHandlerKey.value;
+
+  set NSAssertionHandlerKey(ffi.Pointer<ObjCObject> value) =>
+      _NSAssertionHandlerKey.value = value;
+
+  /// Exceptions
+  late final ffi.Pointer<NSExceptionName> _NSDecimalNumberExactnessException =
+      _lookup<NSExceptionName>('NSDecimalNumberExactnessException');
+
+  NSExceptionName get NSDecimalNumberExactnessException =>
+      _NSDecimalNumberExactnessException.value;
+
+  set NSDecimalNumberExactnessException(NSExceptionName value) =>
+      _NSDecimalNumberExactnessException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSDecimalNumberOverflowException =
+      _lookup<NSExceptionName>('NSDecimalNumberOverflowException');
+
+  NSExceptionName get NSDecimalNumberOverflowException =>
+      _NSDecimalNumberOverflowException.value;
+
+  set NSDecimalNumberOverflowException(NSExceptionName value) =>
+      _NSDecimalNumberOverflowException.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSDecimalNumberUnderflowException =
+      _lookup<NSExceptionName>('NSDecimalNumberUnderflowException');
+
+  NSExceptionName get NSDecimalNumberUnderflowException =>
+      _NSDecimalNumberUnderflowException.value;
+
+  set NSDecimalNumberUnderflowException(NSExceptionName value) =>
+      _NSDecimalNumberUnderflowException.value = value;
+
+  late final ffi.Pointer<NSExceptionName>
+      _NSDecimalNumberDivideByZeroException =
+      _lookup<NSExceptionName>('NSDecimalNumberDivideByZeroException');
+
+  NSExceptionName get NSDecimalNumberDivideByZeroException =>
+      _NSDecimalNumberDivideByZeroException.value;
+
+  set NSDecimalNumberDivideByZeroException(NSExceptionName value) =>
+      _NSDecimalNumberDivideByZeroException.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSCocoaErrorDomain =
+      _lookup<NSErrorDomain>('NSCocoaErrorDomain');
+
+  NSErrorDomain get NSCocoaErrorDomain => _NSCocoaErrorDomain.value;
+
+  set NSCocoaErrorDomain(NSErrorDomain value) =>
+      _NSCocoaErrorDomain.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSPOSIXErrorDomain =
+      _lookup<NSErrorDomain>('NSPOSIXErrorDomain');
+
+  NSErrorDomain get NSPOSIXErrorDomain => _NSPOSIXErrorDomain.value;
+
+  set NSPOSIXErrorDomain(NSErrorDomain value) =>
+      _NSPOSIXErrorDomain.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSOSStatusErrorDomain =
+      _lookup<NSErrorDomain>('NSOSStatusErrorDomain');
+
+  NSErrorDomain get NSOSStatusErrorDomain => _NSOSStatusErrorDomain.value;
+
+  set NSOSStatusErrorDomain(NSErrorDomain value) =>
+      _NSOSStatusErrorDomain.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSMachErrorDomain =
+      _lookup<NSErrorDomain>('NSMachErrorDomain');
+
+  NSErrorDomain get NSMachErrorDomain => _NSMachErrorDomain.value;
+
+  set NSMachErrorDomain(NSErrorDomain value) =>
+      _NSMachErrorDomain.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSUnderlyingErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSUnderlyingErrorKey');
+
+  NSErrorUserInfoKey get NSUnderlyingErrorKey => _NSUnderlyingErrorKey.value;
+
+  set NSUnderlyingErrorKey(NSErrorUserInfoKey value) =>
+      _NSUnderlyingErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSMultipleUnderlyingErrorsKey =
+      _lookup<NSErrorUserInfoKey>('NSMultipleUnderlyingErrorsKey');
+
+  NSErrorUserInfoKey get NSMultipleUnderlyingErrorsKey =>
+      _NSMultipleUnderlyingErrorsKey.value;
+
+  set NSMultipleUnderlyingErrorsKey(NSErrorUserInfoKey value) =>
+      _NSMultipleUnderlyingErrorsKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSLocalizedDescriptionKey =
+      _lookup<NSErrorUserInfoKey>('NSLocalizedDescriptionKey');
+
+  NSErrorUserInfoKey get NSLocalizedDescriptionKey =>
+      _NSLocalizedDescriptionKey.value;
+
+  set NSLocalizedDescriptionKey(NSErrorUserInfoKey value) =>
+      _NSLocalizedDescriptionKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSLocalizedFailureReasonErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSLocalizedFailureReasonErrorKey');
+
+  NSErrorUserInfoKey get NSLocalizedFailureReasonErrorKey =>
+      _NSLocalizedFailureReasonErrorKey.value;
+
+  set NSLocalizedFailureReasonErrorKey(NSErrorUserInfoKey value) =>
+      _NSLocalizedFailureReasonErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey>
+      _NSLocalizedRecoverySuggestionErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSLocalizedRecoverySuggestionErrorKey');
+
+  NSErrorUserInfoKey get NSLocalizedRecoverySuggestionErrorKey =>
+      _NSLocalizedRecoverySuggestionErrorKey.value;
+
+  set NSLocalizedRecoverySuggestionErrorKey(NSErrorUserInfoKey value) =>
+      _NSLocalizedRecoverySuggestionErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey>
+      _NSLocalizedRecoveryOptionsErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSLocalizedRecoveryOptionsErrorKey');
+
+  NSErrorUserInfoKey get NSLocalizedRecoveryOptionsErrorKey =>
+      _NSLocalizedRecoveryOptionsErrorKey.value;
+
+  set NSLocalizedRecoveryOptionsErrorKey(NSErrorUserInfoKey value) =>
+      _NSLocalizedRecoveryOptionsErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSRecoveryAttempterErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSRecoveryAttempterErrorKey');
+
+  NSErrorUserInfoKey get NSRecoveryAttempterErrorKey =>
+      _NSRecoveryAttempterErrorKey.value;
+
+  set NSRecoveryAttempterErrorKey(NSErrorUserInfoKey value) =>
+      _NSRecoveryAttempterErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSHelpAnchorErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSHelpAnchorErrorKey');
+
+  NSErrorUserInfoKey get NSHelpAnchorErrorKey => _NSHelpAnchorErrorKey.value;
+
+  set NSHelpAnchorErrorKey(NSErrorUserInfoKey value) =>
+      _NSHelpAnchorErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSDebugDescriptionErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSDebugDescriptionErrorKey');
+
+  NSErrorUserInfoKey get NSDebugDescriptionErrorKey =>
+      _NSDebugDescriptionErrorKey.value;
+
+  set NSDebugDescriptionErrorKey(NSErrorUserInfoKey value) =>
+      _NSDebugDescriptionErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSLocalizedFailureErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSLocalizedFailureErrorKey');
+
+  NSErrorUserInfoKey get NSLocalizedFailureErrorKey =>
+      _NSLocalizedFailureErrorKey.value;
+
+  set NSLocalizedFailureErrorKey(NSErrorUserInfoKey value) =>
+      _NSLocalizedFailureErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSStringEncodingErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSStringEncodingErrorKey');
+
+  NSErrorUserInfoKey get NSStringEncodingErrorKey =>
+      _NSStringEncodingErrorKey.value;
+
+  set NSStringEncodingErrorKey(NSErrorUserInfoKey value) =>
+      _NSStringEncodingErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSURLErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSURLErrorKey');
+
+  NSErrorUserInfoKey get NSURLErrorKey => _NSURLErrorKey.value;
+
+  set NSURLErrorKey(NSErrorUserInfoKey value) => _NSURLErrorKey.value = value;
+
+  late final ffi.Pointer<NSErrorUserInfoKey> _NSFilePathErrorKey =
+      _lookup<NSErrorUserInfoKey>('NSFilePathErrorKey');
+
+  NSErrorUserInfoKey get NSFilePathErrorKey => _NSFilePathErrorKey.value;
+
+  set NSFilePathErrorKey(NSErrorUserInfoKey value) =>
+      _NSFilePathErrorKey.value = value;
+
+  late final ffi.Pointer<NSRunLoopMode> _NSDefaultRunLoopMode =
+      _lookup<NSRunLoopMode>('NSDefaultRunLoopMode');
+
+  NSRunLoopMode get NSDefaultRunLoopMode => _NSDefaultRunLoopMode.value;
+
+  set NSDefaultRunLoopMode(NSRunLoopMode value) =>
+      _NSDefaultRunLoopMode.value = value;
+
+  late final ffi.Pointer<NSRunLoopMode> _NSRunLoopCommonModes =
+      _lookup<NSRunLoopMode>('NSRunLoopCommonModes');
+
+  NSRunLoopMode get NSRunLoopCommonModes => _NSRunLoopCommonModes.value;
+
+  set NSRunLoopCommonModes(NSRunLoopMode value) =>
+      _NSRunLoopCommonModes.value = value;
+
+  late final _class_NSRunLoop1 = _getClass1("NSRunLoop");
+  late final _sel_currentRunLoop1 = _registerName1("currentRunLoop");
+  ffi.Pointer<ObjCObject> _objc_msgSend_617(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_617(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_617Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_617 = __objc_msgSend_617Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_mainRunLoop1 = _registerName1("mainRunLoop");
+  late final _sel_currentMode1 = _registerName1("currentMode");
+  late final _sel_getCFRunLoop1 = _registerName1("getCFRunLoop");
+  CFRunLoopRef _objc_msgSend_618(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_618(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_618Ptr = _lookup<
+      ffi.NativeFunction<
+          CFRunLoopRef Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_618 = __objc_msgSend_618Ptr.asFunction<
+      CFRunLoopRef Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _class_NSTimer1 = _getClass1("NSTimer");
+  late final _sel_timerWithTimeInterval_invocation_repeats_1 =
+      _registerName1("timerWithTimeInterval:invocation:repeats:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_619(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double ti,
+    ffi.Pointer<ObjCObject> invocation,
+    bool yesOrNo,
+  ) {
+    return __objc_msgSend_619(
+      obj,
+      sel,
+      ti,
+      invocation,
+      yesOrNo,
+    );
+  }
+
+  late final __objc_msgSend_619Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSTimeInterval,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_619 = __objc_msgSend_619Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, double, ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_scheduledTimerWithTimeInterval_invocation_repeats_1 =
+      _registerName1("scheduledTimerWithTimeInterval:invocation:repeats:");
+  late final _sel_timerWithTimeInterval_target_selector_userInfo_repeats_1 =
+      _registerName1("timerWithTimeInterval:target:selector:userInfo:repeats:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_620(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double ti,
+    ffi.Pointer<ObjCObject> aTarget,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> userInfo,
+    bool yesOrNo,
+  ) {
+    return __objc_msgSend_620(
+      obj,
+      sel,
+      ti,
+      aTarget,
+      aSelector,
+      userInfo,
+      yesOrNo,
+    );
+  }
+
+  late final __objc_msgSend_620Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSTimeInterval,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_620 = __objc_msgSend_620Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          double,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool)>();
+
+  late final _sel_scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_1 =
+      _registerName1(
+          "scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:");
+  late final _sel_timerWithTimeInterval_repeats_block_1 =
+      _registerName1("timerWithTimeInterval:repeats:block:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_621(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double interval,
+    bool repeats,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_621(
+      obj,
+      sel,
+      interval,
+      repeats,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_621Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSTimeInterval,
+              ffi.Bool,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_621 = __objc_msgSend_621Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, double, bool, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_scheduledTimerWithTimeInterval_repeats_block_1 =
+      _registerName1("scheduledTimerWithTimeInterval:repeats:block:");
+  late final _sel_initWithFireDate_interval_repeats_block_1 =
+      _registerName1("initWithFireDate:interval:repeats:block:");
+  instancetype _objc_msgSend_622(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+    double interval,
+    bool repeats,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_622(
+      obj,
+      sel,
+      date,
+      interval,
+      repeats,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_622Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSTimeInterval,
+              ffi.Bool,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_622 = __objc_msgSend_622Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, double, bool, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_initWithFireDate_interval_target_selector_userInfo_repeats_1 =
+      _registerName1(
+          "initWithFireDate:interval:target:selector:userInfo:repeats:");
+  instancetype _objc_msgSend_623(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> date,
+    double ti,
+    ffi.Pointer<ObjCObject> t,
+    ffi.Pointer<ObjCSel> s,
+    ffi.Pointer<ObjCObject> ui,
+    bool rep,
+  ) {
+    return __objc_msgSend_623(
+      obj,
+      sel,
+      date,
+      ti,
+      t,
+      s,
+      ui,
+      rep,
+    );
+  }
+
+  late final __objc_msgSend_623Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSTimeInterval,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_623 = __objc_msgSend_623Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          double,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          bool)>();
+
+  late final _sel_fire1 = _registerName1("fire");
+  late final _sel_fireDate1 = _registerName1("fireDate");
+  late final _sel_setFireDate_1 = _registerName1("setFireDate:");
+  late final _sel_timeInterval1 = _registerName1("timeInterval");
+  late final _sel_tolerance1 = _registerName1("tolerance");
+  late final _sel_setTolerance_1 = _registerName1("setTolerance:");
+  late final _sel_invalidate1 = _registerName1("invalidate");
+  late final _sel_isValid1 = _registerName1("isValid");
+  late final _sel_addTimer_forMode_1 = _registerName1("addTimer:forMode:");
+  void _objc_msgSend_624(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> timer,
+    NSRunLoopMode mode,
+  ) {
+    return __objc_msgSend_624(
+      obj,
+      sel,
+      timer,
+      mode,
+    );
+  }
+
+  late final __objc_msgSend_624Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRunLoopMode)>>('objc_msgSend');
+  late final __objc_msgSend_624 = __objc_msgSend_624Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRunLoopMode)>();
+
+  late final _class_NSPort1 = _getClass1("NSPort");
+  ffi.Pointer<ObjCObject> _objc_msgSend_625(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_625(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_625Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_625 = __objc_msgSend_625Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_scheduleInRunLoop_forMode_1 =
+      _registerName1("scheduleInRunLoop:forMode:");
+  void _objc_msgSend_626(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> runLoop,
+    NSRunLoopMode mode,
+  ) {
+    return __objc_msgSend_626(
+      obj,
+      sel,
+      runLoop,
+      mode,
+    );
+  }
+
+  late final __objc_msgSend_626Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRunLoopMode)>>('objc_msgSend');
+  late final __objc_msgSend_626 = __objc_msgSend_626Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRunLoopMode)>();
+
+  late final _sel_removeFromRunLoop_forMode_1 =
+      _registerName1("removeFromRunLoop:forMode:");
+  late final _sel_reservedSpaceLength1 = _registerName1("reservedSpaceLength");
+  late final _sel_sendBeforeDate_components_from_reserved_1 =
+      _registerName1("sendBeforeDate:components:from:reserved:");
+  bool _objc_msgSend_627(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> limitDate,
+    ffi.Pointer<ObjCObject> components,
+    ffi.Pointer<ObjCObject> receivePort,
+    int headerSpaceReserved,
+  ) {
+    return __objc_msgSend_627(
+      obj,
+      sel,
+      limitDate,
+      components,
+      receivePort,
+      headerSpaceReserved,
+    );
+  }
+
+  late final __objc_msgSend_627Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_627 = __objc_msgSend_627Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_sendBeforeDate_msgid_components_from_reserved_1 =
+      _registerName1("sendBeforeDate:msgid:components:from:reserved:");
+  bool _objc_msgSend_628(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> limitDate,
+    int msgID,
+    ffi.Pointer<ObjCObject> components,
+    ffi.Pointer<ObjCObject> receivePort,
+    int headerSpaceReserved,
+  ) {
+    return __objc_msgSend_628(
+      obj,
+      sel,
+      limitDate,
+      msgID,
+      components,
+      receivePort,
+      headerSpaceReserved,
+    );
+  }
+
+  late final __objc_msgSend_628Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_628 = __objc_msgSend_628Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_addPort_forMode_1 = _registerName1("addPort:forMode:");
+  void _objc_msgSend_629(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> aPort,
+    NSRunLoopMode mode,
+  ) {
+    return __objc_msgSend_629(
+      obj,
+      sel,
+      aPort,
+      mode,
+    );
+  }
+
+  late final __objc_msgSend_629Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSRunLoopMode)>>('objc_msgSend');
+  late final __objc_msgSend_629 = __objc_msgSend_629Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, NSRunLoopMode)>();
+
+  late final _sel_removePort_forMode_1 = _registerName1("removePort:forMode:");
+  late final _sel_limitDateForMode_1 = _registerName1("limitDateForMode:");
+  late final _sel_acceptInputForMode_beforeDate_1 =
+      _registerName1("acceptInputForMode:beforeDate:");
+  void _objc_msgSend_630(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRunLoopMode mode,
+    ffi.Pointer<ObjCObject> limitDate,
+  ) {
+    return __objc_msgSend_630(
+      obj,
+      sel,
+      mode,
+      limitDate,
+    );
+  }
+
+  late final __objc_msgSend_630Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRunLoopMode, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_630 = __objc_msgSend_630Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSRunLoopMode, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_run1 = _registerName1("run");
+  late final _sel_runUntilDate_1 = _registerName1("runUntilDate:");
+  late final _sel_runMode_beforeDate_1 = _registerName1("runMode:beforeDate:");
+  bool _objc_msgSend_631(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRunLoopMode mode,
+    ffi.Pointer<ObjCObject> limitDate,
+  ) {
+    return __objc_msgSend_631(
+      obj,
+      sel,
+      mode,
+      limitDate,
+    );
+  }
+
+  late final __objc_msgSend_631Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSRunLoopMode, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_631 = __objc_msgSend_631Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSRunLoopMode, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_performInModes_block_1 =
+      _registerName1("performInModes:block:");
+  void _objc_msgSend_632(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> modes,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_632(
+      obj,
+      sel,
+      modes,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_632Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_632 = __objc_msgSend_632Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_performBlock_1 = _registerName1("performBlock:");
+  late final _sel_performSelector_target_argument_order_modes_1 =
+      _registerName1("performSelector:target:argument:order:modes:");
+  void _objc_msgSend_633(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCSel> aSelector,
+    ffi.Pointer<ObjCObject> target,
+    ffi.Pointer<ObjCObject> arg,
+    int order,
+    ffi.Pointer<ObjCObject> modes,
+  ) {
+    return __objc_msgSend_633(
+      obj,
+      sel,
+      aSelector,
+      target,
+      arg,
+      order,
+      modes,
+    );
+  }
+
+  late final __objc_msgSend_633Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_633 = __objc_msgSend_633Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_cancelPerformSelector_target_argument_1 =
+      _registerName1("cancelPerformSelector:target:argument:");
+  late final _sel_cancelPerformSelectorsWithTarget_1 =
+      _registerName1("cancelPerformSelectorsWithTarget:");
+  late final _class_NSFileHandle1 = _getClass1("NSFileHandle");
+  late final _sel_availableData1 = _registerName1("availableData");
+  late final _sel_initWithFileDescriptor_closeOnDealloc_1 =
+      _registerName1("initWithFileDescriptor:closeOnDealloc:");
+  instancetype _objc_msgSend_634(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int fd,
+    bool closeopt,
+  ) {
+    return __objc_msgSend_634(
+      obj,
+      sel,
+      fd,
+      closeopt,
+    );
+  }
+
+  late final __objc_msgSend_634Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_634 = __objc_msgSend_634Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, bool)>();
+
+  late final _sel_readDataToEndOfFileAndReturnError_1 =
+      _registerName1("readDataToEndOfFileAndReturnError:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_635(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_635(
+      obj,
+      sel,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_635Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_635 = __objc_msgSend_635Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_readDataUpToLength_error_1 =
+      _registerName1("readDataUpToLength:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_636(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int length,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_636(
+      obj,
+      sel,
+      length,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_636Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_636 = __objc_msgSend_636Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_writeData_error_1 = _registerName1("writeData:error:");
+  bool _objc_msgSend_637(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_637(
+      obj,
+      sel,
+      data,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_637Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_637 = __objc_msgSend_637Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_getOffset_error_1 = _registerName1("getOffset:error:");
+  bool _objc_msgSend_638(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.UnsignedLongLong> offsetInFile,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_638(
+      obj,
+      sel,
+      offsetInFile,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_638Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.UnsignedLongLong>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_638 = __objc_msgSend_638Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.UnsignedLongLong>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_seekToEndReturningOffset_error_1 =
+      _registerName1("seekToEndReturningOffset:error:");
+  late final _sel_seekToOffset_error_1 = _registerName1("seekToOffset:error:");
+  bool _objc_msgSend_639(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int offset,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_639(
+      obj,
+      sel,
+      offset,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_639Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.UnsignedLongLong,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_639 = __objc_msgSend_639Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_truncateAtOffset_error_1 =
+      _registerName1("truncateAtOffset:error:");
+  late final _sel_synchronizeAndReturnError_1 =
+      _registerName1("synchronizeAndReturnError:");
+  late final _sel_closeAndReturnError_1 =
+      _registerName1("closeAndReturnError:");
+  late final _sel_fileHandleWithStandardInput1 =
+      _registerName1("fileHandleWithStandardInput");
+  ffi.Pointer<ObjCObject> _objc_msgSend_640(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_640(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_640Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_640 = __objc_msgSend_640Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_fileHandleWithStandardOutput1 =
+      _registerName1("fileHandleWithStandardOutput");
+  late final _sel_fileHandleWithStandardError1 =
+      _registerName1("fileHandleWithStandardError");
+  late final _sel_fileHandleWithNullDevice1 =
+      _registerName1("fileHandleWithNullDevice");
+  late final _sel_fileHandleForReadingAtPath_1 =
+      _registerName1("fileHandleForReadingAtPath:");
+  late final _sel_fileHandleForWritingAtPath_1 =
+      _registerName1("fileHandleForWritingAtPath:");
+  late final _sel_fileHandleForUpdatingAtPath_1 =
+      _registerName1("fileHandleForUpdatingAtPath:");
+  late final _sel_fileHandleForReadingFromURL_error_1 =
+      _registerName1("fileHandleForReadingFromURL:error:");
+  instancetype _objc_msgSend_641(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_641(
+      obj,
+      sel,
+      url,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_641Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_641 = __objc_msgSend_641Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_fileHandleForWritingToURL_error_1 =
+      _registerName1("fileHandleForWritingToURL:error:");
+  late final _sel_fileHandleForUpdatingURL_error_1 =
+      _registerName1("fileHandleForUpdatingURL:error:");
+  late final _sel_readInBackgroundAndNotifyForModes_1 =
+      _registerName1("readInBackgroundAndNotifyForModes:");
+  late final _sel_readInBackgroundAndNotify1 =
+      _registerName1("readInBackgroundAndNotify");
+  late final _sel_readToEndOfFileInBackgroundAndNotifyForModes_1 =
+      _registerName1("readToEndOfFileInBackgroundAndNotifyForModes:");
+  late final _sel_readToEndOfFileInBackgroundAndNotify1 =
+      _registerName1("readToEndOfFileInBackgroundAndNotify");
+  late final _sel_acceptConnectionInBackgroundAndNotifyForModes_1 =
+      _registerName1("acceptConnectionInBackgroundAndNotifyForModes:");
+  late final _sel_acceptConnectionInBackgroundAndNotify1 =
+      _registerName1("acceptConnectionInBackgroundAndNotify");
+  late final _sel_waitForDataInBackgroundAndNotifyForModes_1 =
+      _registerName1("waitForDataInBackgroundAndNotifyForModes:");
+  late final _sel_waitForDataInBackgroundAndNotify1 =
+      _registerName1("waitForDataInBackgroundAndNotify");
+  late final _sel_readabilityHandler1 = _registerName1("readabilityHandler");
+  ffi.Pointer<_ObjCBlock> _objc_msgSend_642(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_642(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_642Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<_ObjCBlock> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_642 = __objc_msgSend_642Ptr.asFunction<
+      ffi.Pointer<_ObjCBlock> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setReadabilityHandler_1 =
+      _registerName1("setReadabilityHandler:");
+  void _objc_msgSend_643(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> value,
+  ) {
+    return __objc_msgSend_643(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_643Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_643 = __objc_msgSend_643Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_writeabilityHandler1 = _registerName1("writeabilityHandler");
+  late final _sel_setWriteabilityHandler_1 =
+      _registerName1("setWriteabilityHandler:");
+  late final _sel_initWithFileDescriptor_1 =
+      _registerName1("initWithFileDescriptor:");
+  instancetype _objc_msgSend_644(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int fd,
+  ) {
+    return __objc_msgSend_644(
+      obj,
+      sel,
+      fd,
+    );
+  }
+
+  late final __objc_msgSend_644Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int)>>('objc_msgSend');
+  late final __objc_msgSend_644 = __objc_msgSend_644Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_fileDescriptor1 = _registerName1("fileDescriptor");
+  late final _sel_readDataToEndOfFile1 = _registerName1("readDataToEndOfFile");
+  late final _sel_readDataOfLength_1 = _registerName1("readDataOfLength:");
+  late final _sel_writeData_1 = _registerName1("writeData:");
+  late final _sel_offsetInFile1 = _registerName1("offsetInFile");
+  late final _sel_seekToEndOfFile1 = _registerName1("seekToEndOfFile");
+  late final _sel_seekToFileOffset_1 = _registerName1("seekToFileOffset:");
+  void _objc_msgSend_645(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int offset,
+  ) {
+    return __objc_msgSend_645(
+      obj,
+      sel,
+      offset,
+    );
+  }
+
+  late final __objc_msgSend_645Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.UnsignedLongLong)>>('objc_msgSend');
+  late final __objc_msgSend_645 = __objc_msgSend_645Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_truncateFileAtOffset_1 =
+      _registerName1("truncateFileAtOffset:");
+  late final _sel_synchronizeFile1 = _registerName1("synchronizeFile");
+  late final _sel_closeFile1 = _registerName1("closeFile");
+  late final ffi.Pointer<NSExceptionName> _NSFileHandleOperationException =
+      _lookup<NSExceptionName>('NSFileHandleOperationException');
+
+  NSExceptionName get NSFileHandleOperationException =>
+      _NSFileHandleOperationException.value;
+
+  set NSFileHandleOperationException(NSExceptionName value) =>
+      _NSFileHandleOperationException.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSFileHandleReadCompletionNotification =
+      _lookup<NSNotificationName>('NSFileHandleReadCompletionNotification');
+
+  NSNotificationName get NSFileHandleReadCompletionNotification =>
+      _NSFileHandleReadCompletionNotification.value;
+
+  set NSFileHandleReadCompletionNotification(NSNotificationName value) =>
+      _NSFileHandleReadCompletionNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSFileHandleReadToEndOfFileCompletionNotification =
+      _lookup<NSNotificationName>(
+          'NSFileHandleReadToEndOfFileCompletionNotification');
+
+  NSNotificationName get NSFileHandleReadToEndOfFileCompletionNotification =>
+      _NSFileHandleReadToEndOfFileCompletionNotification.value;
+
+  set NSFileHandleReadToEndOfFileCompletionNotification(
+          NSNotificationName value) =>
+      _NSFileHandleReadToEndOfFileCompletionNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSFileHandleConnectionAcceptedNotification =
+      _lookup<NSNotificationName>('NSFileHandleConnectionAcceptedNotification');
+
+  NSNotificationName get NSFileHandleConnectionAcceptedNotification =>
+      _NSFileHandleConnectionAcceptedNotification.value;
+
+  set NSFileHandleConnectionAcceptedNotification(NSNotificationName value) =>
+      _NSFileHandleConnectionAcceptedNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSFileHandleDataAvailableNotification =
+      _lookup<NSNotificationName>('NSFileHandleDataAvailableNotification');
+
+  NSNotificationName get NSFileHandleDataAvailableNotification =>
+      _NSFileHandleDataAvailableNotification.value;
+
+  set NSFileHandleDataAvailableNotification(NSNotificationName value) =>
+      _NSFileHandleDataAvailableNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSFileHandleNotificationDataItem =
+      _lookup<ffi.Pointer<ObjCObject>>('NSFileHandleNotificationDataItem');
+
+  ffi.Pointer<ObjCObject> get NSFileHandleNotificationDataItem =>
+      _NSFileHandleNotificationDataItem.value;
+
+  set NSFileHandleNotificationDataItem(ffi.Pointer<ObjCObject> value) =>
+      _NSFileHandleNotificationDataItem.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSFileHandleNotificationFileHandleItem =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSFileHandleNotificationFileHandleItem');
+
+  ffi.Pointer<ObjCObject> get NSFileHandleNotificationFileHandleItem =>
+      _NSFileHandleNotificationFileHandleItem.value;
+
+  set NSFileHandleNotificationFileHandleItem(ffi.Pointer<ObjCObject> value) =>
+      _NSFileHandleNotificationFileHandleItem.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSFileHandleNotificationMonitorModes =
+      _lookup<ffi.Pointer<ObjCObject>>('NSFileHandleNotificationMonitorModes');
+
+  ffi.Pointer<ObjCObject> get NSFileHandleNotificationMonitorModes =>
+      _NSFileHandleNotificationMonitorModes.value;
+
+  set NSFileHandleNotificationMonitorModes(ffi.Pointer<ObjCObject> value) =>
+      _NSFileHandleNotificationMonitorModes.value = value;
+
+  ffi.Pointer<ObjCObject> NSUserName() {
+    return _NSUserName();
+  }
+
+  late final _NSUserNamePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ObjCObject> Function()>>(
+          'NSUserName');
+  late final _NSUserName =
+      _NSUserNamePtr.asFunction<ffi.Pointer<ObjCObject> Function()>();
+
+  ffi.Pointer<ObjCObject> NSFullUserName() {
+    return _NSFullUserName();
+  }
+
+  late final _NSFullUserNamePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ObjCObject> Function()>>(
+          'NSFullUserName');
+  late final _NSFullUserName =
+      _NSFullUserNamePtr.asFunction<ffi.Pointer<ObjCObject> Function()>();
+
+  ffi.Pointer<ObjCObject> NSHomeDirectory() {
+    return _NSHomeDirectory();
+  }
+
+  late final _NSHomeDirectoryPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ObjCObject> Function()>>(
+          'NSHomeDirectory');
+  late final _NSHomeDirectory =
+      _NSHomeDirectoryPtr.asFunction<ffi.Pointer<ObjCObject> Function()>();
+
+  ffi.Pointer<ObjCObject> NSHomeDirectoryForUser(
+    ffi.Pointer<ObjCObject> userName,
+  ) {
+    return _NSHomeDirectoryForUser(
+      userName,
+    );
+  }
+
+  late final _NSHomeDirectoryForUserPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSHomeDirectoryForUser');
+  late final _NSHomeDirectoryForUser = _NSHomeDirectoryForUserPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSTemporaryDirectory() {
+    return _NSTemporaryDirectory();
+  }
+
+  late final _NSTemporaryDirectoryPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ObjCObject> Function()>>(
+          'NSTemporaryDirectory');
+  late final _NSTemporaryDirectory =
+      _NSTemporaryDirectoryPtr.asFunction<ffi.Pointer<ObjCObject> Function()>();
+
+  ffi.Pointer<ObjCObject> NSOpenStepRootDirectory() {
+    return _NSOpenStepRootDirectory();
+  }
+
+  late final _NSOpenStepRootDirectoryPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ObjCObject> Function()>>(
+          'NSOpenStepRootDirectory');
+  late final _NSOpenStepRootDirectory = _NSOpenStepRootDirectoryPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function()>();
+
+  ffi.Pointer<ObjCObject> NSSearchPathForDirectoriesInDomains(
+    int directory,
+    int domainMask,
+    bool expandTilde,
+  ) {
+    return _NSSearchPathForDirectoriesInDomains(
+      directory,
+      domainMask,
+      expandTilde,
+    );
+  }
+
+  late final _NSSearchPathForDirectoriesInDomainsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Int32, ffi.Int32,
+              ffi.Bool)>>('NSSearchPathForDirectoriesInDomains');
+  late final _NSSearchPathForDirectoriesInDomains =
+      _NSSearchPathForDirectoriesInDomainsPtr.asFunction<
+          ffi.Pointer<ObjCObject> Function(int, int, bool)>();
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSURLFileScheme =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLFileScheme');
+
+  ffi.Pointer<ObjCObject> get NSURLFileScheme => _NSURLFileScheme.value;
+
+  set NSURLFileScheme(ffi.Pointer<ObjCObject> value) =>
+      _NSURLFileScheme.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLKeysOfUnsetValuesKey =
+      _lookup<NSURLResourceKey>('NSURLKeysOfUnsetValuesKey');
+
+  NSURLResourceKey get NSURLKeysOfUnsetValuesKey =>
+      _NSURLKeysOfUnsetValuesKey.value;
+
+  set NSURLKeysOfUnsetValuesKey(NSURLResourceKey value) =>
+      _NSURLKeysOfUnsetValuesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLNameKey =
+      _lookup<NSURLResourceKey>('NSURLNameKey');
+
+  NSURLResourceKey get NSURLNameKey => _NSURLNameKey.value;
+
+  set NSURLNameKey(NSURLResourceKey value) => _NSURLNameKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLLocalizedNameKey =
+      _lookup<NSURLResourceKey>('NSURLLocalizedNameKey');
+
+  NSURLResourceKey get NSURLLocalizedNameKey => _NSURLLocalizedNameKey.value;
+
+  set NSURLLocalizedNameKey(NSURLResourceKey value) =>
+      _NSURLLocalizedNameKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsRegularFileKey =
+      _lookup<NSURLResourceKey>('NSURLIsRegularFileKey');
+
+  NSURLResourceKey get NSURLIsRegularFileKey => _NSURLIsRegularFileKey.value;
+
+  set NSURLIsRegularFileKey(NSURLResourceKey value) =>
+      _NSURLIsRegularFileKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsDirectoryKey =
+      _lookup<NSURLResourceKey>('NSURLIsDirectoryKey');
+
+  NSURLResourceKey get NSURLIsDirectoryKey => _NSURLIsDirectoryKey.value;
+
+  set NSURLIsDirectoryKey(NSURLResourceKey value) =>
+      _NSURLIsDirectoryKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsSymbolicLinkKey =
+      _lookup<NSURLResourceKey>('NSURLIsSymbolicLinkKey');
+
+  NSURLResourceKey get NSURLIsSymbolicLinkKey => _NSURLIsSymbolicLinkKey.value;
+
+  set NSURLIsSymbolicLinkKey(NSURLResourceKey value) =>
+      _NSURLIsSymbolicLinkKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsVolumeKey =
+      _lookup<NSURLResourceKey>('NSURLIsVolumeKey');
+
+  NSURLResourceKey get NSURLIsVolumeKey => _NSURLIsVolumeKey.value;
+
+  set NSURLIsVolumeKey(NSURLResourceKey value) =>
+      _NSURLIsVolumeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsPackageKey =
+      _lookup<NSURLResourceKey>('NSURLIsPackageKey');
+
+  NSURLResourceKey get NSURLIsPackageKey => _NSURLIsPackageKey.value;
+
+  set NSURLIsPackageKey(NSURLResourceKey value) =>
+      _NSURLIsPackageKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsApplicationKey =
+      _lookup<NSURLResourceKey>('NSURLIsApplicationKey');
+
+  NSURLResourceKey get NSURLIsApplicationKey => _NSURLIsApplicationKey.value;
+
+  set NSURLIsApplicationKey(NSURLResourceKey value) =>
+      _NSURLIsApplicationKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLApplicationIsScriptableKey =
+      _lookup<NSURLResourceKey>('NSURLApplicationIsScriptableKey');
+
+  NSURLResourceKey get NSURLApplicationIsScriptableKey =>
+      _NSURLApplicationIsScriptableKey.value;
+
+  set NSURLApplicationIsScriptableKey(NSURLResourceKey value) =>
+      _NSURLApplicationIsScriptableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsSystemImmutableKey =
+      _lookup<NSURLResourceKey>('NSURLIsSystemImmutableKey');
+
+  NSURLResourceKey get NSURLIsSystemImmutableKey =>
+      _NSURLIsSystemImmutableKey.value;
+
+  set NSURLIsSystemImmutableKey(NSURLResourceKey value) =>
+      _NSURLIsSystemImmutableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsUserImmutableKey =
+      _lookup<NSURLResourceKey>('NSURLIsUserImmutableKey');
+
+  NSURLResourceKey get NSURLIsUserImmutableKey =>
+      _NSURLIsUserImmutableKey.value;
+
+  set NSURLIsUserImmutableKey(NSURLResourceKey value) =>
+      _NSURLIsUserImmutableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsHiddenKey =
+      _lookup<NSURLResourceKey>('NSURLIsHiddenKey');
+
+  NSURLResourceKey get NSURLIsHiddenKey => _NSURLIsHiddenKey.value;
+
+  set NSURLIsHiddenKey(NSURLResourceKey value) =>
+      _NSURLIsHiddenKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLHasHiddenExtensionKey =
+      _lookup<NSURLResourceKey>('NSURLHasHiddenExtensionKey');
+
+  NSURLResourceKey get NSURLHasHiddenExtensionKey =>
+      _NSURLHasHiddenExtensionKey.value;
+
+  set NSURLHasHiddenExtensionKey(NSURLResourceKey value) =>
+      _NSURLHasHiddenExtensionKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLCreationDateKey =
+      _lookup<NSURLResourceKey>('NSURLCreationDateKey');
+
+  NSURLResourceKey get NSURLCreationDateKey => _NSURLCreationDateKey.value;
+
+  set NSURLCreationDateKey(NSURLResourceKey value) =>
+      _NSURLCreationDateKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLContentAccessDateKey =
+      _lookup<NSURLResourceKey>('NSURLContentAccessDateKey');
+
+  NSURLResourceKey get NSURLContentAccessDateKey =>
+      _NSURLContentAccessDateKey.value;
+
+  set NSURLContentAccessDateKey(NSURLResourceKey value) =>
+      _NSURLContentAccessDateKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLContentModificationDateKey =
+      _lookup<NSURLResourceKey>('NSURLContentModificationDateKey');
+
+  NSURLResourceKey get NSURLContentModificationDateKey =>
+      _NSURLContentModificationDateKey.value;
+
+  set NSURLContentModificationDateKey(NSURLResourceKey value) =>
+      _NSURLContentModificationDateKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLAttributeModificationDateKey =
+      _lookup<NSURLResourceKey>('NSURLAttributeModificationDateKey');
+
+  NSURLResourceKey get NSURLAttributeModificationDateKey =>
+      _NSURLAttributeModificationDateKey.value;
+
+  set NSURLAttributeModificationDateKey(NSURLResourceKey value) =>
+      _NSURLAttributeModificationDateKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLLinkCountKey =
+      _lookup<NSURLResourceKey>('NSURLLinkCountKey');
+
+  NSURLResourceKey get NSURLLinkCountKey => _NSURLLinkCountKey.value;
+
+  set NSURLLinkCountKey(NSURLResourceKey value) =>
+      _NSURLLinkCountKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLParentDirectoryURLKey =
+      _lookup<NSURLResourceKey>('NSURLParentDirectoryURLKey');
+
+  NSURLResourceKey get NSURLParentDirectoryURLKey =>
+      _NSURLParentDirectoryURLKey.value;
+
+  set NSURLParentDirectoryURLKey(NSURLResourceKey value) =>
+      _NSURLParentDirectoryURLKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeURLKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeURLKey');
+
+  NSURLResourceKey get NSURLVolumeURLKey => _NSURLVolumeURLKey.value;
+
+  set NSURLVolumeURLKey(NSURLResourceKey value) =>
+      _NSURLVolumeURLKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLTypeIdentifierKey =
+      _lookup<NSURLResourceKey>('NSURLTypeIdentifierKey');
+
+  NSURLResourceKey get NSURLTypeIdentifierKey => _NSURLTypeIdentifierKey.value;
+
+  set NSURLTypeIdentifierKey(NSURLResourceKey value) =>
+      _NSURLTypeIdentifierKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLContentTypeKey =
+      _lookup<NSURLResourceKey>('NSURLContentTypeKey');
+
+  NSURLResourceKey get NSURLContentTypeKey => _NSURLContentTypeKey.value;
+
+  set NSURLContentTypeKey(NSURLResourceKey value) =>
+      _NSURLContentTypeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLLocalizedTypeDescriptionKey =
+      _lookup<NSURLResourceKey>('NSURLLocalizedTypeDescriptionKey');
+
+  NSURLResourceKey get NSURLLocalizedTypeDescriptionKey =>
+      _NSURLLocalizedTypeDescriptionKey.value;
+
+  set NSURLLocalizedTypeDescriptionKey(NSURLResourceKey value) =>
+      _NSURLLocalizedTypeDescriptionKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLLabelNumberKey =
+      _lookup<NSURLResourceKey>('NSURLLabelNumberKey');
+
+  NSURLResourceKey get NSURLLabelNumberKey => _NSURLLabelNumberKey.value;
+
+  set NSURLLabelNumberKey(NSURLResourceKey value) =>
+      _NSURLLabelNumberKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLLabelColorKey =
+      _lookup<NSURLResourceKey>('NSURLLabelColorKey');
+
+  NSURLResourceKey get NSURLLabelColorKey => _NSURLLabelColorKey.value;
+
+  set NSURLLabelColorKey(NSURLResourceKey value) =>
+      _NSURLLabelColorKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLLocalizedLabelKey =
+      _lookup<NSURLResourceKey>('NSURLLocalizedLabelKey');
+
+  NSURLResourceKey get NSURLLocalizedLabelKey => _NSURLLocalizedLabelKey.value;
+
+  set NSURLLocalizedLabelKey(NSURLResourceKey value) =>
+      _NSURLLocalizedLabelKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLEffectiveIconKey =
+      _lookup<NSURLResourceKey>('NSURLEffectiveIconKey');
+
+  NSURLResourceKey get NSURLEffectiveIconKey => _NSURLEffectiveIconKey.value;
+
+  set NSURLEffectiveIconKey(NSURLResourceKey value) =>
+      _NSURLEffectiveIconKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLCustomIconKey =
+      _lookup<NSURLResourceKey>('NSURLCustomIconKey');
+
+  NSURLResourceKey get NSURLCustomIconKey => _NSURLCustomIconKey.value;
+
+  set NSURLCustomIconKey(NSURLResourceKey value) =>
+      _NSURLCustomIconKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLFileResourceIdentifierKey =
+      _lookup<NSURLResourceKey>('NSURLFileResourceIdentifierKey');
+
+  NSURLResourceKey get NSURLFileResourceIdentifierKey =>
+      _NSURLFileResourceIdentifierKey.value;
+
+  set NSURLFileResourceIdentifierKey(NSURLResourceKey value) =>
+      _NSURLFileResourceIdentifierKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIdentifierKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIdentifierKey');
+
+  NSURLResourceKey get NSURLVolumeIdentifierKey =>
+      _NSURLVolumeIdentifierKey.value;
+
+  set NSURLVolumeIdentifierKey(NSURLResourceKey value) =>
+      _NSURLVolumeIdentifierKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLPreferredIOBlockSizeKey =
+      _lookup<NSURLResourceKey>('NSURLPreferredIOBlockSizeKey');
+
+  NSURLResourceKey get NSURLPreferredIOBlockSizeKey =>
+      _NSURLPreferredIOBlockSizeKey.value;
+
+  set NSURLPreferredIOBlockSizeKey(NSURLResourceKey value) =>
+      _NSURLPreferredIOBlockSizeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsReadableKey =
+      _lookup<NSURLResourceKey>('NSURLIsReadableKey');
+
+  NSURLResourceKey get NSURLIsReadableKey => _NSURLIsReadableKey.value;
+
+  set NSURLIsReadableKey(NSURLResourceKey value) =>
+      _NSURLIsReadableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsWritableKey =
+      _lookup<NSURLResourceKey>('NSURLIsWritableKey');
+
+  NSURLResourceKey get NSURLIsWritableKey => _NSURLIsWritableKey.value;
+
+  set NSURLIsWritableKey(NSURLResourceKey value) =>
+      _NSURLIsWritableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsExecutableKey =
+      _lookup<NSURLResourceKey>('NSURLIsExecutableKey');
+
+  NSURLResourceKey get NSURLIsExecutableKey => _NSURLIsExecutableKey.value;
+
+  set NSURLIsExecutableKey(NSURLResourceKey value) =>
+      _NSURLIsExecutableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLFileSecurityKey =
+      _lookup<NSURLResourceKey>('NSURLFileSecurityKey');
+
+  NSURLResourceKey get NSURLFileSecurityKey => _NSURLFileSecurityKey.value;
+
+  set NSURLFileSecurityKey(NSURLResourceKey value) =>
+      _NSURLFileSecurityKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsExcludedFromBackupKey =
+      _lookup<NSURLResourceKey>('NSURLIsExcludedFromBackupKey');
+
+  NSURLResourceKey get NSURLIsExcludedFromBackupKey =>
+      _NSURLIsExcludedFromBackupKey.value;
+
+  set NSURLIsExcludedFromBackupKey(NSURLResourceKey value) =>
+      _NSURLIsExcludedFromBackupKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLTagNamesKey =
+      _lookup<NSURLResourceKey>('NSURLTagNamesKey');
+
+  NSURLResourceKey get NSURLTagNamesKey => _NSURLTagNamesKey.value;
+
+  set NSURLTagNamesKey(NSURLResourceKey value) =>
+      _NSURLTagNamesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLPathKey =
+      _lookup<NSURLResourceKey>('NSURLPathKey');
+
+  NSURLResourceKey get NSURLPathKey => _NSURLPathKey.value;
+
+  set NSURLPathKey(NSURLResourceKey value) => _NSURLPathKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLCanonicalPathKey =
+      _lookup<NSURLResourceKey>('NSURLCanonicalPathKey');
+
+  NSURLResourceKey get NSURLCanonicalPathKey => _NSURLCanonicalPathKey.value;
+
+  set NSURLCanonicalPathKey(NSURLResourceKey value) =>
+      _NSURLCanonicalPathKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsMountTriggerKey =
+      _lookup<NSURLResourceKey>('NSURLIsMountTriggerKey');
+
+  NSURLResourceKey get NSURLIsMountTriggerKey => _NSURLIsMountTriggerKey.value;
+
+  set NSURLIsMountTriggerKey(NSURLResourceKey value) =>
+      _NSURLIsMountTriggerKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLGenerationIdentifierKey =
+      _lookup<NSURLResourceKey>('NSURLGenerationIdentifierKey');
+
+  NSURLResourceKey get NSURLGenerationIdentifierKey =>
+      _NSURLGenerationIdentifierKey.value;
+
+  set NSURLGenerationIdentifierKey(NSURLResourceKey value) =>
+      _NSURLGenerationIdentifierKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLDocumentIdentifierKey =
+      _lookup<NSURLResourceKey>('NSURLDocumentIdentifierKey');
+
+  NSURLResourceKey get NSURLDocumentIdentifierKey =>
+      _NSURLDocumentIdentifierKey.value;
+
+  set NSURLDocumentIdentifierKey(NSURLResourceKey value) =>
+      _NSURLDocumentIdentifierKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLAddedToDirectoryDateKey =
+      _lookup<NSURLResourceKey>('NSURLAddedToDirectoryDateKey');
+
+  NSURLResourceKey get NSURLAddedToDirectoryDateKey =>
+      _NSURLAddedToDirectoryDateKey.value;
+
+  set NSURLAddedToDirectoryDateKey(NSURLResourceKey value) =>
+      _NSURLAddedToDirectoryDateKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLQuarantinePropertiesKey =
+      _lookup<NSURLResourceKey>('NSURLQuarantinePropertiesKey');
+
+  NSURLResourceKey get NSURLQuarantinePropertiesKey =>
+      _NSURLQuarantinePropertiesKey.value;
+
+  set NSURLQuarantinePropertiesKey(NSURLResourceKey value) =>
+      _NSURLQuarantinePropertiesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLFileResourceTypeKey =
+      _lookup<NSURLResourceKey>('NSURLFileResourceTypeKey');
+
+  NSURLResourceKey get NSURLFileResourceTypeKey =>
+      _NSURLFileResourceTypeKey.value;
+
+  set NSURLFileResourceTypeKey(NSURLResourceKey value) =>
+      _NSURLFileResourceTypeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLFileContentIdentifierKey =
+      _lookup<NSURLResourceKey>('NSURLFileContentIdentifierKey');
+
+  NSURLResourceKey get NSURLFileContentIdentifierKey =>
+      _NSURLFileContentIdentifierKey.value;
+
+  set NSURLFileContentIdentifierKey(NSURLResourceKey value) =>
+      _NSURLFileContentIdentifierKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLMayShareFileContentKey =
+      _lookup<NSURLResourceKey>('NSURLMayShareFileContentKey');
+
+  NSURLResourceKey get NSURLMayShareFileContentKey =>
+      _NSURLMayShareFileContentKey.value;
+
+  set NSURLMayShareFileContentKey(NSURLResourceKey value) =>
+      _NSURLMayShareFileContentKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLMayHaveExtendedAttributesKey =
+      _lookup<NSURLResourceKey>('NSURLMayHaveExtendedAttributesKey');
+
+  NSURLResourceKey get NSURLMayHaveExtendedAttributesKey =>
+      _NSURLMayHaveExtendedAttributesKey.value;
+
+  set NSURLMayHaveExtendedAttributesKey(NSURLResourceKey value) =>
+      _NSURLMayHaveExtendedAttributesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsPurgeableKey =
+      _lookup<NSURLResourceKey>('NSURLIsPurgeableKey');
+
+  NSURLResourceKey get NSURLIsPurgeableKey => _NSURLIsPurgeableKey.value;
+
+  set NSURLIsPurgeableKey(NSURLResourceKey value) =>
+      _NSURLIsPurgeableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsSparseKey =
+      _lookup<NSURLResourceKey>('NSURLIsSparseKey');
+
+  NSURLResourceKey get NSURLIsSparseKey => _NSURLIsSparseKey.value;
+
+  set NSURLIsSparseKey(NSURLResourceKey value) =>
+      _NSURLIsSparseKey.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType>
+      _NSURLFileResourceTypeNamedPipe =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeNamedPipe');
+
+  NSURLFileResourceType get NSURLFileResourceTypeNamedPipe =>
+      _NSURLFileResourceTypeNamedPipe.value;
+
+  set NSURLFileResourceTypeNamedPipe(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeNamedPipe.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType>
+      _NSURLFileResourceTypeCharacterSpecial =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeCharacterSpecial');
+
+  NSURLFileResourceType get NSURLFileResourceTypeCharacterSpecial =>
+      _NSURLFileResourceTypeCharacterSpecial.value;
+
+  set NSURLFileResourceTypeCharacterSpecial(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeCharacterSpecial.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType>
+      _NSURLFileResourceTypeDirectory =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeDirectory');
+
+  NSURLFileResourceType get NSURLFileResourceTypeDirectory =>
+      _NSURLFileResourceTypeDirectory.value;
+
+  set NSURLFileResourceTypeDirectory(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeDirectory.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType>
+      _NSURLFileResourceTypeBlockSpecial =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeBlockSpecial');
+
+  NSURLFileResourceType get NSURLFileResourceTypeBlockSpecial =>
+      _NSURLFileResourceTypeBlockSpecial.value;
+
+  set NSURLFileResourceTypeBlockSpecial(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeBlockSpecial.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType> _NSURLFileResourceTypeRegular =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeRegular');
+
+  NSURLFileResourceType get NSURLFileResourceTypeRegular =>
+      _NSURLFileResourceTypeRegular.value;
+
+  set NSURLFileResourceTypeRegular(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeRegular.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType>
+      _NSURLFileResourceTypeSymbolicLink =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeSymbolicLink');
+
+  NSURLFileResourceType get NSURLFileResourceTypeSymbolicLink =>
+      _NSURLFileResourceTypeSymbolicLink.value;
+
+  set NSURLFileResourceTypeSymbolicLink(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeSymbolicLink.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType> _NSURLFileResourceTypeSocket =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeSocket');
+
+  NSURLFileResourceType get NSURLFileResourceTypeSocket =>
+      _NSURLFileResourceTypeSocket.value;
+
+  set NSURLFileResourceTypeSocket(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeSocket.value = value;
+
+  late final ffi.Pointer<NSURLFileResourceType> _NSURLFileResourceTypeUnknown =
+      _lookup<NSURLFileResourceType>('NSURLFileResourceTypeUnknown');
+
+  NSURLFileResourceType get NSURLFileResourceTypeUnknown =>
+      _NSURLFileResourceTypeUnknown.value;
+
+  set NSURLFileResourceTypeUnknown(NSURLFileResourceType value) =>
+      _NSURLFileResourceTypeUnknown.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLThumbnailDictionaryKey =
+      _lookup<NSURLResourceKey>('NSURLThumbnailDictionaryKey');
+
+  NSURLResourceKey get NSURLThumbnailDictionaryKey =>
+      _NSURLThumbnailDictionaryKey.value;
+
+  set NSURLThumbnailDictionaryKey(NSURLResourceKey value) =>
+      _NSURLThumbnailDictionaryKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLThumbnailKey =
+      _lookup<NSURLResourceKey>('NSURLThumbnailKey');
+
+  NSURLResourceKey get NSURLThumbnailKey => _NSURLThumbnailKey.value;
+
+  set NSURLThumbnailKey(NSURLResourceKey value) =>
+      _NSURLThumbnailKey.value = value;
+
+  late final ffi.Pointer<NSURLThumbnailDictionaryItem>
+      _NSThumbnail1024x1024SizeKey =
+      _lookup<NSURLThumbnailDictionaryItem>('NSThumbnail1024x1024SizeKey');
+
+  NSURLThumbnailDictionaryItem get NSThumbnail1024x1024SizeKey =>
+      _NSThumbnail1024x1024SizeKey.value;
+
+  set NSThumbnail1024x1024SizeKey(NSURLThumbnailDictionaryItem value) =>
+      _NSThumbnail1024x1024SizeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLFileSizeKey =
+      _lookup<NSURLResourceKey>('NSURLFileSizeKey');
+
+  NSURLResourceKey get NSURLFileSizeKey => _NSURLFileSizeKey.value;
+
+  set NSURLFileSizeKey(NSURLResourceKey value) =>
+      _NSURLFileSizeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLFileAllocatedSizeKey =
+      _lookup<NSURLResourceKey>('NSURLFileAllocatedSizeKey');
+
+  NSURLResourceKey get NSURLFileAllocatedSizeKey =>
+      _NSURLFileAllocatedSizeKey.value;
+
+  set NSURLFileAllocatedSizeKey(NSURLResourceKey value) =>
+      _NSURLFileAllocatedSizeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLTotalFileSizeKey =
+      _lookup<NSURLResourceKey>('NSURLTotalFileSizeKey');
+
+  NSURLResourceKey get NSURLTotalFileSizeKey => _NSURLTotalFileSizeKey.value;
+
+  set NSURLTotalFileSizeKey(NSURLResourceKey value) =>
+      _NSURLTotalFileSizeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLTotalFileAllocatedSizeKey =
+      _lookup<NSURLResourceKey>('NSURLTotalFileAllocatedSizeKey');
+
+  NSURLResourceKey get NSURLTotalFileAllocatedSizeKey =>
+      _NSURLTotalFileAllocatedSizeKey.value;
+
+  set NSURLTotalFileAllocatedSizeKey(NSURLResourceKey value) =>
+      _NSURLTotalFileAllocatedSizeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsAliasFileKey =
+      _lookup<NSURLResourceKey>('NSURLIsAliasFileKey');
+
+  NSURLResourceKey get NSURLIsAliasFileKey => _NSURLIsAliasFileKey.value;
+
+  set NSURLIsAliasFileKey(NSURLResourceKey value) =>
+      _NSURLIsAliasFileKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLFileProtectionKey =
+      _lookup<NSURLResourceKey>('NSURLFileProtectionKey');
+
+  NSURLResourceKey get NSURLFileProtectionKey => _NSURLFileProtectionKey.value;
+
+  set NSURLFileProtectionKey(NSURLResourceKey value) =>
+      _NSURLFileProtectionKey.value = value;
+
+  late final ffi.Pointer<NSURLFileProtectionType> _NSURLFileProtectionNone =
+      _lookup<NSURLFileProtectionType>('NSURLFileProtectionNone');
+
+  NSURLFileProtectionType get NSURLFileProtectionNone =>
+      _NSURLFileProtectionNone.value;
+
+  set NSURLFileProtectionNone(NSURLFileProtectionType value) =>
+      _NSURLFileProtectionNone.value = value;
+
+  late final ffi.Pointer<NSURLFileProtectionType> _NSURLFileProtectionComplete =
+      _lookup<NSURLFileProtectionType>('NSURLFileProtectionComplete');
+
+  NSURLFileProtectionType get NSURLFileProtectionComplete =>
+      _NSURLFileProtectionComplete.value;
+
+  set NSURLFileProtectionComplete(NSURLFileProtectionType value) =>
+      _NSURLFileProtectionComplete.value = value;
+
+  late final ffi.Pointer<NSURLFileProtectionType>
+      _NSURLFileProtectionCompleteUnlessOpen =
+      _lookup<NSURLFileProtectionType>('NSURLFileProtectionCompleteUnlessOpen');
+
+  NSURLFileProtectionType get NSURLFileProtectionCompleteUnlessOpen =>
+      _NSURLFileProtectionCompleteUnlessOpen.value;
+
+  set NSURLFileProtectionCompleteUnlessOpen(NSURLFileProtectionType value) =>
+      _NSURLFileProtectionCompleteUnlessOpen.value = value;
+
+  late final ffi.Pointer<NSURLFileProtectionType>
+      _NSURLFileProtectionCompleteUntilFirstUserAuthentication =
+      _lookup<NSURLFileProtectionType>(
+          'NSURLFileProtectionCompleteUntilFirstUserAuthentication');
+
+  NSURLFileProtectionType
+      get NSURLFileProtectionCompleteUntilFirstUserAuthentication =>
+          _NSURLFileProtectionCompleteUntilFirstUserAuthentication.value;
+
+  set NSURLFileProtectionCompleteUntilFirstUserAuthentication(
+          NSURLFileProtectionType value) =>
+      _NSURLFileProtectionCompleteUntilFirstUserAuthentication.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeLocalizedFormatDescriptionKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeLocalizedFormatDescriptionKey');
+
+  NSURLResourceKey get NSURLVolumeLocalizedFormatDescriptionKey =>
+      _NSURLVolumeLocalizedFormatDescriptionKey.value;
+
+  set NSURLVolumeLocalizedFormatDescriptionKey(NSURLResourceKey value) =>
+      _NSURLVolumeLocalizedFormatDescriptionKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeTotalCapacityKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeTotalCapacityKey');
+
+  NSURLResourceKey get NSURLVolumeTotalCapacityKey =>
+      _NSURLVolumeTotalCapacityKey.value;
+
+  set NSURLVolumeTotalCapacityKey(NSURLResourceKey value) =>
+      _NSURLVolumeTotalCapacityKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeAvailableCapacityKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeAvailableCapacityKey');
+
+  NSURLResourceKey get NSURLVolumeAvailableCapacityKey =>
+      _NSURLVolumeAvailableCapacityKey.value;
+
+  set NSURLVolumeAvailableCapacityKey(NSURLResourceKey value) =>
+      _NSURLVolumeAvailableCapacityKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeResourceCountKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeResourceCountKey');
+
+  NSURLResourceKey get NSURLVolumeResourceCountKey =>
+      _NSURLVolumeResourceCountKey.value;
+
+  set NSURLVolumeResourceCountKey(NSURLResourceKey value) =>
+      _NSURLVolumeResourceCountKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsPersistentIDsKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsPersistentIDsKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsPersistentIDsKey =>
+      _NSURLVolumeSupportsPersistentIDsKey.value;
+
+  set NSURLVolumeSupportsPersistentIDsKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsPersistentIDsKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsSymbolicLinksKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsSymbolicLinksKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsSymbolicLinksKey =>
+      _NSURLVolumeSupportsSymbolicLinksKey.value;
+
+  set NSURLVolumeSupportsSymbolicLinksKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsSymbolicLinksKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsHardLinksKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsHardLinksKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsHardLinksKey =>
+      _NSURLVolumeSupportsHardLinksKey.value;
+
+  set NSURLVolumeSupportsHardLinksKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsHardLinksKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsJournalingKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsJournalingKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsJournalingKey =>
+      _NSURLVolumeSupportsJournalingKey.value;
+
+  set NSURLVolumeSupportsJournalingKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsJournalingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsJournalingKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsJournalingKey');
+
+  NSURLResourceKey get NSURLVolumeIsJournalingKey =>
+      _NSURLVolumeIsJournalingKey.value;
+
+  set NSURLVolumeIsJournalingKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsJournalingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsSparseFilesKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsSparseFilesKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsSparseFilesKey =>
+      _NSURLVolumeSupportsSparseFilesKey.value;
+
+  set NSURLVolumeSupportsSparseFilesKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsSparseFilesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsZeroRunsKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsZeroRunsKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsZeroRunsKey =>
+      _NSURLVolumeSupportsZeroRunsKey.value;
+
+  set NSURLVolumeSupportsZeroRunsKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsZeroRunsKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsCaseSensitiveNamesKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsCaseSensitiveNamesKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsCaseSensitiveNamesKey =>
+      _NSURLVolumeSupportsCaseSensitiveNamesKey.value;
+
+  set NSURLVolumeSupportsCaseSensitiveNamesKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsCaseSensitiveNamesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsCasePreservedNamesKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsCasePreservedNamesKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsCasePreservedNamesKey =>
+      _NSURLVolumeSupportsCasePreservedNamesKey.value;
+
+  set NSURLVolumeSupportsCasePreservedNamesKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsCasePreservedNamesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsRootDirectoryDatesKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsRootDirectoryDatesKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsRootDirectoryDatesKey =>
+      _NSURLVolumeSupportsRootDirectoryDatesKey.value;
+
+  set NSURLVolumeSupportsRootDirectoryDatesKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsRootDirectoryDatesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsVolumeSizesKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsVolumeSizesKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsVolumeSizesKey =>
+      _NSURLVolumeSupportsVolumeSizesKey.value;
+
+  set NSURLVolumeSupportsVolumeSizesKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsVolumeSizesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsRenamingKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsRenamingKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsRenamingKey =>
+      _NSURLVolumeSupportsRenamingKey.value;
+
+  set NSURLVolumeSupportsRenamingKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsRenamingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsAdvisoryFileLockingKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsAdvisoryFileLockingKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsAdvisoryFileLockingKey =>
+      _NSURLVolumeSupportsAdvisoryFileLockingKey.value;
+
+  set NSURLVolumeSupportsAdvisoryFileLockingKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsAdvisoryFileLockingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsExtendedSecurityKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsExtendedSecurityKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsExtendedSecurityKey =>
+      _NSURLVolumeSupportsExtendedSecurityKey.value;
+
+  set NSURLVolumeSupportsExtendedSecurityKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsExtendedSecurityKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsBrowsableKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsBrowsableKey');
+
+  NSURLResourceKey get NSURLVolumeIsBrowsableKey =>
+      _NSURLVolumeIsBrowsableKey.value;
+
+  set NSURLVolumeIsBrowsableKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsBrowsableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeMaximumFileSizeKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeMaximumFileSizeKey');
+
+  NSURLResourceKey get NSURLVolumeMaximumFileSizeKey =>
+      _NSURLVolumeMaximumFileSizeKey.value;
+
+  set NSURLVolumeMaximumFileSizeKey(NSURLResourceKey value) =>
+      _NSURLVolumeMaximumFileSizeKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsEjectableKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsEjectableKey');
+
+  NSURLResourceKey get NSURLVolumeIsEjectableKey =>
+      _NSURLVolumeIsEjectableKey.value;
+
+  set NSURLVolumeIsEjectableKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsEjectableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsRemovableKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsRemovableKey');
+
+  NSURLResourceKey get NSURLVolumeIsRemovableKey =>
+      _NSURLVolumeIsRemovableKey.value;
+
+  set NSURLVolumeIsRemovableKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsRemovableKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsInternalKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsInternalKey');
+
+  NSURLResourceKey get NSURLVolumeIsInternalKey =>
+      _NSURLVolumeIsInternalKey.value;
+
+  set NSURLVolumeIsInternalKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsInternalKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsAutomountedKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsAutomountedKey');
+
+  NSURLResourceKey get NSURLVolumeIsAutomountedKey =>
+      _NSURLVolumeIsAutomountedKey.value;
+
+  set NSURLVolumeIsAutomountedKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsAutomountedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsLocalKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsLocalKey');
+
+  NSURLResourceKey get NSURLVolumeIsLocalKey => _NSURLVolumeIsLocalKey.value;
+
+  set NSURLVolumeIsLocalKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsLocalKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsReadOnlyKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsReadOnlyKey');
+
+  NSURLResourceKey get NSURLVolumeIsReadOnlyKey =>
+      _NSURLVolumeIsReadOnlyKey.value;
+
+  set NSURLVolumeIsReadOnlyKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsReadOnlyKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeCreationDateKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeCreationDateKey');
+
+  NSURLResourceKey get NSURLVolumeCreationDateKey =>
+      _NSURLVolumeCreationDateKey.value;
+
+  set NSURLVolumeCreationDateKey(NSURLResourceKey value) =>
+      _NSURLVolumeCreationDateKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeURLForRemountingKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeURLForRemountingKey');
+
+  NSURLResourceKey get NSURLVolumeURLForRemountingKey =>
+      _NSURLVolumeURLForRemountingKey.value;
+
+  set NSURLVolumeURLForRemountingKey(NSURLResourceKey value) =>
+      _NSURLVolumeURLForRemountingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeUUIDStringKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeUUIDStringKey');
+
+  NSURLResourceKey get NSURLVolumeUUIDStringKey =>
+      _NSURLVolumeUUIDStringKey.value;
+
+  set NSURLVolumeUUIDStringKey(NSURLResourceKey value) =>
+      _NSURLVolumeUUIDStringKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeNameKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeNameKey');
+
+  NSURLResourceKey get NSURLVolumeNameKey => _NSURLVolumeNameKey.value;
+
+  set NSURLVolumeNameKey(NSURLResourceKey value) =>
+      _NSURLVolumeNameKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeLocalizedNameKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeLocalizedNameKey');
+
+  NSURLResourceKey get NSURLVolumeLocalizedNameKey =>
+      _NSURLVolumeLocalizedNameKey.value;
+
+  set NSURLVolumeLocalizedNameKey(NSURLResourceKey value) =>
+      _NSURLVolumeLocalizedNameKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsEncryptedKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsEncryptedKey');
+
+  NSURLResourceKey get NSURLVolumeIsEncryptedKey =>
+      _NSURLVolumeIsEncryptedKey.value;
+
+  set NSURLVolumeIsEncryptedKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsEncryptedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeIsRootFileSystemKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeIsRootFileSystemKey');
+
+  NSURLResourceKey get NSURLVolumeIsRootFileSystemKey =>
+      _NSURLVolumeIsRootFileSystemKey.value;
+
+  set NSURLVolumeIsRootFileSystemKey(NSURLResourceKey value) =>
+      _NSURLVolumeIsRootFileSystemKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsCompressionKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsCompressionKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsCompressionKey =>
+      _NSURLVolumeSupportsCompressionKey.value;
+
+  set NSURLVolumeSupportsCompressionKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsCompressionKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsFileCloningKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsFileCloningKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsFileCloningKey =>
+      _NSURLVolumeSupportsFileCloningKey.value;
+
+  set NSURLVolumeSupportsFileCloningKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsFileCloningKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLVolumeSupportsSwapRenamingKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsSwapRenamingKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsSwapRenamingKey =>
+      _NSURLVolumeSupportsSwapRenamingKey.value;
+
+  set NSURLVolumeSupportsSwapRenamingKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsSwapRenamingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsExclusiveRenamingKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsExclusiveRenamingKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsExclusiveRenamingKey =>
+      _NSURLVolumeSupportsExclusiveRenamingKey.value;
+
+  set NSURLVolumeSupportsExclusiveRenamingKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsExclusiveRenamingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsImmutableFilesKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsImmutableFilesKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsImmutableFilesKey =>
+      _NSURLVolumeSupportsImmutableFilesKey.value;
+
+  set NSURLVolumeSupportsImmutableFilesKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsImmutableFilesKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsAccessPermissionsKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsAccessPermissionsKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsAccessPermissionsKey =>
+      _NSURLVolumeSupportsAccessPermissionsKey.value;
+
+  set NSURLVolumeSupportsAccessPermissionsKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsAccessPermissionsKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeSupportsFileProtectionKey =
+      _lookup<NSURLResourceKey>('NSURLVolumeSupportsFileProtectionKey');
+
+  NSURLResourceKey get NSURLVolumeSupportsFileProtectionKey =>
+      _NSURLVolumeSupportsFileProtectionKey.value;
+
+  set NSURLVolumeSupportsFileProtectionKey(NSURLResourceKey value) =>
+      _NSURLVolumeSupportsFileProtectionKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeAvailableCapacityForImportantUsageKey =
+      _lookup<NSURLResourceKey>(
+          'NSURLVolumeAvailableCapacityForImportantUsageKey');
+
+  NSURLResourceKey get NSURLVolumeAvailableCapacityForImportantUsageKey =>
+      _NSURLVolumeAvailableCapacityForImportantUsageKey.value;
+
+  set NSURLVolumeAvailableCapacityForImportantUsageKey(
+          NSURLResourceKey value) =>
+      _NSURLVolumeAvailableCapacityForImportantUsageKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLVolumeAvailableCapacityForOpportunisticUsageKey =
+      _lookup<NSURLResourceKey>(
+          'NSURLVolumeAvailableCapacityForOpportunisticUsageKey');
+
+  NSURLResourceKey get NSURLVolumeAvailableCapacityForOpportunisticUsageKey =>
+      _NSURLVolumeAvailableCapacityForOpportunisticUsageKey.value;
+
+  set NSURLVolumeAvailableCapacityForOpportunisticUsageKey(
+          NSURLResourceKey value) =>
+      _NSURLVolumeAvailableCapacityForOpportunisticUsageKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLIsUbiquitousItemKey =
+      _lookup<NSURLResourceKey>('NSURLIsUbiquitousItemKey');
+
+  NSURLResourceKey get NSURLIsUbiquitousItemKey =>
+      _NSURLIsUbiquitousItemKey.value;
+
+  set NSURLIsUbiquitousItemKey(NSURLResourceKey value) =>
+      _NSURLIsUbiquitousItemKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemHasUnresolvedConflictsKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemHasUnresolvedConflictsKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemHasUnresolvedConflictsKey =>
+      _NSURLUbiquitousItemHasUnresolvedConflictsKey.value;
+
+  set NSURLUbiquitousItemHasUnresolvedConflictsKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemHasUnresolvedConflictsKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLUbiquitousItemIsDownloadedKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemIsDownloadedKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemIsDownloadedKey =>
+      _NSURLUbiquitousItemIsDownloadedKey.value;
+
+  set NSURLUbiquitousItemIsDownloadedKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemIsDownloadedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemIsDownloadingKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemIsDownloadingKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemIsDownloadingKey =>
+      _NSURLUbiquitousItemIsDownloadingKey.value;
+
+  set NSURLUbiquitousItemIsDownloadingKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemIsDownloadingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLUbiquitousItemIsUploadedKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemIsUploadedKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemIsUploadedKey =>
+      _NSURLUbiquitousItemIsUploadedKey.value;
+
+  set NSURLUbiquitousItemIsUploadedKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemIsUploadedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLUbiquitousItemIsUploadingKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemIsUploadingKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemIsUploadingKey =>
+      _NSURLUbiquitousItemIsUploadingKey.value;
+
+  set NSURLUbiquitousItemIsUploadingKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemIsUploadingKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemPercentDownloadedKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemPercentDownloadedKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemPercentDownloadedKey =>
+      _NSURLUbiquitousItemPercentDownloadedKey.value;
+
+  set NSURLUbiquitousItemPercentDownloadedKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemPercentDownloadedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemPercentUploadedKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemPercentUploadedKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemPercentUploadedKey =>
+      _NSURLUbiquitousItemPercentUploadedKey.value;
+
+  set NSURLUbiquitousItemPercentUploadedKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemPercentUploadedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemDownloadingStatusKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemDownloadingStatusKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemDownloadingStatusKey =>
+      _NSURLUbiquitousItemDownloadingStatusKey.value;
+
+  set NSURLUbiquitousItemDownloadingStatusKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemDownloadingStatusKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemDownloadingErrorKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemDownloadingErrorKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemDownloadingErrorKey =>
+      _NSURLUbiquitousItemDownloadingErrorKey.value;
+
+  set NSURLUbiquitousItemDownloadingErrorKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemDownloadingErrorKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemUploadingErrorKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemUploadingErrorKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemUploadingErrorKey =>
+      _NSURLUbiquitousItemUploadingErrorKey.value;
+
+  set NSURLUbiquitousItemUploadingErrorKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemUploadingErrorKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemDownloadRequestedKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemDownloadRequestedKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemDownloadRequestedKey =>
+      _NSURLUbiquitousItemDownloadRequestedKey.value;
+
+  set NSURLUbiquitousItemDownloadRequestedKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemDownloadRequestedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemContainerDisplayNameKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemContainerDisplayNameKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemContainerDisplayNameKey =>
+      _NSURLUbiquitousItemContainerDisplayNameKey.value;
+
+  set NSURLUbiquitousItemContainerDisplayNameKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemContainerDisplayNameKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousItemIsExcludedFromSyncKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemIsExcludedFromSyncKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemIsExcludedFromSyncKey =>
+      _NSURLUbiquitousItemIsExcludedFromSyncKey.value;
+
+  set NSURLUbiquitousItemIsExcludedFromSyncKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemIsExcludedFromSyncKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey> _NSURLUbiquitousItemIsSharedKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousItemIsSharedKey');
+
+  NSURLResourceKey get NSURLUbiquitousItemIsSharedKey =>
+      _NSURLUbiquitousItemIsSharedKey.value;
+
+  set NSURLUbiquitousItemIsSharedKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousItemIsSharedKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousSharedItemCurrentUserRoleKey =
+      _lookup<NSURLResourceKey>('NSURLUbiquitousSharedItemCurrentUserRoleKey');
+
+  NSURLResourceKey get NSURLUbiquitousSharedItemCurrentUserRoleKey =>
+      _NSURLUbiquitousSharedItemCurrentUserRoleKey.value;
+
+  set NSURLUbiquitousSharedItemCurrentUserRoleKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousSharedItemCurrentUserRoleKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousSharedItemCurrentUserPermissionsKey =
+      _lookup<NSURLResourceKey>(
+          'NSURLUbiquitousSharedItemCurrentUserPermissionsKey');
+
+  NSURLResourceKey get NSURLUbiquitousSharedItemCurrentUserPermissionsKey =>
+      _NSURLUbiquitousSharedItemCurrentUserPermissionsKey.value;
+
+  set NSURLUbiquitousSharedItemCurrentUserPermissionsKey(
+          NSURLResourceKey value) =>
+      _NSURLUbiquitousSharedItemCurrentUserPermissionsKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousSharedItemOwnerNameComponentsKey =
+      _lookup<NSURLResourceKey>(
+          'NSURLUbiquitousSharedItemOwnerNameComponentsKey');
+
+  NSURLResourceKey get NSURLUbiquitousSharedItemOwnerNameComponentsKey =>
+      _NSURLUbiquitousSharedItemOwnerNameComponentsKey.value;
+
+  set NSURLUbiquitousSharedItemOwnerNameComponentsKey(NSURLResourceKey value) =>
+      _NSURLUbiquitousSharedItemOwnerNameComponentsKey.value = value;
+
+  late final ffi.Pointer<NSURLResourceKey>
+      _NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey =
+      _lookup<NSURLResourceKey>(
+          'NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey');
+
+  NSURLResourceKey
+      get NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey =>
+          _NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey.value;
+
+  set NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey(
+          NSURLResourceKey value) =>
+      _NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey.value = value;
+
+  late final ffi.Pointer<NSURLUbiquitousItemDownloadingStatus>
+      _NSURLUbiquitousItemDownloadingStatusNotDownloaded =
+      _lookup<NSURLUbiquitousItemDownloadingStatus>(
+          'NSURLUbiquitousItemDownloadingStatusNotDownloaded');
+
+  NSURLUbiquitousItemDownloadingStatus
+      get NSURLUbiquitousItemDownloadingStatusNotDownloaded =>
+          _NSURLUbiquitousItemDownloadingStatusNotDownloaded.value;
+
+  set NSURLUbiquitousItemDownloadingStatusNotDownloaded(
+          NSURLUbiquitousItemDownloadingStatus value) =>
+      _NSURLUbiquitousItemDownloadingStatusNotDownloaded.value = value;
+
+  late final ffi.Pointer<NSURLUbiquitousItemDownloadingStatus>
+      _NSURLUbiquitousItemDownloadingStatusDownloaded =
+      _lookup<NSURLUbiquitousItemDownloadingStatus>(
+          'NSURLUbiquitousItemDownloadingStatusDownloaded');
+
+  NSURLUbiquitousItemDownloadingStatus
+      get NSURLUbiquitousItemDownloadingStatusDownloaded =>
+          _NSURLUbiquitousItemDownloadingStatusDownloaded.value;
+
+  set NSURLUbiquitousItemDownloadingStatusDownloaded(
+          NSURLUbiquitousItemDownloadingStatus value) =>
+      _NSURLUbiquitousItemDownloadingStatusDownloaded.value = value;
+
+  late final ffi.Pointer<NSURLUbiquitousItemDownloadingStatus>
+      _NSURLUbiquitousItemDownloadingStatusCurrent =
+      _lookup<NSURLUbiquitousItemDownloadingStatus>(
+          'NSURLUbiquitousItemDownloadingStatusCurrent');
+
+  NSURLUbiquitousItemDownloadingStatus
+      get NSURLUbiquitousItemDownloadingStatusCurrent =>
+          _NSURLUbiquitousItemDownloadingStatusCurrent.value;
+
+  set NSURLUbiquitousItemDownloadingStatusCurrent(
+          NSURLUbiquitousItemDownloadingStatus value) =>
+      _NSURLUbiquitousItemDownloadingStatusCurrent.value = value;
+
+  late final ffi.Pointer<NSURLUbiquitousSharedItemRole>
+      _NSURLUbiquitousSharedItemRoleOwner =
+      _lookup<NSURLUbiquitousSharedItemRole>(
+          'NSURLUbiquitousSharedItemRoleOwner');
+
+  NSURLUbiquitousSharedItemRole get NSURLUbiquitousSharedItemRoleOwner =>
+      _NSURLUbiquitousSharedItemRoleOwner.value;
+
+  set NSURLUbiquitousSharedItemRoleOwner(NSURLUbiquitousSharedItemRole value) =>
+      _NSURLUbiquitousSharedItemRoleOwner.value = value;
+
+  late final ffi.Pointer<NSURLUbiquitousSharedItemRole>
+      _NSURLUbiquitousSharedItemRoleParticipant =
+      _lookup<NSURLUbiquitousSharedItemRole>(
+          'NSURLUbiquitousSharedItemRoleParticipant');
+
+  NSURLUbiquitousSharedItemRole get NSURLUbiquitousSharedItemRoleParticipant =>
+      _NSURLUbiquitousSharedItemRoleParticipant.value;
+
+  set NSURLUbiquitousSharedItemRoleParticipant(
+          NSURLUbiquitousSharedItemRole value) =>
+      _NSURLUbiquitousSharedItemRoleParticipant.value = value;
+
+  late final ffi.Pointer<NSURLUbiquitousSharedItemPermissions>
+      _NSURLUbiquitousSharedItemPermissionsReadOnly =
+      _lookup<NSURLUbiquitousSharedItemPermissions>(
+          'NSURLUbiquitousSharedItemPermissionsReadOnly');
+
+  NSURLUbiquitousSharedItemPermissions
+      get NSURLUbiquitousSharedItemPermissionsReadOnly =>
+          _NSURLUbiquitousSharedItemPermissionsReadOnly.value;
+
+  set NSURLUbiquitousSharedItemPermissionsReadOnly(
+          NSURLUbiquitousSharedItemPermissions value) =>
+      _NSURLUbiquitousSharedItemPermissionsReadOnly.value = value;
+
+  late final ffi.Pointer<NSURLUbiquitousSharedItemPermissions>
+      _NSURLUbiquitousSharedItemPermissionsReadWrite =
+      _lookup<NSURLUbiquitousSharedItemPermissions>(
+          'NSURLUbiquitousSharedItemPermissionsReadWrite');
+
+  NSURLUbiquitousSharedItemPermissions
+      get NSURLUbiquitousSharedItemPermissionsReadWrite =>
+          _NSURLUbiquitousSharedItemPermissionsReadWrite.value;
+
+  set NSURLUbiquitousSharedItemPermissionsReadWrite(
+          NSURLUbiquitousSharedItemPermissions value) =>
+      _NSURLUbiquitousSharedItemPermissionsReadWrite.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSFileManagerUnmountDissentingProcessIdentifierErrorKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSFileManagerUnmountDissentingProcessIdentifierErrorKey');
+
+  ffi.Pointer<ObjCObject>
+      get NSFileManagerUnmountDissentingProcessIdentifierErrorKey =>
+          _NSFileManagerUnmountDissentingProcessIdentifierErrorKey.value;
+
+  set NSFileManagerUnmountDissentingProcessIdentifierErrorKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSFileManagerUnmountDissentingProcessIdentifierErrorKey.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUbiquityIdentityDidChangeNotification =
+      _lookup<NSNotificationName>('NSUbiquityIdentityDidChangeNotification');
+
+  NSNotificationName get NSUbiquityIdentityDidChangeNotification =>
+      _NSUbiquityIdentityDidChangeNotification.value;
+
+  set NSUbiquityIdentityDidChangeNotification(NSNotificationName value) =>
+      _NSUbiquityIdentityDidChangeNotification.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileType =
+      _lookup<NSFileAttributeKey>('NSFileType');
+
+  NSFileAttributeKey get NSFileType => _NSFileType.value;
+
+  set NSFileType(NSFileAttributeKey value) => _NSFileType.value = value;
+
+  late final ffi.Pointer<NSFileAttributeType> _NSFileTypeDirectory =
+      _lookup<NSFileAttributeType>('NSFileTypeDirectory');
+
+  NSFileAttributeType get NSFileTypeDirectory => _NSFileTypeDirectory.value;
+
+  set NSFileTypeDirectory(NSFileAttributeType value) =>
+      _NSFileTypeDirectory.value = value;
+
+  late final ffi.Pointer<NSFileAttributeType> _NSFileTypeRegular =
+      _lookup<NSFileAttributeType>('NSFileTypeRegular');
+
+  NSFileAttributeType get NSFileTypeRegular => _NSFileTypeRegular.value;
+
+  set NSFileTypeRegular(NSFileAttributeType value) =>
+      _NSFileTypeRegular.value = value;
+
+  late final ffi.Pointer<NSFileAttributeType> _NSFileTypeSymbolicLink =
+      _lookup<NSFileAttributeType>('NSFileTypeSymbolicLink');
+
+  NSFileAttributeType get NSFileTypeSymbolicLink =>
+      _NSFileTypeSymbolicLink.value;
+
+  set NSFileTypeSymbolicLink(NSFileAttributeType value) =>
+      _NSFileTypeSymbolicLink.value = value;
+
+  late final ffi.Pointer<NSFileAttributeType> _NSFileTypeSocket =
+      _lookup<NSFileAttributeType>('NSFileTypeSocket');
+
+  NSFileAttributeType get NSFileTypeSocket => _NSFileTypeSocket.value;
+
+  set NSFileTypeSocket(NSFileAttributeType value) =>
+      _NSFileTypeSocket.value = value;
+
+  late final ffi.Pointer<NSFileAttributeType> _NSFileTypeCharacterSpecial =
+      _lookup<NSFileAttributeType>('NSFileTypeCharacterSpecial');
+
+  NSFileAttributeType get NSFileTypeCharacterSpecial =>
+      _NSFileTypeCharacterSpecial.value;
+
+  set NSFileTypeCharacterSpecial(NSFileAttributeType value) =>
+      _NSFileTypeCharacterSpecial.value = value;
+
+  late final ffi.Pointer<NSFileAttributeType> _NSFileTypeBlockSpecial =
+      _lookup<NSFileAttributeType>('NSFileTypeBlockSpecial');
+
+  NSFileAttributeType get NSFileTypeBlockSpecial =>
+      _NSFileTypeBlockSpecial.value;
+
+  set NSFileTypeBlockSpecial(NSFileAttributeType value) =>
+      _NSFileTypeBlockSpecial.value = value;
+
+  late final ffi.Pointer<NSFileAttributeType> _NSFileTypeUnknown =
+      _lookup<NSFileAttributeType>('NSFileTypeUnknown');
+
+  NSFileAttributeType get NSFileTypeUnknown => _NSFileTypeUnknown.value;
+
+  set NSFileTypeUnknown(NSFileAttributeType value) =>
+      _NSFileTypeUnknown.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileSize =
+      _lookup<NSFileAttributeKey>('NSFileSize');
+
+  NSFileAttributeKey get NSFileSize => _NSFileSize.value;
+
+  set NSFileSize(NSFileAttributeKey value) => _NSFileSize.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileModificationDate =
+      _lookup<NSFileAttributeKey>('NSFileModificationDate');
+
+  NSFileAttributeKey get NSFileModificationDate =>
+      _NSFileModificationDate.value;
+
+  set NSFileModificationDate(NSFileAttributeKey value) =>
+      _NSFileModificationDate.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileReferenceCount =
+      _lookup<NSFileAttributeKey>('NSFileReferenceCount');
+
+  NSFileAttributeKey get NSFileReferenceCount => _NSFileReferenceCount.value;
+
+  set NSFileReferenceCount(NSFileAttributeKey value) =>
+      _NSFileReferenceCount.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileDeviceIdentifier =
+      _lookup<NSFileAttributeKey>('NSFileDeviceIdentifier');
+
+  NSFileAttributeKey get NSFileDeviceIdentifier =>
+      _NSFileDeviceIdentifier.value;
+
+  set NSFileDeviceIdentifier(NSFileAttributeKey value) =>
+      _NSFileDeviceIdentifier.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileOwnerAccountName =
+      _lookup<NSFileAttributeKey>('NSFileOwnerAccountName');
+
+  NSFileAttributeKey get NSFileOwnerAccountName =>
+      _NSFileOwnerAccountName.value;
+
+  set NSFileOwnerAccountName(NSFileAttributeKey value) =>
+      _NSFileOwnerAccountName.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileGroupOwnerAccountName =
+      _lookup<NSFileAttributeKey>('NSFileGroupOwnerAccountName');
+
+  NSFileAttributeKey get NSFileGroupOwnerAccountName =>
+      _NSFileGroupOwnerAccountName.value;
+
+  set NSFileGroupOwnerAccountName(NSFileAttributeKey value) =>
+      _NSFileGroupOwnerAccountName.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFilePosixPermissions =
+      _lookup<NSFileAttributeKey>('NSFilePosixPermissions');
+
+  NSFileAttributeKey get NSFilePosixPermissions =>
+      _NSFilePosixPermissions.value;
+
+  set NSFilePosixPermissions(NSFileAttributeKey value) =>
+      _NSFilePosixPermissions.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileSystemNumber =
+      _lookup<NSFileAttributeKey>('NSFileSystemNumber');
+
+  NSFileAttributeKey get NSFileSystemNumber => _NSFileSystemNumber.value;
+
+  set NSFileSystemNumber(NSFileAttributeKey value) =>
+      _NSFileSystemNumber.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileSystemFileNumber =
+      _lookup<NSFileAttributeKey>('NSFileSystemFileNumber');
+
+  NSFileAttributeKey get NSFileSystemFileNumber =>
+      _NSFileSystemFileNumber.value;
+
+  set NSFileSystemFileNumber(NSFileAttributeKey value) =>
+      _NSFileSystemFileNumber.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileExtensionHidden =
+      _lookup<NSFileAttributeKey>('NSFileExtensionHidden');
+
+  NSFileAttributeKey get NSFileExtensionHidden => _NSFileExtensionHidden.value;
+
+  set NSFileExtensionHidden(NSFileAttributeKey value) =>
+      _NSFileExtensionHidden.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileHFSCreatorCode =
+      _lookup<NSFileAttributeKey>('NSFileHFSCreatorCode');
+
+  NSFileAttributeKey get NSFileHFSCreatorCode => _NSFileHFSCreatorCode.value;
+
+  set NSFileHFSCreatorCode(NSFileAttributeKey value) =>
+      _NSFileHFSCreatorCode.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileHFSTypeCode =
+      _lookup<NSFileAttributeKey>('NSFileHFSTypeCode');
+
+  NSFileAttributeKey get NSFileHFSTypeCode => _NSFileHFSTypeCode.value;
+
+  set NSFileHFSTypeCode(NSFileAttributeKey value) =>
+      _NSFileHFSTypeCode.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileImmutable =
+      _lookup<NSFileAttributeKey>('NSFileImmutable');
+
+  NSFileAttributeKey get NSFileImmutable => _NSFileImmutable.value;
+
+  set NSFileImmutable(NSFileAttributeKey value) =>
+      _NSFileImmutable.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileAppendOnly =
+      _lookup<NSFileAttributeKey>('NSFileAppendOnly');
+
+  NSFileAttributeKey get NSFileAppendOnly => _NSFileAppendOnly.value;
+
+  set NSFileAppendOnly(NSFileAttributeKey value) =>
+      _NSFileAppendOnly.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileCreationDate =
+      _lookup<NSFileAttributeKey>('NSFileCreationDate');
+
+  NSFileAttributeKey get NSFileCreationDate => _NSFileCreationDate.value;
+
+  set NSFileCreationDate(NSFileAttributeKey value) =>
+      _NSFileCreationDate.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileOwnerAccountID =
+      _lookup<NSFileAttributeKey>('NSFileOwnerAccountID');
+
+  NSFileAttributeKey get NSFileOwnerAccountID => _NSFileOwnerAccountID.value;
+
+  set NSFileOwnerAccountID(NSFileAttributeKey value) =>
+      _NSFileOwnerAccountID.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileGroupOwnerAccountID =
+      _lookup<NSFileAttributeKey>('NSFileGroupOwnerAccountID');
+
+  NSFileAttributeKey get NSFileGroupOwnerAccountID =>
+      _NSFileGroupOwnerAccountID.value;
+
+  set NSFileGroupOwnerAccountID(NSFileAttributeKey value) =>
+      _NSFileGroupOwnerAccountID.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileBusy =
+      _lookup<NSFileAttributeKey>('NSFileBusy');
+
+  NSFileAttributeKey get NSFileBusy => _NSFileBusy.value;
+
+  set NSFileBusy(NSFileAttributeKey value) => _NSFileBusy.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileProtectionKey =
+      _lookup<NSFileAttributeKey>('NSFileProtectionKey');
+
+  NSFileAttributeKey get NSFileProtectionKey => _NSFileProtectionKey.value;
+
+  set NSFileProtectionKey(NSFileAttributeKey value) =>
+      _NSFileProtectionKey.value = value;
+
+  late final ffi.Pointer<NSFileProtectionType> _NSFileProtectionNone =
+      _lookup<NSFileProtectionType>('NSFileProtectionNone');
+
+  NSFileProtectionType get NSFileProtectionNone => _NSFileProtectionNone.value;
+
+  set NSFileProtectionNone(NSFileProtectionType value) =>
+      _NSFileProtectionNone.value = value;
+
+  late final ffi.Pointer<NSFileProtectionType> _NSFileProtectionComplete =
+      _lookup<NSFileProtectionType>('NSFileProtectionComplete');
+
+  NSFileProtectionType get NSFileProtectionComplete =>
+      _NSFileProtectionComplete.value;
+
+  set NSFileProtectionComplete(NSFileProtectionType value) =>
+      _NSFileProtectionComplete.value = value;
+
+  late final ffi.Pointer<NSFileProtectionType>
+      _NSFileProtectionCompleteUnlessOpen =
+      _lookup<NSFileProtectionType>('NSFileProtectionCompleteUnlessOpen');
+
+  NSFileProtectionType get NSFileProtectionCompleteUnlessOpen =>
+      _NSFileProtectionCompleteUnlessOpen.value;
+
+  set NSFileProtectionCompleteUnlessOpen(NSFileProtectionType value) =>
+      _NSFileProtectionCompleteUnlessOpen.value = value;
+
+  late final ffi.Pointer<NSFileProtectionType>
+      _NSFileProtectionCompleteUntilFirstUserAuthentication =
+      _lookup<NSFileProtectionType>(
+          'NSFileProtectionCompleteUntilFirstUserAuthentication');
+
+  NSFileProtectionType
+      get NSFileProtectionCompleteUntilFirstUserAuthentication =>
+          _NSFileProtectionCompleteUntilFirstUserAuthentication.value;
+
+  set NSFileProtectionCompleteUntilFirstUserAuthentication(
+          NSFileProtectionType value) =>
+      _NSFileProtectionCompleteUntilFirstUserAuthentication.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileSystemSize =
+      _lookup<NSFileAttributeKey>('NSFileSystemSize');
+
+  NSFileAttributeKey get NSFileSystemSize => _NSFileSystemSize.value;
+
+  set NSFileSystemSize(NSFileAttributeKey value) =>
+      _NSFileSystemSize.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileSystemFreeSize =
+      _lookup<NSFileAttributeKey>('NSFileSystemFreeSize');
+
+  NSFileAttributeKey get NSFileSystemFreeSize => _NSFileSystemFreeSize.value;
+
+  set NSFileSystemFreeSize(NSFileAttributeKey value) =>
+      _NSFileSystemFreeSize.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileSystemNodes =
+      _lookup<NSFileAttributeKey>('NSFileSystemNodes');
+
+  NSFileAttributeKey get NSFileSystemNodes => _NSFileSystemNodes.value;
+
+  set NSFileSystemNodes(NSFileAttributeKey value) =>
+      _NSFileSystemNodes.value = value;
+
+  late final ffi.Pointer<NSFileAttributeKey> _NSFileSystemFreeNodes =
+      _lookup<NSFileAttributeKey>('NSFileSystemFreeNodes');
+
+  NSFileAttributeKey get NSFileSystemFreeNodes => _NSFileSystemFreeNodes.value;
+
+  set NSFileSystemFreeNodes(NSFileAttributeKey value) =>
+      _NSFileSystemFreeNodes.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSHashTableStrongMemory =
+      _lookup<ffi.Int32>('NSHashTableStrongMemory');
+
+  int get NSHashTableStrongMemory => _NSHashTableStrongMemory.value;
+
+  set NSHashTableStrongMemory(int value) =>
+      _NSHashTableStrongMemory.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSHashTableZeroingWeakMemory =
+      _lookup<ffi.Int32>('NSHashTableZeroingWeakMemory');
+
+  int get NSHashTableZeroingWeakMemory => _NSHashTableZeroingWeakMemory.value;
+
+  set NSHashTableZeroingWeakMemory(int value) =>
+      _NSHashTableZeroingWeakMemory.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSHashTableCopyIn =
+      _lookup<ffi.Int32>('NSHashTableCopyIn');
+
+  int get NSHashTableCopyIn => _NSHashTableCopyIn.value;
+
+  set NSHashTableCopyIn(int value) => _NSHashTableCopyIn.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSHashTableObjectPointerPersonality =
+      _lookup<ffi.Int32>('NSHashTableObjectPointerPersonality');
+
+  int get NSHashTableObjectPointerPersonality =>
+      _NSHashTableObjectPointerPersonality.value;
+
+  set NSHashTableObjectPointerPersonality(int value) =>
+      _NSHashTableObjectPointerPersonality.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSHashTableWeakMemory =
+      _lookup<ffi.Int32>('NSHashTableWeakMemory');
+
+  int get NSHashTableWeakMemory => _NSHashTableWeakMemory.value;
+
+  set NSHashTableWeakMemory(int value) => _NSHashTableWeakMemory.value = value;
+
+  void NSFreeHashTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSFreeHashTable(
+      table,
+    );
+  }
+
+  late final _NSFreeHashTablePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'NSFreeHashTable');
+  late final _NSFreeHashTable =
+      _NSFreeHashTablePtr.asFunction<void Function(ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSHashTable1 = _getClass1("NSHashTable");
+  late final _sel_initWithOptions_capacity_1 =
+      _registerName1("initWithOptions:capacity:");
+  instancetype _objc_msgSend_646(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+    int initialCapacity,
+  ) {
+    return __objc_msgSend_646(
+      obj,
+      sel,
+      options,
+      initialCapacity,
+    );
+  }
+
+  late final __objc_msgSend_646Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_646 = __objc_msgSend_646Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int)>();
+
+  late final _class_NSPointerFunctions1 = _getClass1("NSPointerFunctions");
+  late final _sel_initWithOptions_1 = _registerName1("initWithOptions:");
+  instancetype _objc_msgSend_647(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+  ) {
+    return __objc_msgSend_647(
+      obj,
+      sel,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_647Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_647 = __objc_msgSend_647Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_pointerFunctionsWithOptions_1 =
+      _registerName1("pointerFunctionsWithOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_648(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+  ) {
+    return __objc_msgSend_648(
+      obj,
+      sel,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_648Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_648 = __objc_msgSend_648Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_hashFunction1 = _registerName1("hashFunction");
+  ffi.Pointer<
+          ffi.NativeFunction<
+              NSUInteger Function(
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+      _objc_msgSend_649(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_649(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_649Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<
+                                  ffi.NativeFunction<
+                                      NSUInteger Function(
+                                          ffi.Pointer<ffi.Void>)>>)>>
+                  Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_649 = __objc_msgSend_649Ptr.asFunction<
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  NSUInteger Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+          Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setHashFunction_1 = _registerName1("setHashFunction:");
+  void _objc_msgSend_650(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                NSUInteger Function(
+                    ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<
+                        ffi.NativeFunction<
+                            NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+        value,
+  ) {
+    return __objc_msgSend_650(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_650Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject>,
+                  ffi.Pointer<ObjCSel>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<
+                                  ffi.NativeFunction<
+                                      NSUInteger Function(
+                                          ffi.Pointer<ffi.Void>)>>)>>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_650 = __objc_msgSend_650Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  NSUInteger Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(
+                                  ffi.Pointer<ffi.Void>)>>)>>)>();
+
+  late final _sel_isEqualFunction1 = _registerName1("isEqualFunction");
+  ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+      _objc_msgSend_651(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_651(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_651Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Bool Function(
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<
+                                  ffi.NativeFunction<
+                                      NSUInteger Function(
+                                          ffi.Pointer<ffi.Void>)>>)>>
+                  Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_651 = __objc_msgSend_651Ptr.asFunction<
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Bool Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+          Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setIsEqualFunction_1 = _registerName1("setIsEqualFunction:");
+  void _objc_msgSend_652(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<
+                        ffi.NativeFunction<
+                            NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+        value,
+  ) {
+    return __objc_msgSend_652(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_652Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject>,
+                  ffi.Pointer<ObjCSel>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Bool Function(
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<
+                                  ffi.NativeFunction<
+                                      NSUInteger Function(
+                                          ffi.Pointer<ffi.Void>)>>)>>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_652 = __objc_msgSend_652Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Bool Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(
+                                  ffi.Pointer<ffi.Void>)>>)>>)>();
+
+  late final _sel_sizeFunction1 = _registerName1("sizeFunction");
+  ffi.Pointer<ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>
+      _objc_msgSend_653(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_653(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_653Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(ffi.Pointer<ffi.Void>)>>
+                  Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_653 = __objc_msgSend_653Ptr.asFunction<
+      ffi.Pointer<
+              ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>
+          Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setSizeFunction_1 = _registerName1("setSizeFunction:");
+  void _objc_msgSend_654(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>
+        value,
+  ) {
+    return __objc_msgSend_654(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_654Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      NSUInteger Function(
+                          ffi.Pointer<ffi.Void>)>>)>>('objc_msgSend');
+  late final __objc_msgSend_654 = __objc_msgSend_654Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi
+              .NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>();
+
+  late final _sel_descriptionFunction1 = _registerName1("descriptionFunction");
+  ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Pointer<ObjCObject> Function(ffi.Pointer<ffi.Void>)>>
+      _objc_msgSend_655(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_655(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_655Ptr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Pointer<
+                          ffi.NativeFunction<
+                              ffi.Pointer<ObjCObject> Function(
+                                  ffi.Pointer<ffi.Void>)>>
+                      Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>(
+          'objc_msgSend');
+  late final __objc_msgSend_655 = __objc_msgSend_655Ptr.asFunction<
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ObjCObject> Function(ffi.Pointer<ffi.Void>)>>
+          Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setDescriptionFunction_1 =
+      _registerName1("setDescriptionFunction:");
+  void _objc_msgSend_656(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Pointer<ObjCObject> Function(ffi.Pointer<ffi.Void>)>>
+        value,
+  ) {
+    return __objc_msgSend_656(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_656Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Pointer<ObjCObject> Function(
+                          ffi.Pointer<ffi.Void>)>>)>>('objc_msgSend');
+  late final __objc_msgSend_656 = __objc_msgSend_656Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ObjCObject> Function(ffi.Pointer<ffi.Void>)>>)>();
+
+  late final _sel_relinquishFunction1 = _registerName1("relinquishFunction");
+  ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+      _objc_msgSend_657(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_657(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_657Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<
+                                  ffi.NativeFunction<
+                                      NSUInteger Function(
+                                          ffi.Pointer<ffi.Void>)>>)>>
+                  Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_657 = __objc_msgSend_657Ptr.asFunction<
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+          Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setRelinquishFunction_1 =
+      _registerName1("setRelinquishFunction:");
+  void _objc_msgSend_658(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<
+                        ffi.NativeFunction<
+                            NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+        value,
+  ) {
+    return __objc_msgSend_658(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_658Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject>,
+                  ffi.Pointer<ObjCSel>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Void Function(
+                              ffi.Pointer<ffi.Void>,
+                              ffi.Pointer<
+                                  ffi.NativeFunction<
+                                      NSUInteger Function(
+                                          ffi.Pointer<ffi.Void>)>>)>>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_658 = __objc_msgSend_658Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(
+                                  ffi.Pointer<ffi.Void>)>>)>>)>();
+
+  late final _sel_acquireFunction1 = _registerName1("acquireFunction");
+  ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<
+                  ffi
+                  .NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>,
+              ffi.Bool)>> _objc_msgSend_659(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_659(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_659Ptr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<
+                      ffi.NativeFunction<
+                          ffi.Pointer<ffi.Void> Function(
+                              ffi.Pointer<ffi.Void>,
+                              ffi
+                                  .Pointer<
+                                      ffi.NativeFunction<
+                                          NSUInteger Function(
+                                              ffi.Pointer<ffi.Void>)>>,
+                              ffi.Bool)>>
+                  Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>(
+      'objc_msgSend');
+  late final __objc_msgSend_659 = __objc_msgSend_659Ptr.asFunction<
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ffi.Void> Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>,
+                      ffi.Bool)>>
+          Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setAcquireFunction_1 = _registerName1("setAcquireFunction:");
+  void _objc_msgSend_660(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<
+            ffi.NativeFunction<
+                ffi.Pointer<ffi.Void> Function(
+                    ffi.Pointer<ffi.Void>,
+                    ffi.Pointer<
+                        ffi.NativeFunction<
+                            NSUInteger Function(ffi.Pointer<ffi.Void>)>>,
+                    ffi.Bool)>>
+        value,
+  ) {
+    return __objc_msgSend_660(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_660Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Pointer<ffi.Void> Function(
+                          ffi.Pointer<ffi.Void>,
+                          ffi.Pointer<
+                              ffi.NativeFunction<
+                                  NSUInteger Function(ffi.Pointer<ffi.Void>)>>,
+                          ffi.Bool)>>)>>('objc_msgSend');
+  late final __objc_msgSend_660 = __objc_msgSend_660Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ffi.Void> Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>,
+                      ffi.Bool)>>)>();
+
+  late final _sel_usesStrongWriteBarrier1 =
+      _registerName1("usesStrongWriteBarrier");
+  late final _sel_setUsesStrongWriteBarrier_1 =
+      _registerName1("setUsesStrongWriteBarrier:");
+  late final _sel_usesWeakReadAndWriteBarriers1 =
+      _registerName1("usesWeakReadAndWriteBarriers");
+  late final _sel_setUsesWeakReadAndWriteBarriers_1 =
+      _registerName1("setUsesWeakReadAndWriteBarriers:");
+  late final _sel_initWithPointerFunctions_capacity_1 =
+      _registerName1("initWithPointerFunctions:capacity:");
+  instancetype _objc_msgSend_661(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> functions,
+    int initialCapacity,
+  ) {
+    return __objc_msgSend_661(
+      obj,
+      sel,
+      functions,
+      initialCapacity,
+    );
+  }
+
+  late final __objc_msgSend_661Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_661 = __objc_msgSend_661Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_hashTableWithOptions_1 =
+      _registerName1("hashTableWithOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_662(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+  ) {
+    return __objc_msgSend_662(
+      obj,
+      sel,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_662Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_662 = __objc_msgSend_662Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_hashTableWithWeakObjects1 =
+      _registerName1("hashTableWithWeakObjects");
+  late final _sel_weakObjectsHashTable1 =
+      _registerName1("weakObjectsHashTable");
+  ffi.Pointer<ObjCObject> _objc_msgSend_663(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_663(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_663Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_663 = __objc_msgSend_663Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_pointerFunctions1 = _registerName1("pointerFunctions");
+  ffi.Pointer<ObjCObject> _objc_msgSend_664(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_664(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_664Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_664 = __objc_msgSend_664Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_intersectsHashTable_1 =
+      _registerName1("intersectsHashTable:");
+  bool _objc_msgSend_665(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_665(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_665Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_665 = __objc_msgSend_665Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_isEqualToHashTable_1 = _registerName1("isEqualToHashTable:");
+  late final _sel_isSubsetOfHashTable_1 =
+      _registerName1("isSubsetOfHashTable:");
+  late final _sel_intersectHashTable_1 = _registerName1("intersectHashTable:");
+  void _objc_msgSend_666(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> other,
+  ) {
+    return __objc_msgSend_666(
+      obj,
+      sel,
+      other,
+    );
+  }
+
+  late final __objc_msgSend_666Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_666 = __objc_msgSend_666Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_unionHashTable_1 = _registerName1("unionHashTable:");
+  late final _sel_minusHashTable_1 = _registerName1("minusHashTable:");
+  late final _sel_setRepresentation1 = _registerName1("setRepresentation");
+  void NSResetHashTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSResetHashTable(
+      table,
+    );
+  }
+
+  late final _NSResetHashTablePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'NSResetHashTable');
+  late final _NSResetHashTable =
+      _NSResetHashTablePtr.asFunction<void Function(ffi.Pointer<ObjCObject>)>();
+
+  bool NSCompareHashTables(
+    ffi.Pointer<ObjCObject> table1,
+    ffi.Pointer<ObjCObject> table2,
+  ) {
+    return _NSCompareHashTables(
+      table1,
+      table2,
+    );
+  }
+
+  late final _NSCompareHashTablesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('NSCompareHashTables');
+  late final _NSCompareHashTables = _NSCompareHashTablesPtr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSCopyHashTableWithZone(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSCopyHashTableWithZone(
+      table,
+      zone,
+    );
+  }
+
+  late final _NSCopyHashTableWithZonePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<NSZone>)>>('NSCopyHashTableWithZone');
+  late final _NSCopyHashTableWithZone = _NSCopyHashTableWithZonePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<NSZone>)>();
+
+  ffi.Pointer<ffi.Void> NSHashGet(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> pointer,
+  ) {
+    return _NSHashGet(
+      table,
+      pointer,
+    );
+  }
+
+  late final _NSHashGetPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>('NSHashGet');
+  late final _NSHashGet = _NSHashGetPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>();
+
+  void NSHashInsert(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> pointer,
+  ) {
+    return _NSHashInsert(
+      table,
+      pointer,
+    );
+  }
+
+  late final _NSHashInsertPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>('NSHashInsert');
+  late final _NSHashInsert = _NSHashInsertPtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>();
+
+  void NSHashInsertKnownAbsent(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> pointer,
+  ) {
+    return _NSHashInsertKnownAbsent(
+      table,
+      pointer,
+    );
+  }
+
+  late final _NSHashInsertKnownAbsentPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Void>)>>('NSHashInsertKnownAbsent');
+  late final _NSHashInsertKnownAbsent = _NSHashInsertKnownAbsentPtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>();
+
+  ffi.Pointer<ffi.Void> NSHashInsertIfAbsent(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> pointer,
+  ) {
+    return _NSHashInsertIfAbsent(
+      table,
+      pointer,
+    );
+  }
+
+  late final _NSHashInsertIfAbsentPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Void>)>>('NSHashInsertIfAbsent');
+  late final _NSHashInsertIfAbsent = _NSHashInsertIfAbsentPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>();
+
+  void NSHashRemove(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> pointer,
+  ) {
+    return _NSHashRemove(
+      table,
+      pointer,
+    );
+  }
+
+  late final _NSHashRemovePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>('NSHashRemove');
+  late final _NSHashRemove = _NSHashRemovePtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>();
+
+  NSHashEnumerator NSEnumerateHashTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSEnumerateHashTable(
+      table,
+    );
+  }
+
+  late final _NSEnumerateHashTablePtr = _lookup<
+          ffi
+          .NativeFunction<NSHashEnumerator Function(ffi.Pointer<ObjCObject>)>>(
+      'NSEnumerateHashTable');
+  late final _NSEnumerateHashTable = _NSEnumerateHashTablePtr.asFunction<
+      NSHashEnumerator Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ffi.Void> NSNextHashEnumeratorItem(
+    ffi.Pointer<NSHashEnumerator> enumerator,
+  ) {
+    return _NSNextHashEnumeratorItem(
+      enumerator,
+    );
+  }
+
+  late final _NSNextHashEnumeratorItemPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<NSHashEnumerator>)>>('NSNextHashEnumeratorItem');
+  late final _NSNextHashEnumeratorItem =
+      _NSNextHashEnumeratorItemPtr.asFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<NSHashEnumerator>)>();
+
+  void NSEndHashTableEnumeration(
+    ffi.Pointer<NSHashEnumerator> enumerator,
+  ) {
+    return _NSEndHashTableEnumeration(
+      enumerator,
+    );
+  }
+
+  late final _NSEndHashTableEnumerationPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<NSHashEnumerator>)>>(
+      'NSEndHashTableEnumeration');
+  late final _NSEndHashTableEnumeration = _NSEndHashTableEnumerationPtr
+      .asFunction<void Function(ffi.Pointer<NSHashEnumerator>)>();
+
+  int NSCountHashTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSCountHashTable(
+      table,
+    );
+  }
+
+  late final _NSCountHashTablePtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ObjCObject>)>>(
+          'NSCountHashTable');
+  late final _NSCountHashTable =
+      _NSCountHashTablePtr.asFunction<int Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSStringFromHashTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSStringFromHashTable(
+      table,
+    );
+  }
+
+  late final _NSStringFromHashTablePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSStringFromHashTable');
+  late final _NSStringFromHashTable = _NSStringFromHashTablePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSAllHashTableObjects(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSAllHashTableObjects(
+      table,
+    );
+  }
+
+  late final _NSAllHashTableObjectsPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSAllHashTableObjects');
+  late final _NSAllHashTableObjects = _NSAllHashTableObjectsPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSCreateHashTableWithZone(
+    NSHashTableCallBacks callBacks,
+    int capacity,
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSCreateHashTableWithZone(
+      callBacks,
+      capacity,
+      zone,
+    );
+  }
+
+  late final _NSCreateHashTableWithZonePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(NSHashTableCallBacks, NSUInteger,
+              ffi.Pointer<NSZone>)>>('NSCreateHashTableWithZone');
+  late final _NSCreateHashTableWithZone =
+      _NSCreateHashTableWithZonePtr.asFunction<
+          ffi.Pointer<ObjCObject> Function(
+              NSHashTableCallBacks, int, ffi.Pointer<NSZone>)>();
+
+  ffi.Pointer<ObjCObject> NSCreateHashTable(
+    NSHashTableCallBacks callBacks,
+    int capacity,
+  ) {
+    return _NSCreateHashTable(
+      callBacks,
+      capacity,
+    );
+  }
+
+  late final _NSCreateHashTablePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              NSHashTableCallBacks, NSUInteger)>>('NSCreateHashTable');
+  late final _NSCreateHashTable = _NSCreateHashTablePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(NSHashTableCallBacks, int)>();
+
+  late final ffi.Pointer<NSHashTableCallBacks> _NSIntegerHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSIntegerHashCallBacks');
+
+  NSHashTableCallBacks get NSIntegerHashCallBacks =>
+      _NSIntegerHashCallBacks.ref;
+
+  late final ffi.Pointer<NSHashTableCallBacks> _NSNonOwnedPointerHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSNonOwnedPointerHashCallBacks');
+
+  NSHashTableCallBacks get NSNonOwnedPointerHashCallBacks =>
+      _NSNonOwnedPointerHashCallBacks.ref;
+
+  late final ffi.Pointer<NSHashTableCallBacks>
+      _NSNonRetainedObjectHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSNonRetainedObjectHashCallBacks');
+
+  NSHashTableCallBacks get NSNonRetainedObjectHashCallBacks =>
+      _NSNonRetainedObjectHashCallBacks.ref;
+
+  late final ffi.Pointer<NSHashTableCallBacks> _NSObjectHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSObjectHashCallBacks');
+
+  NSHashTableCallBacks get NSObjectHashCallBacks => _NSObjectHashCallBacks.ref;
+
+  late final ffi.Pointer<NSHashTableCallBacks>
+      _NSOwnedObjectIdentityHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSOwnedObjectIdentityHashCallBacks');
+
+  NSHashTableCallBacks get NSOwnedObjectIdentityHashCallBacks =>
+      _NSOwnedObjectIdentityHashCallBacks.ref;
+
+  late final ffi.Pointer<NSHashTableCallBacks> _NSOwnedPointerHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSOwnedPointerHashCallBacks');
+
+  NSHashTableCallBacks get NSOwnedPointerHashCallBacks =>
+      _NSOwnedPointerHashCallBacks.ref;
+
+  late final ffi.Pointer<NSHashTableCallBacks> _NSPointerToStructHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSPointerToStructHashCallBacks');
+
+  NSHashTableCallBacks get NSPointerToStructHashCallBacks =>
+      _NSPointerToStructHashCallBacks.ref;
+
+  late final ffi.Pointer<NSHashTableCallBacks> _NSIntHashCallBacks =
+      _lookup<NSHashTableCallBacks>('NSIntHashCallBacks');
+
+  NSHashTableCallBacks get NSIntHashCallBacks => _NSIntHashCallBacks.ref;
+
+  /// !
+  /// @const NSHTTPCookieName
+  /// @discussion Key for cookie name
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieName =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieName');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieName => _NSHTTPCookieName.value;
+
+  set NSHTTPCookieName(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieName.value = value;
+
+  /// !
+  /// @const NSHTTPCookieValue
+  /// @discussion Key for cookie value
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieValue =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieValue');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieValue => _NSHTTPCookieValue.value;
+
+  set NSHTTPCookieValue(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieValue.value = value;
+
+  /// !
+  /// @const NSHTTPCookieOriginURL
+  /// @discussion Key for cookie origin URL
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieOriginURL =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieOriginURL');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieOriginURL =>
+      _NSHTTPCookieOriginURL.value;
+
+  set NSHTTPCookieOriginURL(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieOriginURL.value = value;
+
+  /// !
+  /// @const NSHTTPCookieVersion
+  /// @discussion Key for cookie version
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieVersion =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieVersion');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieVersion => _NSHTTPCookieVersion.value;
+
+  set NSHTTPCookieVersion(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieVersion.value = value;
+
+  /// !
+  /// @const NSHTTPCookieDomain
+  /// @discussion Key for cookie domain
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieDomain =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieDomain');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieDomain => _NSHTTPCookieDomain.value;
+
+  set NSHTTPCookieDomain(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieDomain.value = value;
+
+  /// !
+  /// @const NSHTTPCookiePath
+  /// @discussion Key for cookie path
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookiePath =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookiePath');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookiePath => _NSHTTPCookiePath.value;
+
+  set NSHTTPCookiePath(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookiePath.value = value;
+
+  /// !
+  /// @const NSHTTPCookieSecure
+  /// @discussion Key for cookie secure flag
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieSecure =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieSecure');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieSecure => _NSHTTPCookieSecure.value;
+
+  set NSHTTPCookieSecure(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieSecure.value = value;
+
+  /// !
+  /// @const NSHTTPCookieExpires
+  /// @discussion Key for cookie expiration date
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieExpires =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieExpires');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieExpires => _NSHTTPCookieExpires.value;
+
+  set NSHTTPCookieExpires(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieExpires.value = value;
+
+  /// !
+  /// @const NSHTTPCookieComment
+  /// @discussion Key for cookie comment text
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieComment =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieComment');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieComment => _NSHTTPCookieComment.value;
+
+  set NSHTTPCookieComment(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieComment.value = value;
+
+  /// !
+  /// @const NSHTTPCookieCommentURL
+  /// @discussion Key for cookie comment URL
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieCommentURL =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieCommentURL');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieCommentURL =>
+      _NSHTTPCookieCommentURL.value;
+
+  set NSHTTPCookieCommentURL(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieCommentURL.value = value;
+
+  /// !
+  /// @const NSHTTPCookieDiscard
+  /// @discussion Key for cookie discard (session-only) flag
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieDiscard =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieDiscard');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieDiscard => _NSHTTPCookieDiscard.value;
+
+  set NSHTTPCookieDiscard(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieDiscard.value = value;
+
+  /// !
+  /// @const NSHTTPCookieMaximumAge
+  /// @discussion Key for cookie maximum age (an alternate way of specifying the expiration)
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieMaximumAge =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieMaximumAge');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieMaximumAge =>
+      _NSHTTPCookieMaximumAge.value;
+
+  set NSHTTPCookieMaximumAge(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieMaximumAge.value = value;
+
+  /// !
+  /// @const NSHTTPCookiePort
+  /// @discussion Key for cookie ports
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookiePort =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookiePort');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookiePort => _NSHTTPCookiePort.value;
+
+  set NSHTTPCookiePort(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookiePort.value = value;
+
+  /// !
+  /// @const NSHTTPCookieSameSitePolicy
+  /// @discussion Key for cookie same site
+  late final ffi.Pointer<NSHTTPCookiePropertyKey> _NSHTTPCookieSameSitePolicy =
+      _lookup<NSHTTPCookiePropertyKey>('NSHTTPCookieSameSitePolicy');
+
+  NSHTTPCookiePropertyKey get NSHTTPCookieSameSitePolicy =>
+      _NSHTTPCookieSameSitePolicy.value;
+
+  set NSHTTPCookieSameSitePolicy(NSHTTPCookiePropertyKey value) =>
+      _NSHTTPCookieSameSitePolicy.value = value;
+
+  /// !
+  /// @const NSHTTPCookieSameSiteLax
+  /// @discussion String constant "lax" to be used as a value for the property key NSHTTPCookieSameSite
+  late final ffi.Pointer<NSHTTPCookieStringPolicy> _NSHTTPCookieSameSiteLax =
+      _lookup<NSHTTPCookieStringPolicy>('NSHTTPCookieSameSiteLax');
+
+  NSHTTPCookieStringPolicy get NSHTTPCookieSameSiteLax =>
+      _NSHTTPCookieSameSiteLax.value;
+
+  set NSHTTPCookieSameSiteLax(NSHTTPCookieStringPolicy value) =>
+      _NSHTTPCookieSameSiteLax.value = value;
+
+  /// !
+  /// @const NSHTTPCookieSameSiteStrict
+  /// @discussion String constant "strict" to be used as a value for the property key NSHTTPCookieSameSite
+  late final ffi.Pointer<NSHTTPCookieStringPolicy> _NSHTTPCookieSameSiteStrict =
+      _lookup<NSHTTPCookieStringPolicy>('NSHTTPCookieSameSiteStrict');
+
+  NSHTTPCookieStringPolicy get NSHTTPCookieSameSiteStrict =>
+      _NSHTTPCookieSameSiteStrict.value;
+
+  set NSHTTPCookieSameSiteStrict(NSHTTPCookieStringPolicy value) =>
+      _NSHTTPCookieSameSiteStrict.value = value;
+
+  late final _class_NSHTTPCookieStorage1 = _getClass1("NSHTTPCookieStorage");
+  late final _sel_sharedHTTPCookieStorage1 =
+      _registerName1("sharedHTTPCookieStorage");
+  ffi.Pointer<ObjCObject> _objc_msgSend_667(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_667(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_667Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_667 = __objc_msgSend_667Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_sharedCookieStorageForGroupContainerIdentifier_1 =
+      _registerName1("sharedCookieStorageForGroupContainerIdentifier:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_668(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> identifier,
+  ) {
+    return __objc_msgSend_668(
+      obj,
+      sel,
+      identifier,
+    );
+  }
+
+  late final __objc_msgSend_668Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_668 = __objc_msgSend_668Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_cookies1 = _registerName1("cookies");
+  late final _class_NSHTTPCookie1 = _getClass1("NSHTTPCookie");
+  late final _sel_initWithProperties_1 = _registerName1("initWithProperties:");
+  late final _sel_cookieWithProperties_1 =
+      _registerName1("cookieWithProperties:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_669(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> properties,
+  ) {
+    return __objc_msgSend_669(
+      obj,
+      sel,
+      properties,
+    );
+  }
+
+  late final __objc_msgSend_669Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_669 = __objc_msgSend_669Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_requestHeaderFieldsWithCookies_1 =
+      _registerName1("requestHeaderFieldsWithCookies:");
+  late final _sel_cookiesWithResponseHeaderFields_forURL_1 =
+      _registerName1("cookiesWithResponseHeaderFields:forURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_670(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> headerFields,
+    ffi.Pointer<ObjCObject> URL,
+  ) {
+    return __objc_msgSend_670(
+      obj,
+      sel,
+      headerFields,
+      URL,
+    );
+  }
+
+  late final __objc_msgSend_670Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_670 = __objc_msgSend_670Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_properties1 = _registerName1("properties");
+  late final _sel_value1 = _registerName1("value");
+  late final _sel_expiresDate1 = _registerName1("expiresDate");
+  late final _sel_isSessionOnly1 = _registerName1("isSessionOnly");
+  late final _sel_isSecure1 = _registerName1("isSecure");
+  late final _sel_isHTTPOnly1 = _registerName1("isHTTPOnly");
+  late final _sel_comment1 = _registerName1("comment");
+  late final _sel_commentURL1 = _registerName1("commentURL");
+  late final _sel_portList1 = _registerName1("portList");
+  late final _sel_sameSitePolicy1 = _registerName1("sameSitePolicy");
+  late final _sel_setCookie_1 = _registerName1("setCookie:");
+  void _objc_msgSend_671(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> cookie,
+  ) {
+    return __objc_msgSend_671(
+      obj,
+      sel,
+      cookie,
+    );
+  }
+
+  late final __objc_msgSend_671Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_671 = __objc_msgSend_671Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_deleteCookie_1 = _registerName1("deleteCookie:");
+  late final _sel_removeCookiesSinceDate_1 =
+      _registerName1("removeCookiesSinceDate:");
+  late final _sel_cookiesForURL_1 = _registerName1("cookiesForURL:");
+  late final _sel_setCookies_forURL_mainDocumentURL_1 =
+      _registerName1("setCookies:forURL:mainDocumentURL:");
+  void _objc_msgSend_672(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> cookies,
+    ffi.Pointer<ObjCObject> URL,
+    ffi.Pointer<ObjCObject> mainDocumentURL,
+  ) {
+    return __objc_msgSend_672(
+      obj,
+      sel,
+      cookies,
+      URL,
+      mainDocumentURL,
+    );
+  }
+
+  late final __objc_msgSend_672Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_672 = __objc_msgSend_672Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_cookieAcceptPolicy1 = _registerName1("cookieAcceptPolicy");
+  int _objc_msgSend_673(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_673(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_673Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_673 = __objc_msgSend_673Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setCookieAcceptPolicy_1 =
+      _registerName1("setCookieAcceptPolicy:");
+  void _objc_msgSend_674(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_674(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_674Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_674 = __objc_msgSend_674Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_sortedCookiesUsingDescriptors_1 =
+      _registerName1("sortedCookiesUsingDescriptors:");
+  late final _class_NSURLSessionTask1 = _getClass1("NSURLSessionTask");
+  late final _sel_taskIdentifier1 = _registerName1("taskIdentifier");
+  late final _class_NSURLRequest1 = _getClass1("NSURLRequest");
+  late final _sel_requestWithURL_1 = _registerName1("requestWithURL:");
+  late final _sel_supportsSecureCoding1 =
+      _registerName1("supportsSecureCoding");
+  late final _sel_requestWithURL_cachePolicy_timeoutInterval_1 =
+      _registerName1("requestWithURL:cachePolicy:timeoutInterval:");
+  instancetype _objc_msgSend_675(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> URL,
+    int cachePolicy,
+    double timeoutInterval,
+  ) {
+    return __objc_msgSend_675(
+      obj,
+      sel,
+      URL,
+      cachePolicy,
+      timeoutInterval,
+    );
+  }
+
+  late final __objc_msgSend_675Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSTimeInterval)>>('objc_msgSend');
+  late final __objc_msgSend_675 = __objc_msgSend_675Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, double)>();
+
+  late final _sel_initWithURL_cachePolicy_timeoutInterval_1 =
+      _registerName1("initWithURL:cachePolicy:timeoutInterval:");
+  late final _sel_URL1 = _registerName1("URL");
+  late final _sel_cachePolicy1 = _registerName1("cachePolicy");
+  int _objc_msgSend_676(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_676(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_676Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_676 = __objc_msgSend_676Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_timeoutInterval1 = _registerName1("timeoutInterval");
+  late final _sel_mainDocumentURL1 = _registerName1("mainDocumentURL");
+  late final _sel_networkServiceType1 = _registerName1("networkServiceType");
+  int _objc_msgSend_677(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_677(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_677Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_677 = __objc_msgSend_677Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_allowsCellularAccess1 =
+      _registerName1("allowsCellularAccess");
+  late final _sel_allowsExpensiveNetworkAccess1 =
+      _registerName1("allowsExpensiveNetworkAccess");
+  late final _sel_allowsConstrainedNetworkAccess1 =
+      _registerName1("allowsConstrainedNetworkAccess");
+  late final _sel_assumesHTTP3Capable1 = _registerName1("assumesHTTP3Capable");
+  late final _sel_attribution1 = _registerName1("attribution");
+  int _objc_msgSend_678(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_678(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_678Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_678 = __objc_msgSend_678Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_requiresDNSSECValidation1 =
+      _registerName1("requiresDNSSECValidation");
+  late final _sel_HTTPMethod1 = _registerName1("HTTPMethod");
+  late final _sel_allHTTPHeaderFields1 = _registerName1("allHTTPHeaderFields");
+  late final _sel_valueForHTTPHeaderField_1 =
+      _registerName1("valueForHTTPHeaderField:");
+  late final _sel_HTTPBody1 = _registerName1("HTTPBody");
+  late final _class_NSInputStream1 = _getClass1("NSInputStream");
+  late final _class_NSStream1 = _getClass1("NSStream");
+  late final _sel_open1 = _registerName1("open");
+  late final _sel_close1 = _registerName1("close");
+  late final _sel_propertyForKey_1 = _registerName1("propertyForKey:");
+  late final _sel_setProperty_forKey_1 = _registerName1("setProperty:forKey:");
+  late final _sel_streamStatus1 = _registerName1("streamStatus");
+  int _objc_msgSend_679(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_679(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_679Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_679 = __objc_msgSend_679Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_streamError1 = _registerName1("streamError");
+  late final _class_NSOutputStream1 = _getClass1("NSOutputStream");
+  late final _sel_write_maxLength_1 = _registerName1("write:maxLength:");
+  int _objc_msgSend_680(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Uint8> buffer,
+    int len,
+  ) {
+    return __objc_msgSend_680(
+      obj,
+      sel,
+      buffer,
+      len,
+    );
+  }
+
+  late final __objc_msgSend_680Ptr = _lookup<
+      ffi.NativeFunction<
+          NSInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Uint8>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_680 = __objc_msgSend_680Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Uint8>, int)>();
+
+  late final _sel_hasSpaceAvailable1 = _registerName1("hasSpaceAvailable");
+  late final _sel_initToMemory1 = _registerName1("initToMemory");
+  late final _sel_initToBuffer_capacity_1 =
+      _registerName1("initToBuffer:capacity:");
+  instancetype _objc_msgSend_681(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Uint8> buffer,
+    int capacity,
+  ) {
+    return __objc_msgSend_681(
+      obj,
+      sel,
+      buffer,
+      capacity,
+    );
+  }
+
+  late final __objc_msgSend_681Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Uint8>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_681 = __objc_msgSend_681Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Uint8>, int)>();
+
+  late final _sel_initWithURL_append_1 = _registerName1("initWithURL:append:");
+  instancetype _objc_msgSend_682(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    bool shouldAppend,
+  ) {
+    return __objc_msgSend_682(
+      obj,
+      sel,
+      url,
+      shouldAppend,
+    );
+  }
+
+  late final __objc_msgSend_682Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_682 = __objc_msgSend_682Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_initToFileAtPath_append_1 =
+      _registerName1("initToFileAtPath:append:");
+  late final _sel_outputStreamToMemory1 =
+      _registerName1("outputStreamToMemory");
+  late final _sel_outputStreamToBuffer_capacity_1 =
+      _registerName1("outputStreamToBuffer:capacity:");
+  late final _sel_outputStreamToFileAtPath_append_1 =
+      _registerName1("outputStreamToFileAtPath:append:");
+  late final _sel_outputStreamWithURL_append_1 =
+      _registerName1("outputStreamWithURL:append:");
+  late final _sel_getStreamsToHostWithName_port_inputStream_outputStream_1 =
+      _registerName1("getStreamsToHostWithName:port:inputStream:outputStream:");
+  void _objc_msgSend_683(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> hostname,
+    int port,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream,
+  ) {
+    return __objc_msgSend_683(
+      obj,
+      sel,
+      hostname,
+      port,
+      inputStream,
+      outputStream,
+    );
+  }
+
+  late final __objc_msgSend_683Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSInteger,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_683 = __objc_msgSend_683Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_getBoundStreamsWithBufferSize_inputStream_outputStream_1 =
+      _registerName1("getBoundStreamsWithBufferSize:inputStream:outputStream:");
+  void _objc_msgSend_684(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int bufferSize,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream,
+  ) {
+    return __objc_msgSend_684(
+      obj,
+      sel,
+      bufferSize,
+      inputStream,
+      outputStream,
+    );
+  }
+
+  late final __objc_msgSend_684Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_684 = __objc_msgSend_684Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_read_maxLength_1 = _registerName1("read:maxLength:");
+  late final _sel_getBuffer_length_1 = _registerName1("getBuffer:length:");
+  bool _objc_msgSend_685(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ffi.Uint8>> buffer,
+    ffi.Pointer<NSUInteger> len,
+  ) {
+    return __objc_msgSend_685(
+      obj,
+      sel,
+      buffer,
+      len,
+    );
+  }
+
+  late final __objc_msgSend_685Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ffi.Uint8>>,
+              ffi.Pointer<NSUInteger>)>>('objc_msgSend');
+  late final __objc_msgSend_685 = __objc_msgSend_685Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ffi.Uint8>>, ffi.Pointer<NSUInteger>)>();
+
+  late final _sel_hasBytesAvailable1 = _registerName1("hasBytesAvailable");
+  late final _sel_initWithFileAtPath_1 = _registerName1("initWithFileAtPath:");
+  late final _sel_inputStreamWithData_1 =
+      _registerName1("inputStreamWithData:");
+  late final _sel_inputStreamWithFileAtPath_1 =
+      _registerName1("inputStreamWithFileAtPath:");
+  late final _sel_inputStreamWithURL_1 = _registerName1("inputStreamWithURL:");
+  late final _sel_HTTPBodyStream1 = _registerName1("HTTPBodyStream");
+  ffi.Pointer<ObjCObject> _objc_msgSend_686(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_686(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_686Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_686 = __objc_msgSend_686Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_HTTPShouldHandleCookies1 =
+      _registerName1("HTTPShouldHandleCookies");
+  late final _sel_HTTPShouldUsePipelining1 =
+      _registerName1("HTTPShouldUsePipelining");
+  late final _sel_originalRequest1 = _registerName1("originalRequest");
+  ffi.Pointer<ObjCObject> _objc_msgSend_687(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_687(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_687Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_687 = __objc_msgSend_687Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_currentRequest1 = _registerName1("currentRequest");
+  late final _class_NSURLResponse1 = _getClass1("NSURLResponse");
+  late final _sel_initWithURL_MIMEType_expectedContentLength_textEncodingName_1 =
+      _registerName1(
+          "initWithURL:MIMEType:expectedContentLength:textEncodingName:");
+  instancetype _objc_msgSend_688(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> URL,
+    ffi.Pointer<ObjCObject> MIMEType,
+    int length,
+    ffi.Pointer<ObjCObject> name,
+  ) {
+    return __objc_msgSend_688(
+      obj,
+      sel,
+      URL,
+      MIMEType,
+      length,
+      name,
+    );
+  }
+
+  late final __objc_msgSend_688Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_688 = __objc_msgSend_688Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_MIMEType1 = _registerName1("MIMEType");
+  late final _sel_expectedContentLength1 =
+      _registerName1("expectedContentLength");
+  late final _sel_textEncodingName1 = _registerName1("textEncodingName");
+  late final _sel_suggestedFilename1 = _registerName1("suggestedFilename");
+  late final _sel_response1 = _registerName1("response");
+  ffi.Pointer<ObjCObject> _objc_msgSend_689(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_689(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_689Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_689 = __objc_msgSend_689Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_progress1 = _registerName1("progress");
+  late final _sel_earliestBeginDate1 = _registerName1("earliestBeginDate");
+  late final _sel_setEarliestBeginDate_1 =
+      _registerName1("setEarliestBeginDate:");
+  late final _sel_countOfBytesClientExpectsToSend1 =
+      _registerName1("countOfBytesClientExpectsToSend");
+  late final _sel_setCountOfBytesClientExpectsToSend_1 =
+      _registerName1("setCountOfBytesClientExpectsToSend:");
+  late final _sel_countOfBytesClientExpectsToReceive1 =
+      _registerName1("countOfBytesClientExpectsToReceive");
+  late final _sel_setCountOfBytesClientExpectsToReceive_1 =
+      _registerName1("setCountOfBytesClientExpectsToReceive:");
+  late final _sel_countOfBytesSent1 = _registerName1("countOfBytesSent");
+  late final _sel_countOfBytesReceived1 =
+      _registerName1("countOfBytesReceived");
+  late final _sel_countOfBytesExpectedToSend1 =
+      _registerName1("countOfBytesExpectedToSend");
+  late final _sel_countOfBytesExpectedToReceive1 =
+      _registerName1("countOfBytesExpectedToReceive");
+  late final _sel_taskDescription1 = _registerName1("taskDescription");
+  late final _sel_setTaskDescription_1 = _registerName1("setTaskDescription:");
+  late final _sel_state1 = _registerName1("state");
+  int _objc_msgSend_690(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_690(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_690Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_690 = __objc_msgSend_690Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_suspend1 = _registerName1("suspend");
+  late final _sel_priority1 = _registerName1("priority");
+  late final _sel_setPriority_1 = _registerName1("setPriority:");
+  void _objc_msgSend_691(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    double value,
+  ) {
+    return __objc_msgSend_691(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_691Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Float)>>('objc_msgSend');
+  late final __objc_msgSend_691 = __objc_msgSend_691Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, double)>();
+
+  late final _sel_prefersIncrementalDelivery1 =
+      _registerName1("prefersIncrementalDelivery");
+  late final _sel_setPrefersIncrementalDelivery_1 =
+      _registerName1("setPrefersIncrementalDelivery:");
+  late final _sel_storeCookies_forTask_1 =
+      _registerName1("storeCookies:forTask:");
+  void _objc_msgSend_692(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> cookies,
+    ffi.Pointer<ObjCObject> task,
+  ) {
+    return __objc_msgSend_692(
+      obj,
+      sel,
+      cookies,
+      task,
+    );
+  }
+
+  late final __objc_msgSend_692Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_692 = __objc_msgSend_692Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_getCookiesForTask_completionHandler_1 =
+      _registerName1("getCookiesForTask:completionHandler:");
+  void _objc_msgSend_693(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> task,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_693(
+      obj,
+      sel,
+      task,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_693Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_693 = __objc_msgSend_693Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @const NSHTTPCookieManagerAcceptPolicyChangedNotification
+  /// @discussion Name of notification that should be posted to the
+  /// distributed notification center whenever the accept cookies
+  /// preference is changed
+  late final ffi.Pointer<NSNotificationName>
+      _NSHTTPCookieManagerAcceptPolicyChangedNotification =
+      _lookup<NSNotificationName>(
+          'NSHTTPCookieManagerAcceptPolicyChangedNotification');
+
+  NSNotificationName get NSHTTPCookieManagerAcceptPolicyChangedNotification =>
+      _NSHTTPCookieManagerAcceptPolicyChangedNotification.value;
+
+  set NSHTTPCookieManagerAcceptPolicyChangedNotification(
+          NSNotificationName value) =>
+      _NSHTTPCookieManagerAcceptPolicyChangedNotification.value = value;
+
+  /// !
+  /// @const NSHTTPCookieManagerCookiesChangedNotification
+  /// @abstract Notification sent when the set of cookies changes
+  late final ffi.Pointer<NSNotificationName>
+      _NSHTTPCookieManagerCookiesChangedNotification =
+      _lookup<NSNotificationName>(
+          'NSHTTPCookieManagerCookiesChangedNotification');
+
+  NSNotificationName get NSHTTPCookieManagerCookiesChangedNotification =>
+      _NSHTTPCookieManagerCookiesChangedNotification.value;
+
+  set NSHTTPCookieManagerCookiesChangedNotification(NSNotificationName value) =>
+      _NSHTTPCookieManagerCookiesChangedNotification.value = value;
+
+  late final _class_NSIndexPath1 = _getClass1("NSIndexPath");
+  late final _sel_indexPathWithIndex_1 = _registerName1("indexPathWithIndex:");
+  late final _sel_indexPathWithIndexes_length_1 =
+      _registerName1("indexPathWithIndexes:length:");
+  instancetype _objc_msgSend_694(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSUInteger> indexes,
+    int length,
+  ) {
+    return __objc_msgSend_694(
+      obj,
+      sel,
+      indexes,
+      length,
+    );
+  }
+
+  late final __objc_msgSend_694Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSUInteger>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_694 = __objc_msgSend_694Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSUInteger>, int)>();
+
+  late final _sel_initWithIndexes_length_1 =
+      _registerName1("initWithIndexes:length:");
+  late final _sel_indexPathByAddingIndex_1 =
+      _registerName1("indexPathByAddingIndex:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_695(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+  ) {
+    return __objc_msgSend_695(
+      obj,
+      sel,
+      index,
+    );
+  }
+
+  late final __objc_msgSend_695Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_695 = __objc_msgSend_695Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_indexPathByRemovingLastIndex1 =
+      _registerName1("indexPathByRemovingLastIndex");
+  ffi.Pointer<ObjCObject> _objc_msgSend_696(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_696(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_696Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_696 = __objc_msgSend_696Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_indexAtPosition_1 = _registerName1("indexAtPosition:");
+  late final _sel_getIndexes_range_1 = _registerName1("getIndexes:range:");
+  void _objc_msgSend_697(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSUInteger> indexes,
+    NSRange positionRange,
+  ) {
+    return __objc_msgSend_697(
+      obj,
+      sel,
+      indexes,
+      positionRange,
+    );
+  }
+
+  late final __objc_msgSend_697Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSUInteger>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_697 = __objc_msgSend_697Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSUInteger>, NSRange)>();
+
+  int _objc_msgSend_698(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> otherObject,
+  ) {
+    return __objc_msgSend_698(
+      obj,
+      sel,
+      otherObject,
+    );
+  }
+
+  late final __objc_msgSend_698Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_698 = __objc_msgSend_698Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_getIndexes_1 = _registerName1("getIndexes:");
+  void _objc_msgSend_699(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<NSUInteger> indexes,
+  ) {
+    return __objc_msgSend_699(
+      obj,
+      sel,
+      indexes,
+    );
+  }
+
+  late final __objc_msgSend_699Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<NSUInteger>)>>('objc_msgSend');
+  late final __objc_msgSend_699 = __objc_msgSend_699Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<NSUInteger>)>();
+
+  late final _class_NSInflectionRule1 = _getClass1("NSInflectionRule");
+  late final _sel_automaticRule1 = _registerName1("automaticRule");
+  ffi.Pointer<ObjCObject> _objc_msgSend_700(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_700(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_700Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_700 = __objc_msgSend_700Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_canInflectLanguage_1 = _registerName1("canInflectLanguage:");
+  late final _sel_canInflectPreferredLocalization1 =
+      _registerName1("canInflectPreferredLocalization");
+  late final ffi.Pointer<NSExceptionName> _NSUndefinedKeyException =
+      _lookup<NSExceptionName>('NSUndefinedKeyException');
+
+  NSExceptionName get NSUndefinedKeyException => _NSUndefinedKeyException.value;
+
+  set NSUndefinedKeyException(NSExceptionName value) =>
+      _NSUndefinedKeyException.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSAverageKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSAverageKeyValueOperator');
+
+  NSKeyValueOperator get NSAverageKeyValueOperator =>
+      _NSAverageKeyValueOperator.value;
+
+  set NSAverageKeyValueOperator(NSKeyValueOperator value) =>
+      _NSAverageKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSCountKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSCountKeyValueOperator');
+
+  NSKeyValueOperator get NSCountKeyValueOperator =>
+      _NSCountKeyValueOperator.value;
+
+  set NSCountKeyValueOperator(NSKeyValueOperator value) =>
+      _NSCountKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator>
+      _NSDistinctUnionOfArraysKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSDistinctUnionOfArraysKeyValueOperator');
+
+  NSKeyValueOperator get NSDistinctUnionOfArraysKeyValueOperator =>
+      _NSDistinctUnionOfArraysKeyValueOperator.value;
+
+  set NSDistinctUnionOfArraysKeyValueOperator(NSKeyValueOperator value) =>
+      _NSDistinctUnionOfArraysKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator>
+      _NSDistinctUnionOfObjectsKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSDistinctUnionOfObjectsKeyValueOperator');
+
+  NSKeyValueOperator get NSDistinctUnionOfObjectsKeyValueOperator =>
+      _NSDistinctUnionOfObjectsKeyValueOperator.value;
+
+  set NSDistinctUnionOfObjectsKeyValueOperator(NSKeyValueOperator value) =>
+      _NSDistinctUnionOfObjectsKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator>
+      _NSDistinctUnionOfSetsKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSDistinctUnionOfSetsKeyValueOperator');
+
+  NSKeyValueOperator get NSDistinctUnionOfSetsKeyValueOperator =>
+      _NSDistinctUnionOfSetsKeyValueOperator.value;
+
+  set NSDistinctUnionOfSetsKeyValueOperator(NSKeyValueOperator value) =>
+      _NSDistinctUnionOfSetsKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSMaximumKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSMaximumKeyValueOperator');
+
+  NSKeyValueOperator get NSMaximumKeyValueOperator =>
+      _NSMaximumKeyValueOperator.value;
+
+  set NSMaximumKeyValueOperator(NSKeyValueOperator value) =>
+      _NSMaximumKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSMinimumKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSMinimumKeyValueOperator');
+
+  NSKeyValueOperator get NSMinimumKeyValueOperator =>
+      _NSMinimumKeyValueOperator.value;
+
+  set NSMinimumKeyValueOperator(NSKeyValueOperator value) =>
+      _NSMinimumKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSSumKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSSumKeyValueOperator');
+
+  NSKeyValueOperator get NSSumKeyValueOperator => _NSSumKeyValueOperator.value;
+
+  set NSSumKeyValueOperator(NSKeyValueOperator value) =>
+      _NSSumKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSUnionOfArraysKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSUnionOfArraysKeyValueOperator');
+
+  NSKeyValueOperator get NSUnionOfArraysKeyValueOperator =>
+      _NSUnionOfArraysKeyValueOperator.value;
+
+  set NSUnionOfArraysKeyValueOperator(NSKeyValueOperator value) =>
+      _NSUnionOfArraysKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSUnionOfObjectsKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSUnionOfObjectsKeyValueOperator');
+
+  NSKeyValueOperator get NSUnionOfObjectsKeyValueOperator =>
+      _NSUnionOfObjectsKeyValueOperator.value;
+
+  set NSUnionOfObjectsKeyValueOperator(NSKeyValueOperator value) =>
+      _NSUnionOfObjectsKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueOperator> _NSUnionOfSetsKeyValueOperator =
+      _lookup<NSKeyValueOperator>('NSUnionOfSetsKeyValueOperator');
+
+  NSKeyValueOperator get NSUnionOfSetsKeyValueOperator =>
+      _NSUnionOfSetsKeyValueOperator.value;
+
+  set NSUnionOfSetsKeyValueOperator(NSKeyValueOperator value) =>
+      _NSUnionOfSetsKeyValueOperator.value = value;
+
+  late final ffi.Pointer<NSKeyValueChangeKey> _NSKeyValueChangeKindKey =
+      _lookup<NSKeyValueChangeKey>('NSKeyValueChangeKindKey');
+
+  NSKeyValueChangeKey get NSKeyValueChangeKindKey =>
+      _NSKeyValueChangeKindKey.value;
+
+  set NSKeyValueChangeKindKey(NSKeyValueChangeKey value) =>
+      _NSKeyValueChangeKindKey.value = value;
+
+  late final ffi.Pointer<NSKeyValueChangeKey> _NSKeyValueChangeNewKey =
+      _lookup<NSKeyValueChangeKey>('NSKeyValueChangeNewKey');
+
+  NSKeyValueChangeKey get NSKeyValueChangeNewKey =>
+      _NSKeyValueChangeNewKey.value;
+
+  set NSKeyValueChangeNewKey(NSKeyValueChangeKey value) =>
+      _NSKeyValueChangeNewKey.value = value;
+
+  late final ffi.Pointer<NSKeyValueChangeKey> _NSKeyValueChangeOldKey =
+      _lookup<NSKeyValueChangeKey>('NSKeyValueChangeOldKey');
+
+  NSKeyValueChangeKey get NSKeyValueChangeOldKey =>
+      _NSKeyValueChangeOldKey.value;
+
+  set NSKeyValueChangeOldKey(NSKeyValueChangeKey value) =>
+      _NSKeyValueChangeOldKey.value = value;
+
+  late final ffi.Pointer<NSKeyValueChangeKey> _NSKeyValueChangeIndexesKey =
+      _lookup<NSKeyValueChangeKey>('NSKeyValueChangeIndexesKey');
+
+  NSKeyValueChangeKey get NSKeyValueChangeIndexesKey =>
+      _NSKeyValueChangeIndexesKey.value;
+
+  set NSKeyValueChangeIndexesKey(NSKeyValueChangeKey value) =>
+      _NSKeyValueChangeIndexesKey.value = value;
+
+  late final ffi.Pointer<NSKeyValueChangeKey>
+      _NSKeyValueChangeNotificationIsPriorKey =
+      _lookup<NSKeyValueChangeKey>('NSKeyValueChangeNotificationIsPriorKey');
+
+  NSKeyValueChangeKey get NSKeyValueChangeNotificationIsPriorKey =>
+      _NSKeyValueChangeNotificationIsPriorKey.value;
+
+  set NSKeyValueChangeNotificationIsPriorKey(NSKeyValueChangeKey value) =>
+      _NSKeyValueChangeNotificationIsPriorKey.value = value;
+
+  late final ffi.Pointer<NSExceptionName> _NSInvalidArchiveOperationException =
+      _lookup<NSExceptionName>('NSInvalidArchiveOperationException');
+
+  NSExceptionName get NSInvalidArchiveOperationException =>
+      _NSInvalidArchiveOperationException.value;
+
+  set NSInvalidArchiveOperationException(NSExceptionName value) =>
+      _NSInvalidArchiveOperationException.value = value;
+
+  late final ffi.Pointer<NSExceptionName>
+      _NSInvalidUnarchiveOperationException =
+      _lookup<NSExceptionName>('NSInvalidUnarchiveOperationException');
+
+  NSExceptionName get NSInvalidUnarchiveOperationException =>
+      _NSInvalidUnarchiveOperationException.value;
+
+  set NSInvalidUnarchiveOperationException(NSExceptionName value) =>
+      _NSInvalidUnarchiveOperationException.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSKeyedArchiveRootObjectKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSKeyedArchiveRootObjectKey');
+
+  ffi.Pointer<ObjCObject> get NSKeyedArchiveRootObjectKey =>
+      _NSKeyedArchiveRootObjectKey.value;
+
+  set NSKeyedArchiveRootObjectKey(ffi.Pointer<ObjCObject> value) =>
+      _NSKeyedArchiveRootObjectKey.value = value;
+
+  /// Class
+  late final ffi.Pointer<ffi.Int32> _NSMapTableStrongMemory =
+      _lookup<ffi.Int32>('NSMapTableStrongMemory');
+
+  int get NSMapTableStrongMemory => _NSMapTableStrongMemory.value;
+
+  set NSMapTableStrongMemory(int value) =>
+      _NSMapTableStrongMemory.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSMapTableZeroingWeakMemory =
+      _lookup<ffi.Int32>('NSMapTableZeroingWeakMemory');
+
+  int get NSMapTableZeroingWeakMemory => _NSMapTableZeroingWeakMemory.value;
+
+  set NSMapTableZeroingWeakMemory(int value) =>
+      _NSMapTableZeroingWeakMemory.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSMapTableCopyIn =
+      _lookup<ffi.Int32>('NSMapTableCopyIn');
+
+  int get NSMapTableCopyIn => _NSMapTableCopyIn.value;
+
+  set NSMapTableCopyIn(int value) => _NSMapTableCopyIn.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSMapTableObjectPointerPersonality =
+      _lookup<ffi.Int32>('NSMapTableObjectPointerPersonality');
+
+  int get NSMapTableObjectPointerPersonality =>
+      _NSMapTableObjectPointerPersonality.value;
+
+  set NSMapTableObjectPointerPersonality(int value) =>
+      _NSMapTableObjectPointerPersonality.value = value;
+
+  late final ffi.Pointer<ffi.Int32> _NSMapTableWeakMemory =
+      _lookup<ffi.Int32>('NSMapTableWeakMemory');
+
+  int get NSMapTableWeakMemory => _NSMapTableWeakMemory.value;
+
+  set NSMapTableWeakMemory(int value) => _NSMapTableWeakMemory.value = value;
+
+  void NSFreeMapTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSFreeMapTable(
+      table,
+    );
+  }
+
+  late final _NSFreeMapTablePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'NSFreeMapTable');
+  late final _NSFreeMapTable =
+      _NSFreeMapTablePtr.asFunction<void Function(ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSMapTable1 = _getClass1("NSMapTable");
+  late final _sel_initWithKeyOptions_valueOptions_capacity_1 =
+      _registerName1("initWithKeyOptions:valueOptions:capacity:");
+  instancetype _objc_msgSend_701(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int keyOptions,
+    int valueOptions,
+    int initialCapacity,
+  ) {
+    return __objc_msgSend_701(
+      obj,
+      sel,
+      keyOptions,
+      valueOptions,
+      initialCapacity,
+    );
+  }
+
+  late final __objc_msgSend_701Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Int32, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_701 = __objc_msgSend_701Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int, int)>();
+
+  late final _sel_initWithKeyPointerFunctions_valuePointerFunctions_capacity_1 =
+      _registerName1(
+          "initWithKeyPointerFunctions:valuePointerFunctions:capacity:");
+  instancetype _objc_msgSend_702(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> keyFunctions,
+    ffi.Pointer<ObjCObject> valueFunctions,
+    int initialCapacity,
+  ) {
+    return __objc_msgSend_702(
+      obj,
+      sel,
+      keyFunctions,
+      valueFunctions,
+      initialCapacity,
+    );
+  }
+
+  late final __objc_msgSend_702Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_702 = __objc_msgSend_702Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_mapTableWithKeyOptions_valueOptions_1 =
+      _registerName1("mapTableWithKeyOptions:valueOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_703(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int keyOptions,
+    int valueOptions,
+  ) {
+    return __objc_msgSend_703(
+      obj,
+      sel,
+      keyOptions,
+      valueOptions,
+    );
+  }
+
+  late final __objc_msgSend_703Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_703 = __objc_msgSend_703Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int)>();
+
+  late final _sel_mapTableWithStrongToStrongObjects1 =
+      _registerName1("mapTableWithStrongToStrongObjects");
+  late final _sel_mapTableWithWeakToStrongObjects1 =
+      _registerName1("mapTableWithWeakToStrongObjects");
+  late final _sel_mapTableWithStrongToWeakObjects1 =
+      _registerName1("mapTableWithStrongToWeakObjects");
+  late final _sel_mapTableWithWeakToWeakObjects1 =
+      _registerName1("mapTableWithWeakToWeakObjects");
+  late final _sel_strongToStrongObjectsMapTable1 =
+      _registerName1("strongToStrongObjectsMapTable");
+  ffi.Pointer<ObjCObject> _objc_msgSend_704(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_704(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_704Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_704 = __objc_msgSend_704Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_weakToStrongObjectsMapTable1 =
+      _registerName1("weakToStrongObjectsMapTable");
+  late final _sel_strongToWeakObjectsMapTable1 =
+      _registerName1("strongToWeakObjectsMapTable");
+  late final _sel_weakToWeakObjectsMapTable1 =
+      _registerName1("weakToWeakObjectsMapTable");
+  late final _sel_keyPointerFunctions1 = _registerName1("keyPointerFunctions");
+  late final _sel_valuePointerFunctions1 =
+      _registerName1("valuePointerFunctions");
+  late final _sel_dictionaryRepresentation1 =
+      _registerName1("dictionaryRepresentation");
+  void NSResetMapTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSResetMapTable(
+      table,
+    );
+  }
+
+  late final _NSResetMapTablePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject>)>>(
+          'NSResetMapTable');
+  late final _NSResetMapTable =
+      _NSResetMapTablePtr.asFunction<void Function(ffi.Pointer<ObjCObject>)>();
+
+  bool NSCompareMapTables(
+    ffi.Pointer<ObjCObject> table1,
+    ffi.Pointer<ObjCObject> table2,
+  ) {
+    return _NSCompareMapTables(
+      table1,
+      table2,
+    );
+  }
+
+  late final _NSCompareMapTablesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('NSCompareMapTables');
+  late final _NSCompareMapTables = _NSCompareMapTablesPtr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSCopyMapTableWithZone(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSCopyMapTableWithZone(
+      table,
+      zone,
+    );
+  }
+
+  late final _NSCopyMapTableWithZonePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<NSZone>)>>('NSCopyMapTableWithZone');
+  late final _NSCopyMapTableWithZone = _NSCopyMapTableWithZonePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<NSZone>)>();
+
+  bool NSMapMember(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> originalKey,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> value,
+  ) {
+    return _NSMapMember(
+      table,
+      key,
+      originalKey,
+      value,
+    );
+  }
+
+  late final _NSMapMemberPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('NSMapMember');
+  late final _NSMapMember = _NSMapMemberPtr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  ffi.Pointer<ffi.Void> NSMapGet(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _NSMapGet(
+      table,
+      key,
+    );
+  }
+
+  late final _NSMapGetPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>('NSMapGet');
+  late final _NSMapGet = _NSMapGetPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>();
+
+  void NSMapInsert(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _NSMapInsert(
+      table,
+      key,
+      value,
+    );
+  }
+
+  late final _NSMapInsertPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>>('NSMapInsert');
+  late final _NSMapInsert = _NSMapInsertPtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>)>();
+
+  void NSMapInsertKnownAbsent(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _NSMapInsertKnownAbsent(
+      table,
+      key,
+      value,
+    );
+  }
+
+  late final _NSMapInsertKnownAbsentPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>>('NSMapInsertKnownAbsent');
+  late final _NSMapInsertKnownAbsent = _NSMapInsertKnownAbsentPtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>,
+          ffi.Pointer<ffi.Void>)>();
+
+  ffi.Pointer<ffi.Void> NSMapInsertIfAbsent(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> key,
+    ffi.Pointer<ffi.Void> value,
+  ) {
+    return _NSMapInsertIfAbsent(
+      table,
+      key,
+      value,
+    );
+  }
+
+  late final _NSMapInsertIfAbsentPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>>('NSMapInsertIfAbsent');
+  late final _NSMapInsertIfAbsent = _NSMapInsertIfAbsentPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)>();
+
+  void NSMapRemove(
+    ffi.Pointer<ObjCObject> table,
+    ffi.Pointer<ffi.Void> key,
+  ) {
+    return _NSMapRemove(
+      table,
+      key,
+    );
+  }
+
+  late final _NSMapRemovePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>('NSMapRemove');
+  late final _NSMapRemove = _NSMapRemovePtr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>();
+
+  NSMapEnumerator NSEnumerateMapTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSEnumerateMapTable(
+      table,
+    );
+  }
+
+  late final _NSEnumerateMapTablePtr = _lookup<
+          ffi
+          .NativeFunction<NSMapEnumerator Function(ffi.Pointer<ObjCObject>)>>(
+      'NSEnumerateMapTable');
+  late final _NSEnumerateMapTable = _NSEnumerateMapTablePtr.asFunction<
+      NSMapEnumerator Function(ffi.Pointer<ObjCObject>)>();
+
+  bool NSNextMapEnumeratorPair(
+    ffi.Pointer<NSMapEnumerator> enumerator,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> key,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> value,
+  ) {
+    return _NSNextMapEnumeratorPair(
+      enumerator,
+      key,
+      value,
+    );
+  }
+
+  late final _NSNextMapEnumeratorPairPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<NSMapEnumerator>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('NSNextMapEnumeratorPair');
+  late final _NSNextMapEnumeratorPair = _NSNextMapEnumeratorPairPtr.asFunction<
+      bool Function(
+          ffi.Pointer<NSMapEnumerator>,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>,
+          ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  void NSEndMapTableEnumeration(
+    ffi.Pointer<NSMapEnumerator> enumerator,
+  ) {
+    return _NSEndMapTableEnumeration(
+      enumerator,
+    );
+  }
+
+  late final _NSEndMapTableEnumerationPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<NSMapEnumerator>)>>(
+      'NSEndMapTableEnumeration');
+  late final _NSEndMapTableEnumeration = _NSEndMapTableEnumerationPtr
+      .asFunction<void Function(ffi.Pointer<NSMapEnumerator>)>();
+
+  int NSCountMapTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSCountMapTable(
+      table,
+    );
+  }
+
+  late final _NSCountMapTablePtr =
+      _lookup<ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ObjCObject>)>>(
+          'NSCountMapTable');
+  late final _NSCountMapTable =
+      _NSCountMapTablePtr.asFunction<int Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSStringFromMapTable(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSStringFromMapTable(
+      table,
+    );
+  }
+
+  late final _NSStringFromMapTablePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSStringFromMapTable');
+  late final _NSStringFromMapTable = _NSStringFromMapTablePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSAllMapTableKeys(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSAllMapTableKeys(
+      table,
+    );
+  }
+
+  late final _NSAllMapTableKeysPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSAllMapTableKeys');
+  late final _NSAllMapTableKeys = _NSAllMapTableKeysPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSAllMapTableValues(
+    ffi.Pointer<ObjCObject> table,
+  ) {
+    return _NSAllMapTableValues(
+      table,
+    );
+  }
+
+  late final _NSAllMapTableValuesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>)>>('NSAllMapTableValues');
+  late final _NSAllMapTableValues = _NSAllMapTableValuesPtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>)>();
+
+  ffi.Pointer<ObjCObject> NSCreateMapTableWithZone(
+    NSMapTableKeyCallBacks keyCallBacks,
+    NSMapTableValueCallBacks valueCallBacks,
+    int capacity,
+    ffi.Pointer<NSZone> zone,
+  ) {
+    return _NSCreateMapTableWithZone(
+      keyCallBacks,
+      valueCallBacks,
+      capacity,
+      zone,
+    );
+  }
+
+  late final _NSCreateMapTableWithZonePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              NSMapTableKeyCallBacks,
+              NSMapTableValueCallBacks,
+              NSUInteger,
+              ffi.Pointer<NSZone>)>>('NSCreateMapTableWithZone');
+  late final _NSCreateMapTableWithZone =
+      _NSCreateMapTableWithZonePtr.asFunction<
+          ffi.Pointer<ObjCObject> Function(NSMapTableKeyCallBacks,
+              NSMapTableValueCallBacks, int, ffi.Pointer<NSZone>)>();
+
+  ffi.Pointer<ObjCObject> NSCreateMapTable(
+    NSMapTableKeyCallBacks keyCallBacks,
+    NSMapTableValueCallBacks valueCallBacks,
+    int capacity,
+  ) {
+    return _NSCreateMapTable(
+      keyCallBacks,
+      valueCallBacks,
+      capacity,
+    );
+  }
+
+  late final _NSCreateMapTablePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(NSMapTableKeyCallBacks,
+              NSMapTableValueCallBacks, NSUInteger)>>('NSCreateMapTable');
+  late final _NSCreateMapTable = _NSCreateMapTablePtr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          NSMapTableKeyCallBacks, NSMapTableValueCallBacks, int)>();
+
+  /// Common map table key callbacks
+  late final ffi.Pointer<NSMapTableKeyCallBacks> _NSIntegerMapKeyCallBacks =
+      _lookup<NSMapTableKeyCallBacks>('NSIntegerMapKeyCallBacks');
+
+  NSMapTableKeyCallBacks get NSIntegerMapKeyCallBacks =>
+      _NSIntegerMapKeyCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableKeyCallBacks>
+      _NSNonOwnedPointerMapKeyCallBacks =
+      _lookup<NSMapTableKeyCallBacks>('NSNonOwnedPointerMapKeyCallBacks');
+
+  NSMapTableKeyCallBacks get NSNonOwnedPointerMapKeyCallBacks =>
+      _NSNonOwnedPointerMapKeyCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableKeyCallBacks>
+      _NSNonOwnedPointerOrNullMapKeyCallBacks =
+      _lookup<NSMapTableKeyCallBacks>('NSNonOwnedPointerOrNullMapKeyCallBacks');
+
+  NSMapTableKeyCallBacks get NSNonOwnedPointerOrNullMapKeyCallBacks =>
+      _NSNonOwnedPointerOrNullMapKeyCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableKeyCallBacks>
+      _NSNonRetainedObjectMapKeyCallBacks =
+      _lookup<NSMapTableKeyCallBacks>('NSNonRetainedObjectMapKeyCallBacks');
+
+  NSMapTableKeyCallBacks get NSNonRetainedObjectMapKeyCallBacks =>
+      _NSNonRetainedObjectMapKeyCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableKeyCallBacks> _NSObjectMapKeyCallBacks =
+      _lookup<NSMapTableKeyCallBacks>('NSObjectMapKeyCallBacks');
+
+  NSMapTableKeyCallBacks get NSObjectMapKeyCallBacks =>
+      _NSObjectMapKeyCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableKeyCallBacks>
+      _NSOwnedPointerMapKeyCallBacks =
+      _lookup<NSMapTableKeyCallBacks>('NSOwnedPointerMapKeyCallBacks');
+
+  NSMapTableKeyCallBacks get NSOwnedPointerMapKeyCallBacks =>
+      _NSOwnedPointerMapKeyCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableKeyCallBacks> _NSIntMapKeyCallBacks =
+      _lookup<NSMapTableKeyCallBacks>('NSIntMapKeyCallBacks');
+
+  NSMapTableKeyCallBacks get NSIntMapKeyCallBacks => _NSIntMapKeyCallBacks.ref;
+
+  /// Common map table value callbacks
+  late final ffi.Pointer<NSMapTableValueCallBacks> _NSIntegerMapValueCallBacks =
+      _lookup<NSMapTableValueCallBacks>('NSIntegerMapValueCallBacks');
+
+  NSMapTableValueCallBacks get NSIntegerMapValueCallBacks =>
+      _NSIntegerMapValueCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableValueCallBacks>
+      _NSNonOwnedPointerMapValueCallBacks =
+      _lookup<NSMapTableValueCallBacks>('NSNonOwnedPointerMapValueCallBacks');
+
+  NSMapTableValueCallBacks get NSNonOwnedPointerMapValueCallBacks =>
+      _NSNonOwnedPointerMapValueCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableValueCallBacks> _NSObjectMapValueCallBacks =
+      _lookup<NSMapTableValueCallBacks>('NSObjectMapValueCallBacks');
+
+  NSMapTableValueCallBacks get NSObjectMapValueCallBacks =>
+      _NSObjectMapValueCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableValueCallBacks>
+      _NSNonRetainedObjectMapValueCallBacks =
+      _lookup<NSMapTableValueCallBacks>('NSNonRetainedObjectMapValueCallBacks');
+
+  NSMapTableValueCallBacks get NSNonRetainedObjectMapValueCallBacks =>
+      _NSNonRetainedObjectMapValueCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableValueCallBacks>
+      _NSOwnedPointerMapValueCallBacks =
+      _lookup<NSMapTableValueCallBacks>('NSOwnedPointerMapValueCallBacks');
+
+  NSMapTableValueCallBacks get NSOwnedPointerMapValueCallBacks =>
+      _NSOwnedPointerMapValueCallBacks.ref;
+
+  late final ffi.Pointer<NSMapTableValueCallBacks> _NSIntMapValueCallBacks =
+      _lookup<NSMapTableValueCallBacks>('NSIntMapValueCallBacks');
+
+  NSMapTableValueCallBacks get NSIntMapValueCallBacks =>
+      _NSIntMapValueCallBacks.ref;
+
+  late final _class_NSMorphology1 = _getClass1("NSMorphology");
+  late final _sel_grammaticalGender1 = _registerName1("grammaticalGender");
+  int _objc_msgSend_705(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_705(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_705Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_705 = __objc_msgSend_705Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setGrammaticalGender_1 =
+      _registerName1("setGrammaticalGender:");
+  void _objc_msgSend_706(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_706(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_706Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_706 = __objc_msgSend_706Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_partOfSpeech1 = _registerName1("partOfSpeech");
+  int _objc_msgSend_707(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_707(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_707Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_707 = __objc_msgSend_707Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setPartOfSpeech_1 = _registerName1("setPartOfSpeech:");
+  void _objc_msgSend_708(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_708(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_708Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_708 = __objc_msgSend_708Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_number1 = _registerName1("number");
+  int _objc_msgSend_709(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_709(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_709Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_709 = __objc_msgSend_709Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setNumber_1 = _registerName1("setNumber:");
+  void _objc_msgSend_710(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_710(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_710Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_710 = __objc_msgSend_710Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _class_NSMorphologyCustomPronoun1 =
+      _getClass1("NSMorphologyCustomPronoun");
+  late final _sel_isSupportedForLanguage_1 =
+      _registerName1("isSupportedForLanguage:");
+  late final _sel_requiredKeysForLanguage_1 =
+      _registerName1("requiredKeysForLanguage:");
+  late final _sel_subjectForm1 = _registerName1("subjectForm");
+  late final _sel_setSubjectForm_1 = _registerName1("setSubjectForm:");
+  late final _sel_objectForm1 = _registerName1("objectForm");
+  late final _sel_setObjectForm_1 = _registerName1("setObjectForm:");
+  late final _sel_possessiveForm1 = _registerName1("possessiveForm");
+  late final _sel_setPossessiveForm_1 = _registerName1("setPossessiveForm:");
+  late final _sel_possessiveAdjectiveForm1 =
+      _registerName1("possessiveAdjectiveForm");
+  late final _sel_setPossessiveAdjectiveForm_1 =
+      _registerName1("setPossessiveAdjectiveForm:");
+  late final _sel_reflexiveForm1 = _registerName1("reflexiveForm");
+  late final _sel_setReflexiveForm_1 = _registerName1("setReflexiveForm:");
+  late final _sel_customPronounForLanguage_1 =
+      _registerName1("customPronounForLanguage:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_711(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> language,
+  ) {
+    return __objc_msgSend_711(
+      obj,
+      sel,
+      language,
+    );
+  }
+
+  late final __objc_msgSend_711Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_711 = __objc_msgSend_711Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setCustomPronoun_forLanguage_error_1 =
+      _registerName1("setCustomPronoun:forLanguage:error:");
+  bool _objc_msgSend_712(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> features,
+    ffi.Pointer<ObjCObject> language,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_712(
+      obj,
+      sel,
+      features,
+      language,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_712Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_712 = __objc_msgSend_712Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_isUnspecified1 = _registerName1("isUnspecified");
+  late final _sel_userMorphology1 = _registerName1("userMorphology");
+  ffi.Pointer<ObjCObject> _objc_msgSend_713(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_713(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_713Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_713 = __objc_msgSend_713Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final ffi.Pointer<NSExceptionName>
+      _NSInvocationOperationVoidResultException =
+      _lookup<NSExceptionName>('NSInvocationOperationVoidResultException');
+
+  NSExceptionName get NSInvocationOperationVoidResultException =>
+      _NSInvocationOperationVoidResultException.value;
+
+  set NSInvocationOperationVoidResultException(NSExceptionName value) =>
+      _NSInvocationOperationVoidResultException.value = value;
+
+  late final ffi.Pointer<NSExceptionName>
+      _NSInvocationOperationCancelledException =
+      _lookup<NSExceptionName>('NSInvocationOperationCancelledException');
+
+  NSExceptionName get NSInvocationOperationCancelledException =>
+      _NSInvocationOperationCancelledException.value;
+
+  set NSInvocationOperationCancelledException(NSExceptionName value) =>
+      _NSInvocationOperationCancelledException.value = value;
+
+  late final ffi.Pointer<NSInteger>
+      _NSOperationQueueDefaultMaxConcurrentOperationCount =
+      _lookup<NSInteger>('NSOperationQueueDefaultMaxConcurrentOperationCount');
+
+  int get NSOperationQueueDefaultMaxConcurrentOperationCount =>
+      _NSOperationQueueDefaultMaxConcurrentOperationCount.value;
+
+  set NSOperationQueueDefaultMaxConcurrentOperationCount(int value) =>
+      _NSOperationQueueDefaultMaxConcurrentOperationCount.value = value;
+
+  late final _class_NSOperationQueue1 = _getClass1("NSOperationQueue");
+  late final _class_NSOperation1 = _getClass1("NSOperation");
+  late final _sel_isConcurrent1 = _registerName1("isConcurrent");
+  late final _sel_isAsynchronous1 = _registerName1("isAsynchronous");
+  late final _sel_isReady1 = _registerName1("isReady");
+  late final _sel_addDependency_1 = _registerName1("addDependency:");
+  void _objc_msgSend_714(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> op,
+  ) {
+    return __objc_msgSend_714(
+      obj,
+      sel,
+      op,
+    );
+  }
+
+  late final __objc_msgSend_714Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_714 = __objc_msgSend_714Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_removeDependency_1 = _registerName1("removeDependency:");
+  late final _sel_dependencies1 = _registerName1("dependencies");
+  late final _sel_queuePriority1 = _registerName1("queuePriority");
+  int _objc_msgSend_715(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_715(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_715Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_715 = __objc_msgSend_715Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setQueuePriority_1 = _registerName1("setQueuePriority:");
+  void _objc_msgSend_716(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_716(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_716Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_716 = __objc_msgSend_716Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_completionBlock1 = _registerName1("completionBlock");
+  late final _sel_setCompletionBlock_1 = _registerName1("setCompletionBlock:");
+  late final _sel_waitUntilFinished1 = _registerName1("waitUntilFinished");
+  late final _sel_addOperation_1 = _registerName1("addOperation:");
+  late final _sel_addOperations_waitUntilFinished_1 =
+      _registerName1("addOperations:waitUntilFinished:");
+  void _objc_msgSend_717(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> ops,
+    bool wait,
+  ) {
+    return __objc_msgSend_717(
+      obj,
+      sel,
+      ops,
+      wait,
+    );
+  }
+
+  late final __objc_msgSend_717Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_717 = __objc_msgSend_717Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_addOperationWithBlock_1 =
+      _registerName1("addOperationWithBlock:");
+  late final _sel_addBarrierBlock_1 = _registerName1("addBarrierBlock:");
+  late final _sel_maxConcurrentOperationCount1 =
+      _registerName1("maxConcurrentOperationCount");
+  late final _sel_setMaxConcurrentOperationCount_1 =
+      _registerName1("setMaxConcurrentOperationCount:");
+  late final _sel_isSuspended1 = _registerName1("isSuspended");
+  late final _sel_setSuspended_1 = _registerName1("setSuspended:");
+  late final _sel_underlyingQueue1 = _registerName1("underlyingQueue");
+  dispatch_queue_t _objc_msgSend_718(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_718(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_718Ptr = _lookup<
+      ffi.NativeFunction<
+          dispatch_queue_t Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_718 = __objc_msgSend_718Ptr.asFunction<
+      dispatch_queue_t Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setUnderlyingQueue_1 = _registerName1("setUnderlyingQueue:");
+  void _objc_msgSend_719(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    dispatch_queue_t value,
+  ) {
+    return __objc_msgSend_719(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_719Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              dispatch_queue_t)>>('objc_msgSend');
+  late final __objc_msgSend_719 = __objc_msgSend_719Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, dispatch_queue_t)>();
+
+  late final _sel_cancelAllOperations1 = _registerName1("cancelAllOperations");
+  late final _sel_waitUntilAllOperationsAreFinished1 =
+      _registerName1("waitUntilAllOperationsAreFinished");
+  late final _sel_currentQueue1 = _registerName1("currentQueue");
+  ffi.Pointer<ObjCObject> _objc_msgSend_720(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_720(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_720Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_720 = __objc_msgSend_720Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_mainQueue1 = _registerName1("mainQueue");
+  late final _sel_operations1 = _registerName1("operations");
+  late final _sel_operationCount1 = _registerName1("operationCount");
+  late final _class_NSPointerArray1 = _getClass1("NSPointerArray");
+  late final _sel_initWithPointerFunctions_1 =
+      _registerName1("initWithPointerFunctions:");
+  instancetype _objc_msgSend_721(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> functions,
+  ) {
+    return __objc_msgSend_721(
+      obj,
+      sel,
+      functions,
+    );
+  }
+
+  late final __objc_msgSend_721Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_721 = __objc_msgSend_721Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_pointerArrayWithOptions_1 =
+      _registerName1("pointerArrayWithOptions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_722(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+  ) {
+    return __objc_msgSend_722(
+      obj,
+      sel,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_722Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_722 = __objc_msgSend_722Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_pointerArrayWithPointerFunctions_1 =
+      _registerName1("pointerArrayWithPointerFunctions:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_723(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> functions,
+  ) {
+    return __objc_msgSend_723(
+      obj,
+      sel,
+      functions,
+    );
+  }
+
+  late final __objc_msgSend_723Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_723 = __objc_msgSend_723Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_pointerAtIndex_1 = _registerName1("pointerAtIndex:");
+  ffi.Pointer<ffi.Void> _objc_msgSend_724(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+  ) {
+    return __objc_msgSend_724(
+      obj,
+      sel,
+      index,
+    );
+  }
+
+  late final __objc_msgSend_724Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSUInteger)>>('objc_msgSend');
+  late final __objc_msgSend_724 = __objc_msgSend_724Ptr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_addPointer_1 = _registerName1("addPointer:");
+  late final _sel_removePointerAtIndex_1 =
+      _registerName1("removePointerAtIndex:");
+  late final _sel_insertPointer_atIndex_1 =
+      _registerName1("insertPointer:atIndex:");
+  late final _sel_replacePointerAtIndex_withPointer_1 =
+      _registerName1("replacePointerAtIndex:withPointer:");
+  void _objc_msgSend_725(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int index,
+    ffi.Pointer<ffi.Void> item,
+  ) {
+    return __objc_msgSend_725(
+      obj,
+      sel,
+      index,
+      item,
+    );
+  }
+
+  late final __objc_msgSend_725Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSUInteger, ffi.Pointer<ffi.Void>)>>('objc_msgSend');
+  late final __objc_msgSend_725 = __objc_msgSend_725Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ffi.Void>)>();
+
+  late final _sel_compact1 = _registerName1("compact");
+  late final _sel_setCount_1 = _registerName1("setCount:");
+  late final _sel_strongObjectsPointerArray1 =
+      _registerName1("strongObjectsPointerArray");
+  ffi.Pointer<ObjCObject> _objc_msgSend_726(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_726(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_726Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_726 = __objc_msgSend_726Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_weakObjectsPointerArray1 =
+      _registerName1("weakObjectsPointerArray");
+  late final ffi.Pointer<NSNotificationName>
+      _NSPortDidBecomeInvalidNotification =
+      _lookup<NSNotificationName>('NSPortDidBecomeInvalidNotification');
+
+  NSNotificationName get NSPortDidBecomeInvalidNotification =>
+      _NSPortDidBecomeInvalidNotification.value;
+
+  set NSPortDidBecomeInvalidNotification(NSNotificationName value) =>
+      _NSPortDidBecomeInvalidNotification.value = value;
+
+  late final _class_NSProcessInfo1 = _getClass1("NSProcessInfo");
+  late final _sel_processInfo1 = _registerName1("processInfo");
+  ffi.Pointer<ObjCObject> _objc_msgSend_727(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_727(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_727Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_727 = __objc_msgSend_727Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_environment1 = _registerName1("environment");
+  late final _sel_arguments1 = _registerName1("arguments");
+  late final _sel_hostName1 = _registerName1("hostName");
+  late final _sel_processName1 = _registerName1("processName");
+  late final _sel_setProcessName_1 = _registerName1("setProcessName:");
+  late final _sel_processIdentifier1 = _registerName1("processIdentifier");
+  late final _sel_globallyUniqueString1 =
+      _registerName1("globallyUniqueString");
+  late final _sel_operatingSystem1 = _registerName1("operatingSystem");
+  late final _sel_operatingSystemName1 = _registerName1("operatingSystemName");
+  late final _sel_operatingSystemVersionString1 =
+      _registerName1("operatingSystemVersionString");
+  late final _sel_operatingSystemVersion1 =
+      _registerName1("operatingSystemVersion");
+  void _objc_msgSend_728(
+    ffi.Pointer<NSOperatingSystemVersion> stret,
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_728(
+      stret,
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_728Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<NSOperatingSystemVersion>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>)>>('objc_msgSend_stret');
+  late final __objc_msgSend_728 = __objc_msgSend_728Ptr.asFunction<
+      void Function(ffi.Pointer<NSOperatingSystemVersion>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_processorCount1 = _registerName1("processorCount");
+  late final _sel_activeProcessorCount1 =
+      _registerName1("activeProcessorCount");
+  late final _sel_physicalMemory1 = _registerName1("physicalMemory");
+  late final _sel_isOperatingSystemAtLeastVersion_1 =
+      _registerName1("isOperatingSystemAtLeastVersion:");
+  bool _objc_msgSend_729(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSOperatingSystemVersion version,
+  ) {
+    return __objc_msgSend_729(
+      obj,
+      sel,
+      version,
+    );
+  }
+
+  late final __objc_msgSend_729Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              NSOperatingSystemVersion)>>('objc_msgSend');
+  late final __objc_msgSend_729 = __objc_msgSend_729Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          NSOperatingSystemVersion)>();
+
+  late final _sel_systemUptime1 = _registerName1("systemUptime");
+  late final _sel_disableSuddenTermination1 =
+      _registerName1("disableSuddenTermination");
+  late final _sel_enableSuddenTermination1 =
+      _registerName1("enableSuddenTermination");
+  late final _sel_disableAutomaticTermination_1 =
+      _registerName1("disableAutomaticTermination:");
+  late final _sel_enableAutomaticTermination_1 =
+      _registerName1("enableAutomaticTermination:");
+  late final _sel_automaticTerminationSupportEnabled1 =
+      _registerName1("automaticTerminationSupportEnabled");
+  late final _sel_setAutomaticTerminationSupportEnabled_1 =
+      _registerName1("setAutomaticTerminationSupportEnabled:");
+  late final _sel_beginActivityWithOptions_reason_1 =
+      _registerName1("beginActivityWithOptions:reason:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_730(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+    ffi.Pointer<ObjCObject> reason,
+  ) {
+    return __objc_msgSend_730(
+      obj,
+      sel,
+      options,
+      reason,
+    );
+  }
+
+  late final __objc_msgSend_730Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_730 = __objc_msgSend_730Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_endActivity_1 = _registerName1("endActivity:");
+  late final _sel_performActivityWithOptions_reason_usingBlock_1 =
+      _registerName1("performActivityWithOptions:reason:usingBlock:");
+  void _objc_msgSend_731(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+    ffi.Pointer<ObjCObject> reason,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_731(
+      obj,
+      sel,
+      options,
+      reason,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_731Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Int32,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_731 = __objc_msgSend_731Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_performExpiringActivityWithReason_usingBlock_1 =
+      _registerName1("performExpiringActivityWithReason:usingBlock:");
+  void _objc_msgSend_732(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> reason,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_732(
+      obj,
+      sel,
+      reason,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_732Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_732 = __objc_msgSend_732Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_userName1 = _registerName1("userName");
+  late final _sel_fullUserName1 = _registerName1("fullUserName");
+  late final _sel_thermalState1 = _registerName1("thermalState");
+  int _objc_msgSend_733(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_733(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_733Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_733 = __objc_msgSend_733Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_isLowPowerModeEnabled1 =
+      _registerName1("isLowPowerModeEnabled");
+  late final _sel_isMacCatalystApp1 = _registerName1("isMacCatalystApp");
+  late final _sel_isiOSAppOnMac1 = _registerName1("isiOSAppOnMac");
+  late final ffi.Pointer<NSNotificationName>
+      _NSProcessInfoThermalStateDidChangeNotification =
+      _lookup<NSNotificationName>(
+          'NSProcessInfoThermalStateDidChangeNotification');
+
+  NSNotificationName get NSProcessInfoThermalStateDidChangeNotification =>
+      _NSProcessInfoThermalStateDidChangeNotification.value;
+
+  set NSProcessInfoThermalStateDidChangeNotification(
+          NSNotificationName value) =>
+      _NSProcessInfoThermalStateDidChangeNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSProcessInfoPowerStateDidChangeNotification =
+      _lookup<NSNotificationName>(
+          'NSProcessInfoPowerStateDidChangeNotification');
+
+  NSNotificationName get NSProcessInfoPowerStateDidChangeNotification =>
+      _NSProcessInfoPowerStateDidChangeNotification.value;
+
+  set NSProcessInfoPowerStateDidChangeNotification(NSNotificationName value) =>
+      _NSProcessInfoPowerStateDidChangeNotification.value = value;
+
+  late final _class_NSTextCheckingResult1 = _getClass1("NSTextCheckingResult");
+  late final _sel_resultType1 = _registerName1("resultType");
+  int _objc_msgSend_734(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_734(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_734Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_734 = __objc_msgSend_734Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_range1 = _registerName1("range");
+  late final _sel_orthography1 = _registerName1("orthography");
+  ffi.Pointer<ObjCObject> _objc_msgSend_735(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_735(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_735Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_735 = __objc_msgSend_735Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_grammarDetails1 = _registerName1("grammarDetails");
+  late final _sel_duration1 = _registerName1("duration");
+  late final _sel_components1 = _registerName1("components");
+  late final _sel_replacementString1 = _registerName1("replacementString");
+  late final _sel_alternativeStrings1 = _registerName1("alternativeStrings");
+  late final _class_NSRegularExpression1 = _getClass1("NSRegularExpression");
+  late final _sel_regularExpressionWithPattern_options_error_1 =
+      _registerName1("regularExpressionWithPattern:options:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_736(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> pattern,
+    int options,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_736(
+      obj,
+      sel,
+      pattern,
+      options,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_736Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_736 = __objc_msgSend_736Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_initWithPattern_options_error_1 =
+      _registerName1("initWithPattern:options:error:");
+  instancetype _objc_msgSend_737(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> pattern,
+    int options,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_737(
+      obj,
+      sel,
+      pattern,
+      options,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_737Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_737 = __objc_msgSend_737Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_pattern1 = _registerName1("pattern");
+  late final _sel_options1 = _registerName1("options");
+  int _objc_msgSend_738(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_738(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_738Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_738 = __objc_msgSend_738Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_numberOfCaptureGroups1 =
+      _registerName1("numberOfCaptureGroups");
+  late final _sel_escapedPatternForString_1 =
+      _registerName1("escapedPatternForString:");
+  late final _sel_enumerateMatchesInString_options_range_usingBlock_1 =
+      _registerName1("enumerateMatchesInString:options:range:usingBlock:");
+  void _objc_msgSend_739(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int options,
+    NSRange range,
+    ffi.Pointer<_ObjCBlock> block,
+  ) {
+    return __objc_msgSend_739(
+      obj,
+      sel,
+      string,
+      options,
+      range,
+      block,
+    );
+  }
+
+  late final __objc_msgSend_739Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_739 = __objc_msgSend_739Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_matchesInString_options_range_1 =
+      _registerName1("matchesInString:options:range:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_740(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int options,
+    NSRange range,
+  ) {
+    return __objc_msgSend_740(
+      obj,
+      sel,
+      string,
+      options,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_740Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_740 = __objc_msgSend_740Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_numberOfMatchesInString_options_range_1 =
+      _registerName1("numberOfMatchesInString:options:range:");
+  int _objc_msgSend_741(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int options,
+    NSRange range,
+  ) {
+    return __objc_msgSend_741(
+      obj,
+      sel,
+      string,
+      options,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_741Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_741 = __objc_msgSend_741Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_firstMatchInString_options_range_1 =
+      _registerName1("firstMatchInString:options:range:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_742(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int options,
+    NSRange range,
+  ) {
+    return __objc_msgSend_742(
+      obj,
+      sel,
+      string,
+      options,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_742Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_742 = __objc_msgSend_742Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_rangeOfFirstMatchInString_options_range_1 =
+      _registerName1("rangeOfFirstMatchInString:options:range:");
+  NSRange _objc_msgSend_743(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int options,
+    NSRange range,
+  ) {
+    return __objc_msgSend_743(
+      obj,
+      sel,
+      string,
+      options,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_743Ptr = _lookup<
+      ffi.NativeFunction<
+          NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, ffi.Int32, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_743 = __objc_msgSend_743Ptr.asFunction<
+      NSRange Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange)>();
+
+  late final _sel_stringByReplacingMatchesInString_options_range_withTemplate_1 =
+      _registerName1(
+          "stringByReplacingMatchesInString:options:range:withTemplate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_744(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int options,
+    NSRange range,
+    ffi.Pointer<ObjCObject> templ,
+  ) {
+    return __objc_msgSend_744(
+      obj,
+      sel,
+      string,
+      options,
+      range,
+      templ,
+    );
+  }
+
+  late final __objc_msgSend_744Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_744 = __objc_msgSend_744Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          NSRange,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_replaceMatchesInString_options_range_withTemplate_1 =
+      _registerName1("replaceMatchesInString:options:range:withTemplate:");
+  int _objc_msgSend_745(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> string,
+    int options,
+    NSRange range,
+    ffi.Pointer<ObjCObject> templ,
+  ) {
+    return __objc_msgSend_745(
+      obj,
+      sel,
+      string,
+      options,
+      range,
+      templ,
+    );
+  }
+
+  late final __objc_msgSend_745Ptr = _lookup<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_745 = __objc_msgSend_745Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, int, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_replacementStringForResult_inString_offset_template_1 =
+      _registerName1("replacementStringForResult:inString:offset:template:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_746(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> result,
+    ffi.Pointer<ObjCObject> string,
+    int offset,
+    ffi.Pointer<ObjCObject> templ,
+  ) {
+    return __objc_msgSend_746(
+      obj,
+      sel,
+      result,
+      string,
+      offset,
+      templ,
+    );
+  }
+
+  late final __objc_msgSend_746Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_746 = __objc_msgSend_746Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_escapedTemplateForString_1 =
+      _registerName1("escapedTemplateForString:");
+  late final _sel_regularExpression1 = _registerName1("regularExpression");
+  ffi.Pointer<ObjCObject> _objc_msgSend_747(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_747(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_747Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_747 = __objc_msgSend_747Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_phoneNumber1 = _registerName1("phoneNumber");
+  late final _sel_numberOfRanges1 = _registerName1("numberOfRanges");
+  late final _sel_rangeAtIndex_1 = _registerName1("rangeAtIndex:");
+  late final _sel_rangeWithName_1 = _registerName1("rangeWithName:");
+  late final _sel_resultByAdjustingRangesWithOffset_1 =
+      _registerName1("resultByAdjustingRangesWithOffset:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_748(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int offset,
+  ) {
+    return __objc_msgSend_748(
+      obj,
+      sel,
+      offset,
+    );
+  }
+
+  late final __objc_msgSend_748Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_748 = __objc_msgSend_748Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_addressComponents1 = _registerName1("addressComponents");
+  late final _sel_orthographyCheckingResultWithRange_orthography_1 =
+      _registerName1("orthographyCheckingResultWithRange:orthography:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_749(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> orthography,
+  ) {
+    return __objc_msgSend_749(
+      obj,
+      sel,
+      range,
+      orthography,
+    );
+  }
+
+  late final __objc_msgSend_749Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_749 = __objc_msgSend_749Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_spellCheckingResultWithRange_1 =
+      _registerName1("spellCheckingResultWithRange:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_750(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+  ) {
+    return __objc_msgSend_750(
+      obj,
+      sel,
+      range,
+    );
+  }
+
+  late final __objc_msgSend_750Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, NSRange)>>('objc_msgSend');
+  late final __objc_msgSend_750 = __objc_msgSend_750Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, NSRange)>();
+
+  late final _sel_grammarCheckingResultWithRange_details_1 =
+      _registerName1("grammarCheckingResultWithRange:details:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_751(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> details,
+  ) {
+    return __objc_msgSend_751(
+      obj,
+      sel,
+      range,
+      details,
+    );
+  }
+
+  late final __objc_msgSend_751Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_751 = __objc_msgSend_751Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dateCheckingResultWithRange_date_1 =
+      _registerName1("dateCheckingResultWithRange:date:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_752(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> date,
+  ) {
+    return __objc_msgSend_752(
+      obj,
+      sel,
+      range,
+      date,
+    );
+  }
+
+  late final __objc_msgSend_752Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_752 = __objc_msgSend_752Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dateCheckingResultWithRange_date_timeZone_duration_1 =
+      _registerName1("dateCheckingResultWithRange:date:timeZone:duration:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_753(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> date,
+    ffi.Pointer<ObjCObject> timeZone,
+    double duration,
+  ) {
+    return __objc_msgSend_753(
+      obj,
+      sel,
+      range,
+      date,
+      timeZone,
+      duration,
+    );
+  }
+
+  late final __objc_msgSend_753Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              NSTimeInterval)>>('objc_msgSend');
+  late final __objc_msgSend_753 = __objc_msgSend_753Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSRange,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          double)>();
+
+  late final _sel_addressCheckingResultWithRange_components_1 =
+      _registerName1("addressCheckingResultWithRange:components:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_754(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> components,
+  ) {
+    return __objc_msgSend_754(
+      obj,
+      sel,
+      range,
+      components,
+    );
+  }
+
+  late final __objc_msgSend_754Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_754 = __objc_msgSend_754Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_linkCheckingResultWithRange_URL_1 =
+      _registerName1("linkCheckingResultWithRange:URL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_755(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_755(
+      obj,
+      sel,
+      range,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_755Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_755 = __objc_msgSend_755Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_quoteCheckingResultWithRange_replacementString_1 =
+      _registerName1("quoteCheckingResultWithRange:replacementString:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_756(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> replacementString,
+  ) {
+    return __objc_msgSend_756(
+      obj,
+      sel,
+      range,
+      replacementString,
+    );
+  }
+
+  late final __objc_msgSend_756Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_756 = __objc_msgSend_756Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, NSRange, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dashCheckingResultWithRange_replacementString_1 =
+      _registerName1("dashCheckingResultWithRange:replacementString:");
+  late final _sel_replacementCheckingResultWithRange_replacementString_1 =
+      _registerName1("replacementCheckingResultWithRange:replacementString:");
+  late final _sel_correctionCheckingResultWithRange_replacementString_1 =
+      _registerName1("correctionCheckingResultWithRange:replacementString:");
+  late final _sel_correctionCheckingResultWithRange_replacementString_alternativeStrings_1 =
+      _registerName1(
+          "correctionCheckingResultWithRange:replacementString:alternativeStrings:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_757(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRange range,
+    ffi.Pointer<ObjCObject> replacementString,
+    ffi.Pointer<ObjCObject> alternativeStrings,
+  ) {
+    return __objc_msgSend_757(
+      obj,
+      sel,
+      range,
+      replacementString,
+      alternativeStrings,
+    );
+  }
+
+  late final __objc_msgSend_757Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRange,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_757 = __objc_msgSend_757Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSRange,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_regularExpressionCheckingResultWithRanges_count_regularExpression_1 =
+      _registerName1(
+          "regularExpressionCheckingResultWithRanges:count:regularExpression:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_758(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    NSRangePointer ranges,
+    int count,
+    ffi.Pointer<ObjCObject> regularExpression,
+  ) {
+    return __objc_msgSend_758(
+      obj,
+      sel,
+      ranges,
+      count,
+      regularExpression,
+    );
+  }
+
+  late final __objc_msgSend_758Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSRangePointer,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_758 = __objc_msgSend_758Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          NSRangePointer,
+          int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_phoneNumberCheckingResultWithRange_phoneNumber_1 =
+      _registerName1("phoneNumberCheckingResultWithRange:phoneNumber:");
+  late final _sel_transitInformationCheckingResultWithRange_components_1 =
+      _registerName1("transitInformationCheckingResultWithRange:components:");
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingNameKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingNameKey');
+
+  NSTextCheckingKey get NSTextCheckingNameKey => _NSTextCheckingNameKey.value;
+
+  set NSTextCheckingNameKey(NSTextCheckingKey value) =>
+      _NSTextCheckingNameKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingJobTitleKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingJobTitleKey');
+
+  NSTextCheckingKey get NSTextCheckingJobTitleKey =>
+      _NSTextCheckingJobTitleKey.value;
+
+  set NSTextCheckingJobTitleKey(NSTextCheckingKey value) =>
+      _NSTextCheckingJobTitleKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingOrganizationKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingOrganizationKey');
+
+  NSTextCheckingKey get NSTextCheckingOrganizationKey =>
+      _NSTextCheckingOrganizationKey.value;
+
+  set NSTextCheckingOrganizationKey(NSTextCheckingKey value) =>
+      _NSTextCheckingOrganizationKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingStreetKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingStreetKey');
+
+  NSTextCheckingKey get NSTextCheckingStreetKey =>
+      _NSTextCheckingStreetKey.value;
+
+  set NSTextCheckingStreetKey(NSTextCheckingKey value) =>
+      _NSTextCheckingStreetKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingCityKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingCityKey');
+
+  NSTextCheckingKey get NSTextCheckingCityKey => _NSTextCheckingCityKey.value;
+
+  set NSTextCheckingCityKey(NSTextCheckingKey value) =>
+      _NSTextCheckingCityKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingStateKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingStateKey');
+
+  NSTextCheckingKey get NSTextCheckingStateKey => _NSTextCheckingStateKey.value;
+
+  set NSTextCheckingStateKey(NSTextCheckingKey value) =>
+      _NSTextCheckingStateKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingZIPKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingZIPKey');
+
+  NSTextCheckingKey get NSTextCheckingZIPKey => _NSTextCheckingZIPKey.value;
+
+  set NSTextCheckingZIPKey(NSTextCheckingKey value) =>
+      _NSTextCheckingZIPKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingCountryKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingCountryKey');
+
+  NSTextCheckingKey get NSTextCheckingCountryKey =>
+      _NSTextCheckingCountryKey.value;
+
+  set NSTextCheckingCountryKey(NSTextCheckingKey value) =>
+      _NSTextCheckingCountryKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingPhoneKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingPhoneKey');
+
+  NSTextCheckingKey get NSTextCheckingPhoneKey => _NSTextCheckingPhoneKey.value;
+
+  set NSTextCheckingPhoneKey(NSTextCheckingKey value) =>
+      _NSTextCheckingPhoneKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingAirlineKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingAirlineKey');
+
+  NSTextCheckingKey get NSTextCheckingAirlineKey =>
+      _NSTextCheckingAirlineKey.value;
+
+  set NSTextCheckingAirlineKey(NSTextCheckingKey value) =>
+      _NSTextCheckingAirlineKey.value = value;
+
+  late final ffi.Pointer<NSTextCheckingKey> _NSTextCheckingFlightKey =
+      _lookup<NSTextCheckingKey>('NSTextCheckingFlightKey');
+
+  NSTextCheckingKey get NSTextCheckingFlightKey =>
+      _NSTextCheckingFlightKey.value;
+
+  set NSTextCheckingFlightKey(NSTextCheckingKey value) =>
+      _NSTextCheckingFlightKey.value = value;
+
+  late final ffi.Pointer<NSStreamPropertyKey> _NSStreamSocketSecurityLevelKey =
+      _lookup<NSStreamPropertyKey>('NSStreamSocketSecurityLevelKey');
+
+  NSStreamPropertyKey get NSStreamSocketSecurityLevelKey =>
+      _NSStreamSocketSecurityLevelKey.value;
+
+  set NSStreamSocketSecurityLevelKey(NSStreamPropertyKey value) =>
+      _NSStreamSocketSecurityLevelKey.value = value;
+
+  late final ffi.Pointer<NSStreamSocketSecurityLevel>
+      _NSStreamSocketSecurityLevelNone =
+      _lookup<NSStreamSocketSecurityLevel>('NSStreamSocketSecurityLevelNone');
+
+  NSStreamSocketSecurityLevel get NSStreamSocketSecurityLevelNone =>
+      _NSStreamSocketSecurityLevelNone.value;
+
+  set NSStreamSocketSecurityLevelNone(NSStreamSocketSecurityLevel value) =>
+      _NSStreamSocketSecurityLevelNone.value = value;
+
+  late final ffi.Pointer<NSStreamSocketSecurityLevel>
+      _NSStreamSocketSecurityLevelSSLv2 =
+      _lookup<NSStreamSocketSecurityLevel>('NSStreamSocketSecurityLevelSSLv2');
+
+  NSStreamSocketSecurityLevel get NSStreamSocketSecurityLevelSSLv2 =>
+      _NSStreamSocketSecurityLevelSSLv2.value;
+
+  set NSStreamSocketSecurityLevelSSLv2(NSStreamSocketSecurityLevel value) =>
+      _NSStreamSocketSecurityLevelSSLv2.value = value;
+
+  late final ffi.Pointer<NSStreamSocketSecurityLevel>
+      _NSStreamSocketSecurityLevelSSLv3 =
+      _lookup<NSStreamSocketSecurityLevel>('NSStreamSocketSecurityLevelSSLv3');
+
+  NSStreamSocketSecurityLevel get NSStreamSocketSecurityLevelSSLv3 =>
+      _NSStreamSocketSecurityLevelSSLv3.value;
+
+  set NSStreamSocketSecurityLevelSSLv3(NSStreamSocketSecurityLevel value) =>
+      _NSStreamSocketSecurityLevelSSLv3.value = value;
+
+  late final ffi.Pointer<NSStreamSocketSecurityLevel>
+      _NSStreamSocketSecurityLevelTLSv1 =
+      _lookup<NSStreamSocketSecurityLevel>('NSStreamSocketSecurityLevelTLSv1');
+
+  NSStreamSocketSecurityLevel get NSStreamSocketSecurityLevelTLSv1 =>
+      _NSStreamSocketSecurityLevelTLSv1.value;
+
+  set NSStreamSocketSecurityLevelTLSv1(NSStreamSocketSecurityLevel value) =>
+      _NSStreamSocketSecurityLevelTLSv1.value = value;
+
+  late final ffi.Pointer<NSStreamSocketSecurityLevel>
+      _NSStreamSocketSecurityLevelNegotiatedSSL =
+      _lookup<NSStreamSocketSecurityLevel>(
+          'NSStreamSocketSecurityLevelNegotiatedSSL');
+
+  NSStreamSocketSecurityLevel get NSStreamSocketSecurityLevelNegotiatedSSL =>
+      _NSStreamSocketSecurityLevelNegotiatedSSL.value;
+
+  set NSStreamSocketSecurityLevelNegotiatedSSL(
+          NSStreamSocketSecurityLevel value) =>
+      _NSStreamSocketSecurityLevelNegotiatedSSL.value = value;
+
+  late final ffi.Pointer<NSStreamPropertyKey>
+      _NSStreamSOCKSProxyConfigurationKey =
+      _lookup<NSStreamPropertyKey>('NSStreamSOCKSProxyConfigurationKey');
+
+  NSStreamPropertyKey get NSStreamSOCKSProxyConfigurationKey =>
+      _NSStreamSOCKSProxyConfigurationKey.value;
+
+  set NSStreamSOCKSProxyConfigurationKey(NSStreamPropertyKey value) =>
+      _NSStreamSOCKSProxyConfigurationKey.value = value;
+
+  late final ffi.Pointer<NSStreamSOCKSProxyConfiguration>
+      _NSStreamSOCKSProxyHostKey =
+      _lookup<NSStreamSOCKSProxyConfiguration>('NSStreamSOCKSProxyHostKey');
+
+  NSStreamSOCKSProxyConfiguration get NSStreamSOCKSProxyHostKey =>
+      _NSStreamSOCKSProxyHostKey.value;
+
+  set NSStreamSOCKSProxyHostKey(NSStreamSOCKSProxyConfiguration value) =>
+      _NSStreamSOCKSProxyHostKey.value = value;
+
+  late final ffi.Pointer<NSStreamSOCKSProxyConfiguration>
+      _NSStreamSOCKSProxyPortKey =
+      _lookup<NSStreamSOCKSProxyConfiguration>('NSStreamSOCKSProxyPortKey');
+
+  NSStreamSOCKSProxyConfiguration get NSStreamSOCKSProxyPortKey =>
+      _NSStreamSOCKSProxyPortKey.value;
+
+  set NSStreamSOCKSProxyPortKey(NSStreamSOCKSProxyConfiguration value) =>
+      _NSStreamSOCKSProxyPortKey.value = value;
+
+  late final ffi.Pointer<NSStreamSOCKSProxyConfiguration>
+      _NSStreamSOCKSProxyVersionKey =
+      _lookup<NSStreamSOCKSProxyConfiguration>('NSStreamSOCKSProxyVersionKey');
+
+  NSStreamSOCKSProxyConfiguration get NSStreamSOCKSProxyVersionKey =>
+      _NSStreamSOCKSProxyVersionKey.value;
+
+  set NSStreamSOCKSProxyVersionKey(NSStreamSOCKSProxyConfiguration value) =>
+      _NSStreamSOCKSProxyVersionKey.value = value;
+
+  late final ffi.Pointer<NSStreamSOCKSProxyConfiguration>
+      _NSStreamSOCKSProxyUserKey =
+      _lookup<NSStreamSOCKSProxyConfiguration>('NSStreamSOCKSProxyUserKey');
+
+  NSStreamSOCKSProxyConfiguration get NSStreamSOCKSProxyUserKey =>
+      _NSStreamSOCKSProxyUserKey.value;
+
+  set NSStreamSOCKSProxyUserKey(NSStreamSOCKSProxyConfiguration value) =>
+      _NSStreamSOCKSProxyUserKey.value = value;
+
+  late final ffi.Pointer<NSStreamSOCKSProxyConfiguration>
+      _NSStreamSOCKSProxyPasswordKey =
+      _lookup<NSStreamSOCKSProxyConfiguration>('NSStreamSOCKSProxyPasswordKey');
+
+  NSStreamSOCKSProxyConfiguration get NSStreamSOCKSProxyPasswordKey =>
+      _NSStreamSOCKSProxyPasswordKey.value;
+
+  set NSStreamSOCKSProxyPasswordKey(NSStreamSOCKSProxyConfiguration value) =>
+      _NSStreamSOCKSProxyPasswordKey.value = value;
+
+  late final ffi.Pointer<NSStreamSOCKSProxyVersion>
+      _NSStreamSOCKSProxyVersion4 =
+      _lookup<NSStreamSOCKSProxyVersion>('NSStreamSOCKSProxyVersion4');
+
+  NSStreamSOCKSProxyVersion get NSStreamSOCKSProxyVersion4 =>
+      _NSStreamSOCKSProxyVersion4.value;
+
+  set NSStreamSOCKSProxyVersion4(NSStreamSOCKSProxyVersion value) =>
+      _NSStreamSOCKSProxyVersion4.value = value;
+
+  late final ffi.Pointer<NSStreamSOCKSProxyVersion>
+      _NSStreamSOCKSProxyVersion5 =
+      _lookup<NSStreamSOCKSProxyVersion>('NSStreamSOCKSProxyVersion5');
+
+  NSStreamSOCKSProxyVersion get NSStreamSOCKSProxyVersion5 =>
+      _NSStreamSOCKSProxyVersion5.value;
+
+  set NSStreamSOCKSProxyVersion5(NSStreamSOCKSProxyVersion value) =>
+      _NSStreamSOCKSProxyVersion5.value = value;
+
+  late final ffi.Pointer<NSStreamPropertyKey>
+      _NSStreamDataWrittenToMemoryStreamKey =
+      _lookup<NSStreamPropertyKey>('NSStreamDataWrittenToMemoryStreamKey');
+
+  NSStreamPropertyKey get NSStreamDataWrittenToMemoryStreamKey =>
+      _NSStreamDataWrittenToMemoryStreamKey.value;
+
+  set NSStreamDataWrittenToMemoryStreamKey(NSStreamPropertyKey value) =>
+      _NSStreamDataWrittenToMemoryStreamKey.value = value;
+
+  late final ffi.Pointer<NSStreamPropertyKey> _NSStreamFileCurrentOffsetKey =
+      _lookup<NSStreamPropertyKey>('NSStreamFileCurrentOffsetKey');
+
+  NSStreamPropertyKey get NSStreamFileCurrentOffsetKey =>
+      _NSStreamFileCurrentOffsetKey.value;
+
+  set NSStreamFileCurrentOffsetKey(NSStreamPropertyKey value) =>
+      _NSStreamFileCurrentOffsetKey.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSStreamSocketSSLErrorDomain =
+      _lookup<NSErrorDomain>('NSStreamSocketSSLErrorDomain');
+
+  NSErrorDomain get NSStreamSocketSSLErrorDomain =>
+      _NSStreamSocketSSLErrorDomain.value;
+
+  set NSStreamSocketSSLErrorDomain(NSErrorDomain value) =>
+      _NSStreamSocketSSLErrorDomain.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSStreamSOCKSErrorDomain =
+      _lookup<NSErrorDomain>('NSStreamSOCKSErrorDomain');
+
+  NSErrorDomain get NSStreamSOCKSErrorDomain => _NSStreamSOCKSErrorDomain.value;
+
+  set NSStreamSOCKSErrorDomain(NSErrorDomain value) =>
+      _NSStreamSOCKSErrorDomain.value = value;
+
+  late final ffi.Pointer<NSStreamPropertyKey> _NSStreamNetworkServiceType =
+      _lookup<NSStreamPropertyKey>('NSStreamNetworkServiceType');
+
+  NSStreamPropertyKey get NSStreamNetworkServiceType =>
+      _NSStreamNetworkServiceType.value;
+
+  set NSStreamNetworkServiceType(NSStreamPropertyKey value) =>
+      _NSStreamNetworkServiceType.value = value;
+
+  late final ffi.Pointer<NSStreamNetworkServiceTypeValue>
+      _NSStreamNetworkServiceTypeVoIP =
+      _lookup<NSStreamNetworkServiceTypeValue>(
+          'NSStreamNetworkServiceTypeVoIP');
+
+  NSStreamNetworkServiceTypeValue get NSStreamNetworkServiceTypeVoIP =>
+      _NSStreamNetworkServiceTypeVoIP.value;
+
+  set NSStreamNetworkServiceTypeVoIP(NSStreamNetworkServiceTypeValue value) =>
+      _NSStreamNetworkServiceTypeVoIP.value = value;
+
+  late final ffi.Pointer<NSStreamNetworkServiceTypeValue>
+      _NSStreamNetworkServiceTypeVideo =
+      _lookup<NSStreamNetworkServiceTypeValue>(
+          'NSStreamNetworkServiceTypeVideo');
+
+  NSStreamNetworkServiceTypeValue get NSStreamNetworkServiceTypeVideo =>
+      _NSStreamNetworkServiceTypeVideo.value;
+
+  set NSStreamNetworkServiceTypeVideo(NSStreamNetworkServiceTypeValue value) =>
+      _NSStreamNetworkServiceTypeVideo.value = value;
+
+  late final ffi.Pointer<NSStreamNetworkServiceTypeValue>
+      _NSStreamNetworkServiceTypeBackground =
+      _lookup<NSStreamNetworkServiceTypeValue>(
+          'NSStreamNetworkServiceTypeBackground');
+
+  NSStreamNetworkServiceTypeValue get NSStreamNetworkServiceTypeBackground =>
+      _NSStreamNetworkServiceTypeBackground.value;
+
+  set NSStreamNetworkServiceTypeBackground(
+          NSStreamNetworkServiceTypeValue value) =>
+      _NSStreamNetworkServiceTypeBackground.value = value;
+
+  late final ffi.Pointer<NSStreamNetworkServiceTypeValue>
+      _NSStreamNetworkServiceTypeVoice =
+      _lookup<NSStreamNetworkServiceTypeValue>(
+          'NSStreamNetworkServiceTypeVoice');
+
+  NSStreamNetworkServiceTypeValue get NSStreamNetworkServiceTypeVoice =>
+      _NSStreamNetworkServiceTypeVoice.value;
+
+  set NSStreamNetworkServiceTypeVoice(NSStreamNetworkServiceTypeValue value) =>
+      _NSStreamNetworkServiceTypeVoice.value = value;
+
+  late final ffi.Pointer<NSStreamNetworkServiceTypeValue>
+      _NSStreamNetworkServiceTypeCallSignaling =
+      _lookup<NSStreamNetworkServiceTypeValue>(
+          'NSStreamNetworkServiceTypeCallSignaling');
+
+  NSStreamNetworkServiceTypeValue get NSStreamNetworkServiceTypeCallSignaling =>
+      _NSStreamNetworkServiceTypeCallSignaling.value;
+
+  set NSStreamNetworkServiceTypeCallSignaling(
+          NSStreamNetworkServiceTypeValue value) =>
+      _NSStreamNetworkServiceTypeCallSignaling.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSWillBecomeMultiThreadedNotification =
+      _lookup<NSNotificationName>('NSWillBecomeMultiThreadedNotification');
+
+  NSNotificationName get NSWillBecomeMultiThreadedNotification =>
+      _NSWillBecomeMultiThreadedNotification.value;
+
+  set NSWillBecomeMultiThreadedNotification(NSNotificationName value) =>
+      _NSWillBecomeMultiThreadedNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSDidBecomeSingleThreadedNotification =
+      _lookup<NSNotificationName>('NSDidBecomeSingleThreadedNotification');
+
+  NSNotificationName get NSDidBecomeSingleThreadedNotification =>
+      _NSDidBecomeSingleThreadedNotification.value;
+
+  set NSDidBecomeSingleThreadedNotification(NSNotificationName value) =>
+      _NSDidBecomeSingleThreadedNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName> _NSThreadWillExitNotification =
+      _lookup<NSNotificationName>('NSThreadWillExitNotification');
+
+  NSNotificationName get NSThreadWillExitNotification =>
+      _NSThreadWillExitNotification.value;
+
+  set NSThreadWillExitNotification(NSNotificationName value) =>
+      _NSThreadWillExitNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSSystemTimeZoneDidChangeNotification =
+      _lookup<NSNotificationName>('NSSystemTimeZoneDidChangeNotification');
+
+  NSNotificationName get NSSystemTimeZoneDidChangeNotification =>
+      _NSSystemTimeZoneDidChangeNotification.value;
+
+  set NSSystemTimeZoneDidChangeNotification(NSNotificationName value) =>
+      _NSSystemTimeZoneDidChangeNotification.value = value;
+
+  late final _class_NSURLCache1 = _getClass1("NSURLCache");
+  late final _sel_sharedURLCache1 = _registerName1("sharedURLCache");
+  ffi.Pointer<ObjCObject> _objc_msgSend_759(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_759(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_759Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_759 = __objc_msgSend_759Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setSharedURLCache_1 = _registerName1("setSharedURLCache:");
+  void _objc_msgSend_760(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_760(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_760Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_760 = __objc_msgSend_760Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithMemoryCapacity_diskCapacity_diskPath_1 =
+      _registerName1("initWithMemoryCapacity:diskCapacity:diskPath:");
+  instancetype _objc_msgSend_761(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int memoryCapacity,
+    int diskCapacity,
+    ffi.Pointer<ObjCObject> path,
+  ) {
+    return __objc_msgSend_761(
+      obj,
+      sel,
+      memoryCapacity,
+      diskCapacity,
+      path,
+    );
+  }
+
+  late final __objc_msgSend_761Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_761 = __objc_msgSend_761Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          int, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithMemoryCapacity_diskCapacity_directoryURL_1 =
+      _registerName1("initWithMemoryCapacity:diskCapacity:directoryURL:");
+  instancetype _objc_msgSend_762(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int memoryCapacity,
+    int diskCapacity,
+    ffi.Pointer<ObjCObject> directoryURL,
+  ) {
+    return __objc_msgSend_762(
+      obj,
+      sel,
+      memoryCapacity,
+      diskCapacity,
+      directoryURL,
+    );
+  }
+
+  late final __objc_msgSend_762Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              NSUInteger,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_762 = __objc_msgSend_762Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          int, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSCachedURLResponse1 = _getClass1("NSCachedURLResponse");
+  late final _sel_initWithResponse_data_1 =
+      _registerName1("initWithResponse:data:");
+  instancetype _objc_msgSend_763(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> response,
+    ffi.Pointer<ObjCObject> data,
+  ) {
+    return __objc_msgSend_763(
+      obj,
+      sel,
+      response,
+      data,
+    );
+  }
+
+  late final __objc_msgSend_763Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_763 = __objc_msgSend_763Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithResponse_data_userInfo_storagePolicy_1 =
+      _registerName1("initWithResponse:data:userInfo:storagePolicy:");
+  instancetype _objc_msgSend_764(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> response,
+    ffi.Pointer<ObjCObject> data,
+    ffi.Pointer<ObjCObject> userInfo,
+    int storagePolicy,
+  ) {
+    return __objc_msgSend_764(
+      obj,
+      sel,
+      response,
+      data,
+      userInfo,
+      storagePolicy,
+    );
+  }
+
+  late final __objc_msgSend_764Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_764 = __objc_msgSend_764Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_storagePolicy1 = _registerName1("storagePolicy");
+  int _objc_msgSend_765(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_765(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_765Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_765 = __objc_msgSend_765Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_cachedResponseForRequest_1 =
+      _registerName1("cachedResponseForRequest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_766(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_766(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_766Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_766 = __objc_msgSend_766Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_storeCachedResponse_forRequest_1 =
+      _registerName1("storeCachedResponse:forRequest:");
+  void _objc_msgSend_767(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> cachedResponse,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_767(
+      obj,
+      sel,
+      cachedResponse,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_767Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_767 = __objc_msgSend_767Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_removeCachedResponseForRequest_1 =
+      _registerName1("removeCachedResponseForRequest:");
+  void _objc_msgSend_768(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_768(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_768Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_768 = __objc_msgSend_768Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_removeAllCachedResponses1 =
+      _registerName1("removeAllCachedResponses");
+  late final _sel_removeCachedResponsesSinceDate_1 =
+      _registerName1("removeCachedResponsesSinceDate:");
+  late final _sel_memoryCapacity1 = _registerName1("memoryCapacity");
+  late final _sel_setMemoryCapacity_1 = _registerName1("setMemoryCapacity:");
+  late final _sel_diskCapacity1 = _registerName1("diskCapacity");
+  late final _sel_setDiskCapacity_1 = _registerName1("setDiskCapacity:");
+  late final _sel_currentMemoryUsage1 = _registerName1("currentMemoryUsage");
+  late final _sel_currentDiskUsage1 = _registerName1("currentDiskUsage");
+  late final _class_NSURLSessionDataTask1 = _getClass1("NSURLSessionDataTask");
+  late final _sel_storeCachedResponse_forDataTask_1 =
+      _registerName1("storeCachedResponse:forDataTask:");
+  void _objc_msgSend_769(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> cachedResponse,
+    ffi.Pointer<ObjCObject> dataTask,
+  ) {
+    return __objc_msgSend_769(
+      obj,
+      sel,
+      cachedResponse,
+      dataTask,
+    );
+  }
+
+  late final __objc_msgSend_769Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_769 = __objc_msgSend_769Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_getCachedResponseForDataTask_completionHandler_1 =
+      _registerName1("getCachedResponseForDataTask:completionHandler:");
+  void _objc_msgSend_770(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> dataTask,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_770(
+      obj,
+      sel,
+      dataTask,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_770Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_770 = __objc_msgSend_770Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_removeCachedResponseForDataTask_1 =
+      _registerName1("removeCachedResponseForDataTask:");
+  void _objc_msgSend_771(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> dataTask,
+  ) {
+    return __objc_msgSend_771(
+      obj,
+      sel,
+      dataTask,
+    );
+  }
+
+  late final __objc_msgSend_771Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_771 = __objc_msgSend_771Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSURLConnection1 = _getClass1("NSURLConnection");
+  late final _sel_initWithRequest_delegate_startImmediately_1 =
+      _registerName1("initWithRequest:delegate:startImmediately:");
+  instancetype _objc_msgSend_772(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> delegate,
+    bool startImmediately,
+  ) {
+    return __objc_msgSend_772(
+      obj,
+      sel,
+      request,
+      delegate,
+      startImmediately,
+    );
+  }
+
+  late final __objc_msgSend_772Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Bool)>>('objc_msgSend');
+  late final __objc_msgSend_772 = __objc_msgSend_772Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>, bool)>();
+
+  late final _sel_initWithRequest_delegate_1 =
+      _registerName1("initWithRequest:delegate:");
+  instancetype _objc_msgSend_773(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> delegate,
+  ) {
+    return __objc_msgSend_773(
+      obj,
+      sel,
+      request,
+      delegate,
+    );
+  }
+
+  late final __objc_msgSend_773Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_773 = __objc_msgSend_773Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_connectionWithRequest_delegate_1 =
+      _registerName1("connectionWithRequest:delegate:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_774(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> delegate,
+  ) {
+    return __objc_msgSend_774(
+      obj,
+      sel,
+      request,
+      delegate,
+    );
+  }
+
+  late final __objc_msgSend_774Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_774 = __objc_msgSend_774Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_unscheduleFromRunLoop_forMode_1 =
+      _registerName1("unscheduleFromRunLoop:forMode:");
+  late final _sel_setDelegateQueue_1 = _registerName1("setDelegateQueue:");
+  void _objc_msgSend_775(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> queue,
+  ) {
+    return __objc_msgSend_775(
+      obj,
+      sel,
+      queue,
+    );
+  }
+
+  late final __objc_msgSend_775Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_775 = __objc_msgSend_775Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_canHandleRequest_1 = _registerName1("canHandleRequest:");
+  bool _objc_msgSend_776(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_776(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_776Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_776 = __objc_msgSend_776Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_sendSynchronousRequest_returningResponse_error_1 =
+      _registerName1("sendSynchronousRequest:returningResponse:error:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_777(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> response,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> error,
+  ) {
+    return __objc_msgSend_777(
+      obj,
+      sel,
+      request,
+      response,
+      error,
+    );
+  }
+
+  late final __objc_msgSend_777Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_777 = __objc_msgSend_777Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_sendAsynchronousRequest_queue_completionHandler_1 =
+      _registerName1("sendAsynchronousRequest:queue:completionHandler:");
+  void _objc_msgSend_778(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> queue,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return __objc_msgSend_778(
+      obj,
+      sel,
+      request,
+      queue,
+      handler,
+    );
+  }
+
+  late final __objc_msgSend_778Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_778 = __objc_msgSend_778Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function SecCopyErrorMessageString
+  /// @abstract Returns a string describing the specified error result code.
+  /// @param status An error result code of type OSStatus or CSSM_RETURN, as returned by a Security or CSSM function.
+  /// @reserved Reserved for future use. Your code should pass NULL in this parameter.
+  /// @result A reference to an error string, or NULL if no error string is available for the specified result code. Your code must release this reference by calling the CFRelease function.
+  CFStringRef SecCopyErrorMessageString(
+    int status,
+    ffi.Pointer<ffi.Void> reserved,
+  ) {
+    return _SecCopyErrorMessageString(
+      status,
+      reserved,
+    );
+  }
+
+  late final _SecCopyErrorMessageStringPtr = _lookup<
+      ffi.NativeFunction<
+          CFStringRef Function(
+              OSStatus, ffi.Pointer<ffi.Void>)>>('SecCopyErrorMessageString');
+  late final _SecCopyErrorMessageString = _SecCopyErrorMessageStringPtr
+      .asFunction<CFStringRef Function(int, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function SecCertificateGetTypeID
+  /// @abstract Returns the type identifier of SecCertificate instances.
+  /// @result The CFTypeID of SecCertificate instances.
+  int SecCertificateGetTypeID() {
+    return _SecCertificateGetTypeID();
+  }
+
+  late final _SecCertificateGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'SecCertificateGetTypeID');
+  late final _SecCertificateGetTypeID =
+      _SecCertificateGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function SecCertificateCreateWithData
+  /// @abstract Create a certificate given it's DER representation as a CFData.
+  /// @param allocator CFAllocator to allocate the certificate with.
+  /// @param data DER encoded X.509 certificate.
+  /// @result Return NULL if the passed-in data is not a valid DER-encoded
+  /// X.509 certificate, return a SecCertificateRef otherwise.
+  SecCertificateRef SecCertificateCreateWithData(
+    CFAllocatorRef allocator,
+    CFDataRef data,
+  ) {
+    return _SecCertificateCreateWithData(
+      allocator,
+      data,
+    );
+  }
+
+  late final _SecCertificateCreateWithDataPtr = _lookup<
+      ffi.NativeFunction<
+          SecCertificateRef Function(
+              CFAllocatorRef, CFDataRef)>>('SecCertificateCreateWithData');
+  late final _SecCertificateCreateWithData = _SecCertificateCreateWithDataPtr
+      .asFunction<SecCertificateRef Function(CFAllocatorRef, CFDataRef)>();
+
+  /// !
+  /// @function SecCertificateCopyData
+  /// @abstract Return the DER representation of an X.509 certificate.
+  /// @param certificate SecCertificate object created with
+  /// SecCertificateCreateWithData().
+  /// @result DER encoded X.509 certificate.
+  CFDataRef SecCertificateCopyData(
+    SecCertificateRef certificate,
+  ) {
+    return _SecCertificateCopyData(
+      certificate,
+    );
+  }
+
+  late final _SecCertificateCopyDataPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(SecCertificateRef)>>(
+          'SecCertificateCopyData');
+  late final _SecCertificateCopyData = _SecCertificateCopyDataPtr.asFunction<
+      CFDataRef Function(SecCertificateRef)>();
+
+  /// !
+  /// @function SecCertificateCopySubjectSummary
+  /// @abstract Return a simple string which hopefully represents a human
+  /// understandable summary.
+  /// @param certificate  A reference to the certificate from which to derive
+  /// the subject summary string.
+  /// @discussion All the data in this string comes from the certificate itself
+  /// and thus it's in whatever language the certificate itself is in.
+  /// @result A CFStringRef which the caller should CFRelease() once it's no
+  /// longer needed.
+  CFStringRef SecCertificateCopySubjectSummary(
+    SecCertificateRef certificate,
+  ) {
+    return _SecCertificateCopySubjectSummary(
+      certificate,
+    );
+  }
+
+  late final _SecCertificateCopySubjectSummaryPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(SecCertificateRef)>>(
+          'SecCertificateCopySubjectSummary');
+  late final _SecCertificateCopySubjectSummary =
+      _SecCertificateCopySubjectSummaryPtr.asFunction<
+          CFStringRef Function(SecCertificateRef)>();
+
+  /// !
+  /// @function SecCertificateCopyCommonName
+  /// @abstract Retrieves the common name of the subject of a given certificate.
+  /// @param certificate A reference to the certificate from which to retrieve the common name.
+  /// @param commonName On return, a reference to the common name. Your code must release this reference by calling the CFRelease function.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion All the data in this string comes from the certificate itself, and thus it's in whatever language the certificate itself is in.
+  /// Note that the certificate's common name field may not be present, or may be inadequate to describe the certificate; for display purposes,
+  /// you should consider using SecCertificateCopySubjectSummary instead of this function.
+  int SecCertificateCopyCommonName(
+    SecCertificateRef certificate,
+    ffi.Pointer<CFStringRef> commonName,
+  ) {
+    return _SecCertificateCopyCommonName(
+      certificate,
+      commonName,
+    );
+  }
+
+  late final _SecCertificateCopyCommonNamePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecCertificateRef,
+              ffi.Pointer<CFStringRef>)>>('SecCertificateCopyCommonName');
+  late final _SecCertificateCopyCommonName = _SecCertificateCopyCommonNamePtr
+      .asFunction<int Function(SecCertificateRef, ffi.Pointer<CFStringRef>)>();
+
+  /// !
+  /// @function SecCertificateCopyEmailAddresses
+  /// @abstract Returns an array of zero or more email addresses for the subject of a given certificate.
+  /// @param certificate A reference to the certificate from which to retrieve the email addresses.
+  /// @param emailAddresses On return, an array of zero or more CFStringRef elements corresponding to each email address found.
+  /// Your code must release this array reference by calling the CFRelease function.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  int SecCertificateCopyEmailAddresses(
+    SecCertificateRef certificate,
+    ffi.Pointer<CFArrayRef> emailAddresses,
+  ) {
+    return _SecCertificateCopyEmailAddresses(
+      certificate,
+      emailAddresses,
+    );
+  }
+
+  late final _SecCertificateCopyEmailAddressesPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecCertificateRef,
+              ffi.Pointer<CFArrayRef>)>>('SecCertificateCopyEmailAddresses');
+  late final _SecCertificateCopyEmailAddresses =
+      _SecCertificateCopyEmailAddressesPtr.asFunction<
+          int Function(SecCertificateRef, ffi.Pointer<CFArrayRef>)>();
+
+  /// !
+  /// @function SecCertificateCopyNormalizedIssuerSequence
+  /// @abstract Return the certificate's normalized issuer
+  /// @param certificate The certificate from which to get values
+  /// @discussion The issuer is a sequence in the format used by SecItemCopyMatching.  The content returned is a DER-encoded X.509 distinguished name. For a display version of the issuer, call SecCertificateCopyValues. The caller must CFRelease the value returned.
+  CFDataRef SecCertificateCopyNormalizedIssuerSequence(
+    SecCertificateRef certificate,
+  ) {
+    return _SecCertificateCopyNormalizedIssuerSequence(
+      certificate,
+    );
+  }
+
+  late final _SecCertificateCopyNormalizedIssuerSequencePtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(SecCertificateRef)>>(
+          'SecCertificateCopyNormalizedIssuerSequence');
+  late final _SecCertificateCopyNormalizedIssuerSequence =
+      _SecCertificateCopyNormalizedIssuerSequencePtr.asFunction<
+          CFDataRef Function(SecCertificateRef)>();
+
+  /// !
+  /// @function SecCertificateCopyNormalizedSubjectSequence
+  /// @abstract Return the certificate's normalized subject
+  /// @param certificate The certificate from which to get values
+  /// @discussion The subject is a sequence in the format used by SecItemCopyMatching. The content returned is a DER-encoded X.509 distinguished name. For a display version of the subject, call SecCertificateCopyValues. The caller must CFRelease the value returned.
+  CFDataRef SecCertificateCopyNormalizedSubjectSequence(
+    SecCertificateRef certificate,
+  ) {
+    return _SecCertificateCopyNormalizedSubjectSequence(
+      certificate,
+    );
+  }
+
+  late final _SecCertificateCopyNormalizedSubjectSequencePtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(SecCertificateRef)>>(
+          'SecCertificateCopyNormalizedSubjectSequence');
+  late final _SecCertificateCopyNormalizedSubjectSequence =
+      _SecCertificateCopyNormalizedSubjectSequencePtr.asFunction<
+          CFDataRef Function(SecCertificateRef)>();
+
+  /// !
+  /// @function SecCertificateCopyKey
+  /// @abstract Retrieves the public key for a given certificate.
+  /// @param certificate A reference to the certificate from which to retrieve the public key.
+  /// @result A reference to the public key for the specified certificate. Your code must release this reference by calling the CFRelease function. If the public key has an encoding issue or uses an unsupported algorithm, the returned reference will be null.
+  /// @discussion RSA and ECDSA public keys are supported. All other public key algorithms are unsupported.
+  SecKeyRef SecCertificateCopyKey(
+    SecCertificateRef certificate,
+  ) {
+    return _SecCertificateCopyKey(
+      certificate,
+    );
+  }
+
+  late final _SecCertificateCopyKeyPtr =
+      _lookup<ffi.NativeFunction<SecKeyRef Function(SecCertificateRef)>>(
+          'SecCertificateCopyKey');
+  late final _SecCertificateCopyKey = _SecCertificateCopyKeyPtr.asFunction<
+      SecKeyRef Function(SecCertificateRef)>();
+
+  /// !
+  /// @function SecCertificateCopyPublicKey
+  /// @abstract Retrieves the public key for a given certificate.
+  /// @param certificate A reference to the certificate from which to retrieve the public key.
+  /// @result A reference to the public key for the specified certificate. Your code must release this reference by calling the CFRelease function.
+  /// @discussion NOTE: Deprecated in iOS 12.0; use SecCertificateCopyKey instead for cross-platform availability.
+  SecKeyRef SecCertificateCopyPublicKey(
+    SecCertificateRef certificate,
+  ) {
+    return _SecCertificateCopyPublicKey(
+      certificate,
+    );
+  }
+
+  late final _SecCertificateCopyPublicKeyPtr =
+      _lookup<ffi.NativeFunction<SecKeyRef Function(SecCertificateRef)>>(
+          'SecCertificateCopyPublicKey');
+  late final _SecCertificateCopyPublicKey = _SecCertificateCopyPublicKeyPtr
+      .asFunction<SecKeyRef Function(SecCertificateRef)>();
+
+  /// !
+  /// @function SecCertificateCopySerialNumberData
+  /// @abstract Return the certificate's serial number.
+  /// @param certificate The certificate from which to get values.
+  /// @param error An optional pointer to a CFErrorRef which will be set on return from the function if an error occurred. If not NULL, the caller is responsible for releasing the CFErrorRef.
+  /// @discussion Return the content of a DER-encoded integer (without the tag and length fields) for this certificate's serial number. The caller must CFRelease the value returned.
+  CFDataRef SecCertificateCopySerialNumberData(
+    SecCertificateRef certificate,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecCertificateCopySerialNumberData(
+      certificate,
+      error,
+    );
+  }
+
+  late final _SecCertificateCopySerialNumberDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(SecCertificateRef,
+              ffi.Pointer<CFErrorRef>)>>('SecCertificateCopySerialNumberData');
+  late final _SecCertificateCopySerialNumberData =
+      _SecCertificateCopySerialNumberDataPtr.asFunction<
+          CFDataRef Function(SecCertificateRef, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecCertificateCopySerialNumber
+  /// @abstract Return the certificate's serial number.
+  /// @param certificate The certificate from which to get values.
+  /// @discussion Return the content of a DER-encoded integer (without the tag and length fields) for this certificate's serial number. The caller must CFRelease the value returned. NOTE: Deprecated in iOS 11.0; use SecCertificateCopySerialNumberData instead for cross-platform availability.
+  CFDataRef SecCertificateCopySerialNumber(
+    SecCertificateRef certificate,
+  ) {
+    return _SecCertificateCopySerialNumber(
+      certificate,
+    );
+  }
+
+  late final _SecCertificateCopySerialNumberPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(SecCertificateRef)>>(
+          'SecCertificateCopySerialNumber');
+  late final _SecCertificateCopySerialNumber =
+      _SecCertificateCopySerialNumberPtr.asFunction<
+          CFDataRef Function(SecCertificateRef)>();
+
+  /// !
+  /// @function SecIdentityGetTypeID
+  /// @abstract Returns the type identifier of SecIdentity instances.
+  /// @result The CFTypeID of SecIdentity instances.
+  int SecIdentityGetTypeID() {
+    return _SecIdentityGetTypeID();
+  }
+
+  late final _SecIdentityGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('SecIdentityGetTypeID');
+  late final _SecIdentityGetTypeID =
+      _SecIdentityGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function SecIdentityCopyCertificate
+  /// @abstract Returns a reference to a certificate for the given identity
+  /// reference.
+  /// @param identityRef An identity reference.
+  /// @param certificateRef On return, a pointer to the found certificate
+  /// reference. You are responsible for releasing this reference by calling
+  /// the CFRelease function.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  int SecIdentityCopyCertificate(
+    SecIdentityRef identityRef,
+    ffi.Pointer<SecCertificateRef> certificateRef,
+  ) {
+    return _SecIdentityCopyCertificate(
+      identityRef,
+      certificateRef,
+    );
+  }
+
+  late final _SecIdentityCopyCertificatePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecIdentityRef,
+              ffi.Pointer<SecCertificateRef>)>>('SecIdentityCopyCertificate');
+  late final _SecIdentityCopyCertificate =
+      _SecIdentityCopyCertificatePtr.asFunction<
+          int Function(SecIdentityRef, ffi.Pointer<SecCertificateRef>)>();
+
+  /// !
+  /// @function SecIdentityCopyPrivateKey
+  /// @abstract Returns the private key associated with an identity.
+  /// @param identityRef An identity reference.
+  /// @param privateKeyRef On return, a pointer to the private key for the given
+  /// identity. On iOS, the private key must be of class type kSecAppleKeyItemClass.
+  /// You are responsible for releasing this reference by calling the CFRelease function.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  int SecIdentityCopyPrivateKey(
+    SecIdentityRef identityRef,
+    ffi.Pointer<SecKeyRef> privateKeyRef,
+  ) {
+    return _SecIdentityCopyPrivateKey(
+      identityRef,
+      privateKeyRef,
+    );
+  }
+
+  late final _SecIdentityCopyPrivateKeyPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecIdentityRef,
+              ffi.Pointer<SecKeyRef>)>>('SecIdentityCopyPrivateKey');
+  late final _SecIdentityCopyPrivateKey = _SecIdentityCopyPrivateKeyPtr
+      .asFunction<int Function(SecIdentityRef, ffi.Pointer<SecKeyRef>)>();
+
+  /// !
+  /// @function SecAccessControlGetTypeID
+  /// @abstract Returns the type identifier of SecAccessControl instances.
+  /// @result The CFTypeID of SecAccessControl instances.
+  int SecAccessControlGetTypeID() {
+    return _SecAccessControlGetTypeID();
+  }
+
+  late final _SecAccessControlGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'SecAccessControlGetTypeID');
+  late final _SecAccessControlGetTypeID =
+      _SecAccessControlGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function SecAccessControlCreateWithFlags
+  /// @abstract Creates new access control object based on protection type and additional flags.
+  /// @discussion Created access control object should be used as a value for kSecAttrAccessControl attribute in SecItemAdd,
+  /// SecItemUpdate or SecKeyGeneratePair functions.  Accessing keychain items or performing operations on keys which are
+  /// protected by access control objects can block the execution because of UI which can appear to satisfy the access control
+  /// conditions, therefore it is recommended to either move those potentially blocking operations out of the main
+  /// application thread or use combination of kSecUseAuthenticationContext and kSecUseAuthenticationUI attributes to control
+  /// where the UI interaction can appear.
+  /// @param allocator Allocator to be used by this instance.
+  /// @param protection Protection class to be used for the item. One of kSecAttrAccessible constants.
+  /// @param flags If no flags are set then all operations are allowed.
+  /// @param error Additional error information filled in case of failure.
+  /// @result Newly created access control object.
+  SecAccessControlRef SecAccessControlCreateWithFlags(
+    CFAllocatorRef allocator,
+    CFTypeRef protection,
+    int flags,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecAccessControlCreateWithFlags(
+      allocator,
+      protection,
+      flags,
+      error,
+    );
+  }
+
+  late final _SecAccessControlCreateWithFlagsPtr = _lookup<
+      ffi.NativeFunction<
+          SecAccessControlRef Function(CFAllocatorRef, CFTypeRef, ffi.Int32,
+              ffi.Pointer<CFErrorRef>)>>('SecAccessControlCreateWithFlags');
+  late final _SecAccessControlCreateWithFlags =
+      _SecAccessControlCreateWithFlagsPtr.asFunction<
+          SecAccessControlRef Function(
+              CFAllocatorRef, CFTypeRef, int, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @enum Class Key Constant
+  /// @discussion Predefined key constant used to get or set item class values in
+  /// a dictionary. Its value is one of the constants defined in the Value
+  /// Constants for kSecClass.
+  /// @constant kSecClass Specifies a dictionary key whose value is the item's
+  /// class code.  You use this key to get or set a value of type CFTypeRef
+  /// that contains the item class code.
+  late final ffi.Pointer<CFStringRef> _kSecClass =
+      _lookup<CFStringRef>('kSecClass');
+
+  CFStringRef get kSecClass => _kSecClass.value;
+
+  set kSecClass(CFStringRef value) => _kSecClass.value = value;
+
+  /// !
+  /// @enum Class Value Constants
+  /// @discussion Predefined item class constants used to get or set values in
+  /// a dictionary. The kSecClass constant is the key and its value is one
+  /// of the constants defined here. Note: on Mac OS X 10.6, only items
+  /// of class kSecClassInternetPassword are supported.
+  /// @constant kSecClassInternetPassword Specifies Internet password items.
+  /// @constant kSecClassGenericPassword Specifies generic password items.
+  /// @constant kSecClassCertificate Specifies certificate items.
+  /// @constant kSecClassKey Specifies key items.
+  /// @constant kSecClassIdentity Specifies identity items.
+  late final ffi.Pointer<CFStringRef> _kSecClassInternetPassword =
+      _lookup<CFStringRef>('kSecClassInternetPassword');
+
+  CFStringRef get kSecClassInternetPassword => _kSecClassInternetPassword.value;
+
+  set kSecClassInternetPassword(CFStringRef value) =>
+      _kSecClassInternetPassword.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecClassGenericPassword =
+      _lookup<CFStringRef>('kSecClassGenericPassword');
+
+  CFStringRef get kSecClassGenericPassword => _kSecClassGenericPassword.value;
+
+  set kSecClassGenericPassword(CFStringRef value) =>
+      _kSecClassGenericPassword.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecClassCertificate =
+      _lookup<CFStringRef>('kSecClassCertificate');
+
+  CFStringRef get kSecClassCertificate => _kSecClassCertificate.value;
+
+  set kSecClassCertificate(CFStringRef value) =>
+      _kSecClassCertificate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecClassKey =
+      _lookup<CFStringRef>('kSecClassKey');
+
+  CFStringRef get kSecClassKey => _kSecClassKey.value;
+
+  set kSecClassKey(CFStringRef value) => _kSecClassKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecClassIdentity =
+      _lookup<CFStringRef>('kSecClassIdentity');
+
+  CFStringRef get kSecClassIdentity => _kSecClassIdentity.value;
+
+  set kSecClassIdentity(CFStringRef value) => _kSecClassIdentity.value = value;
+
+  /// !
+  /// @enum Attribute Key Constants
+  /// @discussion Predefined item attribute keys used to get or set values in a
+  /// dictionary. Not all attributes apply to each item class. The table
+  /// below lists the currently defined attributes for each item class:
+  ///
+  /// kSecClassGenericPassword item attributes:
+  /// kSecAttrAccess (OS X only)
+  /// kSecAttrAccessControl
+  /// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set)
+  /// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set)
+  /// kSecAttrCreationDate
+  /// kSecAttrModificationDate
+  /// kSecAttrDescription
+  /// kSecAttrComment
+  /// kSecAttrCreator
+  /// kSecAttrType
+  /// kSecAttrLabel
+  /// kSecAttrIsInvisible
+  /// kSecAttrIsNegative
+  /// kSecAttrAccount
+  /// kSecAttrService
+  /// kSecAttrGeneric
+  /// kSecAttrSynchronizable
+  ///
+  /// kSecClassInternetPassword item attributes:
+  /// kSecAttrAccess (OS X only)
+  /// kSecAttrAccessControl
+  /// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set)
+  /// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set)
+  /// kSecAttrCreationDate
+  /// kSecAttrModificationDate
+  /// kSecAttrDescription
+  /// kSecAttrComment
+  /// kSecAttrCreator
+  /// kSecAttrType
+  /// kSecAttrLabel
+  /// kSecAttrIsInvisible
+  /// kSecAttrIsNegative
+  /// kSecAttrAccount
+  /// kSecAttrSecurityDomain
+  /// kSecAttrServer
+  /// kSecAttrProtocol
+  /// kSecAttrAuthenticationType
+  /// kSecAttrPort
+  /// kSecAttrPath
+  /// kSecAttrSynchronizable
+  ///
+  /// kSecClassCertificate item attributes:
+  /// kSecAttrAccessible    (iOS only)
+  /// kSecAttrAccessControl (iOS only)
+  /// kSecAttrAccessGroup   (iOS only)
+  /// kSecAttrCertificateType
+  /// kSecAttrCertificateEncoding
+  /// kSecAttrLabel
+  /// kSecAttrSubject
+  /// kSecAttrIssuer
+  /// kSecAttrSerialNumber
+  /// kSecAttrSubjectKeyID
+  /// kSecAttrPublicKeyHash
+  /// kSecAttrSynchronizable
+  ///
+  /// kSecClassKey item attributes:
+  /// kSecAttrAccess (OS X only)
+  /// kSecAttrAccessControl
+  /// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set)
+  /// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set)
+  /// kSecAttrKeyClass
+  /// kSecAttrLabel
+  /// kSecAttrApplicationLabel
+  /// kSecAttrIsPermanent
+  /// kSecAttrApplicationTag
+  /// kSecAttrKeyType
+  /// kSecAttrPRF    (OS X only)
+  /// kSecAttrSalt   (OS X only)
+  /// kSecAttrRounds (OS X only)
+  /// kSecAttrKeySizeInBits
+  /// kSecAttrEffectiveKeySize
+  /// kSecAttrCanEncrypt
+  /// kSecAttrCanDecrypt
+  /// kSecAttrCanDerive
+  /// kSecAttrCanSign
+  /// kSecAttrCanVerify
+  /// kSecAttrCanWrap
+  /// kSecAttrCanUnwrap
+  /// kSecAttrSynchronizable
+  ///
+  /// Note that the attributes kSecAttrCan* describe attributes of the
+  /// key itself at relatively high level. Some of these attributes are
+  /// mathematical -- for example, a DSA key cannot encrypt. Others are
+  /// key-level policy issues -- for example, it is good cryptographic
+  /// hygiene to use an RSA key either for encryption or signing but not
+  /// both. Compare these to the certificate-level policy values in
+  /// SecPolicy.h.
+  ///
+  /// kSecClassIdentity item attributes:
+  /// Since an identity is the combination of a private key and a
+  /// certificate, this class shares attributes of both kSecClassKey and
+  /// kSecClassCertificate.
+  ///
+  /// @constant kSecAttrAccessible Specifies a dictionary key whose value
+  /// indicates when your application needs access to an item's data.  You
+  /// should choose the most restrictive option that meets your application's
+  /// needs to allow the system to protect that item in the best way possible.
+  /// See the "kSecAttrAccessible Value Constants" section for a list of
+  /// values which can be specified.
+  /// IMPORTANT: This attribute is currently not supported for OS X keychain
+  /// items, unless the kSecAttrSynchronizable attribute is also present. If
+  /// both attributes are specified on either OS X or iOS, the value for the
+  /// kSecAttrAccessible key may only be one whose name does not end with
+  /// "ThisDeviceOnly", as those cannot sync to another device.
+  ///
+  /// @constant kSecAttrAccessControl Specifies a dictionary key whose value
+  /// is SecAccessControl instance which contains access control conditions
+  /// for item.
+  /// IMPORTANT: This attribute is mutually exclusive with kSecAttrAccess
+  /// attribute.
+  ///
+  /// @constant kSecAttrAccess Specifies a dictionary key whose value
+  /// is a SecAccessRef describing the access control settings for this item.
+  /// This key is available on OS X only.
+  ///
+  /// @constant kSecAttrAccessGroup Specifies a dictionary key whose value is
+  /// a CFStringRef indicating which access group a item is in.  The access
+  /// groups that a particular application has membership in are determined by
+  /// two entitlements for that application.  The application-identifier
+  /// entitlement contains the application's single access group, unless
+  /// there is a keychain-access-groups entitlement present.  The latter
+  /// has as its value a list of access groups; the first item in this list
+  /// is the default access group. Unless a specific access group is provided
+  /// as the value of kSecAttrAccessGroup when SecItemAdd is called, new items
+  /// are created in the application's default access group.  Specifying this
+  /// attribute in SecItemCopyMatching, SecItemUpdate, or SecItemDelete calls
+  /// limits the search to the specified access group (of which the calling
+  /// application must be a member to obtain matching results.)  To share
+  /// keychain items between multiple applications, each application must have
+  /// a common group listed in its keychain-access-groups entitlement, and each
+  /// must specify this shared access group name as the value for the
+  /// kSecAttrAccessGroup key in the dictionary passed to SecItem functions.
+  ///
+  /// @constant kSecAttrSynchronizable Specifies a dictionary key whose value is
+  /// a CFBooleanRef indicating whether the item in question can be synchronized.
+  /// To add a new item which can be synced to other devices, or to obtain
+  /// synchronizable results from a query, supply this key with a value of
+  /// kCFBooleanTrue. If the key is not supplied, or has a value of
+  /// kCFBooleanFalse, then no synchronizable items will be added or returned.
+  /// A predefined value, kSecAttrSynchronizableAny, may be provided instead of
+  /// kCFBooleanTrue if both synchronizable and non-synchronizable results are
+  /// desired.
+  ///
+  /// IMPORTANT: Specifying the kSecAttrSynchronizable key has several caveats:
+  ///
+  /// - Updating or deleting items using the kSecAttrSynchronizable key will
+  /// affect all copies of the item, not just the one on your local device.
+  /// Be sure that it makes sense to use the same password on all devices
+  /// before deciding to make a password synchronizable.
+  /// - Only password items can currently be synchronized. Keychain syncing
+  /// is not supported for certificates or cryptographic keys.
+  /// - Items stored or obtained using the kSecAttrSynchronizable key cannot
+  /// specify SecAccessRef-based access control with kSecAttrAccess. If a
+  /// password is intended to be shared between multiple applications, the
+  /// kSecAttrAccessGroup key must be specified, and each application
+  /// using this password must have a 'keychain-access-groups' entitlement
+  /// with the specified access group value.
+  /// - Items stored or obtained using the kSecAttrSynchronizable key may
+  /// not also specify a kSecAttrAccessible value which is incompatible
+  /// with syncing (namely, those whose names end with "ThisDeviceOnly".)
+  /// - Items stored or obtained using the kSecAttrSynchronizable key cannot
+  /// be specified by reference. You must pass kSecReturnAttributes and/or
+  /// kSecReturnData to retrieve results; kSecReturnRef is currently not
+  /// supported for synchronizable items.
+  /// - Persistent references to synchronizable items should be avoided;
+  /// while they may work locally, they cannot be moved between devices,
+  /// and may not resolve if the item is modified on some other device.
+  /// - When specifying a query that uses the kSecAttrSynchronizable key,
+  /// search keys are limited to the item's class and attributes.
+  /// The only search constant which may be used is kSecMatchLimit; other
+  /// constants using the kSecMatch prefix are not supported at this time.
+  ///
+  /// @constant kSecAttrSynchronizableAny Specifies that both synchronizable and
+  /// non-synchronizable results should be returned from this query. This may be
+  /// used as a value for the kSecAttrSynchronizable dictionary key in a call to
+  /// SecItemCopyMatching, SecItemUpdate, or SecItemDelete.
+  ///
+  /// @constant kSecAttrCreationDate (read-only) Specifies a dictionary key whose
+  /// value is the item's creation date. You use this key to get a value
+  /// of type CFDateRef that represents the date the item was created.
+  /// @constant kSecAttrModificationDate (read-only) Specifies a dictionary key
+  /// whose value is the item's modification date. You use this key to get
+  /// a value of type CFDateRef that represents the last time the item was
+  /// updated.
+  /// @constant kSecAttrDescription Specifies a dictionary key whose value is
+  /// the item's description attribute. You use this key to set or get a
+  /// value of type CFStringRef that represents a user-visible string
+  /// describing this particular kind of item (e.g., "disk image password").
+  /// @constant kSecAttrComment Specifies a dictionary key whose value is the
+  /// item's comment attribute. You use this key to set or get a value of
+  /// type CFStringRef containing the user-editable comment for this item.
+  /// @constant kSecAttrCreator Specifies a dictionary key whose value is the
+  /// item's creator attribute. You use this key to set or get a value of
+  /// type CFNumberRef that represents the item's creator. This number is
+  /// the unsigned integer representation of a four-character code (e.g.,
+  /// 'aCrt').
+  /// @constant kSecAttrType Specifies a dictionary key whose value is the item's
+  /// type attribute. You use this key to set or get a value of type
+  /// CFNumberRef that represents the item's type. This number is the
+  /// unsigned integer representation of a four-character code (e.g.,
+  /// 'aTyp').
+  /// @constant kSecAttrLabel Specifies a dictionary key whose value is the
+  /// item's label attribute. You use this key to set or get a value of
+  /// type CFStringRef containing the user-visible label for this item.
+  /// @constant kSecAttrIsInvisible Specifies a dictionary key whose value is the
+  /// item's invisible attribute. You use this key to set or get a value
+  /// of type CFBooleanRef that indicates whether the item is invisible
+  /// (i.e., should not be displayed.)
+  /// @constant kSecAttrIsNegative Specifies a dictionary key whose value is the
+  /// item's negative attribute. You use this key to set or get a value of
+  /// type CFBooleanRef that indicates whether there is a valid password
+  /// associated with this keychain item. This is useful if your application
+  /// doesn't want a password for some particular service to be stored in
+  /// the keychain, but prefers that it always be entered by the user.
+  /// @constant kSecAttrAccount Specifies a dictionary key whose value is the
+  /// item's account attribute. You use this key to set or get a CFStringRef
+  /// that contains an account name. (Items of class
+  /// kSecClassGenericPassword, kSecClassInternetPassword have this
+  /// attribute.)
+  /// @constant kSecAttrService Specifies a dictionary key whose value is the
+  /// item's service attribute. You use this key to set or get a CFStringRef
+  /// that represents the service associated with this item. (Items of class
+  /// kSecClassGenericPassword have this attribute.)
+  /// @constant kSecAttrGeneric Specifies a dictionary key whose value is the
+  /// item's generic attribute. You use this key to set or get a value of
+  /// CFDataRef that contains a user-defined attribute. (Items of class
+  /// kSecClassGenericPassword have this attribute.)
+  /// @constant kSecAttrSecurityDomain Specifies a dictionary key whose value
+  /// is the item's security domain attribute. You use this key to set or
+  /// get a CFStringRef value that represents the Internet security domain.
+  /// (Items of class kSecClassInternetPassword have this attribute.)
+  /// @constant kSecAttrServer Specifies a dictionary key whose value is the
+  /// item's server attribute. You use this key to set or get a value of
+  /// type CFStringRef that contains the server's domain name or IP address.
+  /// (Items of class kSecClassInternetPassword have this attribute.)
+  /// @constant kSecAttrProtocol Specifies a dictionary key whose value is the
+  /// item's protocol attribute. You use this key to set or get a value of
+  /// type CFNumberRef that denotes the protocol for this item (see the
+  /// SecProtocolType enum in SecKeychainItem.h). (Items of class
+  /// kSecClassInternetPassword have this attribute.)
+  /// @constant kSecAttrAuthenticationType Specifies a dictionary key whose value
+  /// is the item's authentication type attribute. You use this key to set
+  /// or get a value of type CFNumberRef that denotes the authentication
+  /// scheme for this item (see the kSecAttrAuthenticationType value
+  /// constants below).
+  /// @constant kSecAttrPort Specifies a dictionary key whose value is the item's
+  /// port attribute. You use this key to set or get a CFNumberRef value
+  /// that represents an Internet port number. (Items of class
+  /// kSecClassInternetPassword have this attribute.)
+  /// @constant kSecAttrPath Specifies a dictionary key whose value is the item's
+  /// path attribute, typically this is the path component of the URL.  You use
+  /// this key to set or get a CFStringRef value that represents a path. (Items
+  /// of class kSecClassInternetPassword have this attribute.)
+  /// @constant kSecAttrSubject (read-only) Specifies a dictionary key whose
+  /// value is the item's subject. You use this key to get a value of type
+  /// CFDataRef that contains the X.500 subject name of a certificate.
+  /// (Items of class kSecClassCertificate have this attribute.)
+  /// @constant kSecAttrIssuer (read-only) Specifies a dictionary key whose value
+  /// is the item's issuer. You use this key to get a value of type
+  /// CFDataRef that contains the X.500 issuer name of a certificate. (Items
+  /// of class kSecClassCertificate have this attribute.)
+  /// @constant kSecAttrSerialNumber (read-only) Specifies a dictionary key whose
+  /// value is the item's serial number.  You use this key to get a value
+  /// of type CFDataRef that contains the serial number data of a
+  /// certificate. (Items of class kSecClassCertificate have this
+  /// attribute.)
+  /// @constant kSecAttrSubjectKeyID (read-only) Specifies a dictionary key whose
+  /// value is the item's subject key ID. You use this key to get a value
+  /// of type CFDataRef that contains the subject key ID of a certificate.
+  /// (Items of class kSecClassCertificate have this attribute.)
+  /// @constant kSecAttrPublicKeyHash (read-only) Specifies a dictionary key
+  /// whose value is the item's public key hash. You use this key to get a
+  /// value of type CFDataRef that contains the hash of a certificate's
+  /// public key. (Items of class kSecClassCertificate have this attribute.)
+  /// @constant kSecAttrCertificateType (read-only) Specifies a dictionary key
+  /// whose value is the item's certificate type. You use this key to get
+  /// a value of type CFNumberRef that denotes the certificate type
+  /// (On iOS, currently the value of this attribute must be equal to the
+  /// version of the X509 certificate.  So, 1 for v1, 2 for v2, and 3 for v3
+  /// certificates). (On OSX, see the CSSM_CERT_TYPE enum in cssmtype.h).
+  /// Only items of class kSecClassCertificate have this attribute.
+  /// @constant kSecAttrCertificateEncoding (read-only) Specifies a dictionary
+  /// key whose value is the item's certificate encoding. You use this key
+  /// to get a value of type CFNumberRef that denotes the certificate
+  /// encoding (On iOS, currently only the value 3 meaning
+  /// kSecAttrCertificateEncodingDER is supported). On OSX, see the
+  /// CSSM_CERT_ENCODING enum in cssmtype.h. Only items of class
+  /// kSecClassCertificate have this attribute.
+  /// @constant kSecAttrKeyClass (read only) Specifies a dictionary key whose
+  /// value is one of kSecAttrKeyClassPublic, kSecAttrKeyClassPrivate or
+  /// kSecAttrKeyClassSymmetric.
+  /// @constant kSecAttrApplicationLabel Specifies a dictionary key whose value
+  /// is the key's application label attribute. This is different from the
+  /// kSecAttrLabel (which is intended to be human-readable). This attribute
+  /// is used to look up a key programmatically; in particular, for keys of
+  /// class kSecAttrKeyClassPublic and kSecAttrKeyClassPrivate, the value of
+  /// this attribute is the hash of the public key. This item is a type of CFDataRef.
+  /// Legacy keys may contain a UUID in this field as a CFStringRef.
+  /// @constant kSecAttrIsPermanent Specifies a dictionary key whose value is a
+  /// CFBooleanRef indicating whether the key in question will be stored
+  /// permanently.
+  /// @constant kSecAttrIsSensitive Specifies a dictionary key whose value is a
+  /// CFBooleanRef indicating that the key in question can only be exported
+  /// in a wrapped (encrypted) format. OS X only.
+  /// @constant kSecAttrIsExtractable Specifies a dictionary key whose value is a
+  /// CFBooleanRef indicating whether the key in question can be exported from
+  /// its keychain container. OS X only.
+  /// @constant kSecAttrApplicationTag Specifies a dictionary key whose value is a
+  /// CFDataRef containing private tag data.
+  /// @constant kSecAttrKeyType Specifies a dictionary key whose value is a
+  /// CFNumberRef indicating the algorithm associated with this key
+  /// (On iOS, currently only the value 42 is supported, alternatively you can use
+  /// kSecAttrKeyTypeRSA). (On OSX, see the CSSM_ALGORITHMS enum in cssmtype.h).
+  ///
+  /// @constant kSecAttrPRF Specifies a dictionary key whose value is the PRF
+  /// (pseudo-random function) for this key (see "kSecAttrPRF Value Constants".)
+  /// OS X only.
+  /// @constant kSecAttrSalt Specifies a dictionary key whose value is a
+  /// CFData containing the salt to use for this key. OS X only.
+  /// @constant kSecAttrRounds Specifies a dictionary key whose value is the
+  /// number of rounds for the pseudo-random function specified by kSecAttrPRF.
+  /// OS X only.
+  /// @constant kSecAttrKeySizeInBits Specifies a dictionary key whose value
+  /// is a CFNumberRef indicating the number of bits in this key.
+  /// @constant kSecAttrEffectiveKeySize Specifies a dictionary key whose value
+  /// is a CFNumberRef indicating the effective number of bits in this key.
+  /// For example, a DES key has a kSecAttrKeySizeInBits of 64, but a
+  /// kSecAttrEffectiveKeySize of 56 bits.
+  /// @constant kSecAttrCanEncrypt Specifies a dictionary key whole value is a
+  /// CFBooleanRef indicating whether the key in question can be used to
+  /// encrypt data.
+  /// @constant kSecAttrCanDecrypt Specifies a dictionary key whose value is a
+  /// CFBooleanRef indicating whether the key in question can be used to
+  /// decrypt data.
+  /// @constant kSecAttrCanDerive Specifies a dictionary key whole value is a
+  /// CFBooleanRef indicating whether the key in question can be used to
+  /// derive another key.
+  /// @constant kSecAttrCanSign Specifies a dictionary key whole value is a
+  /// CFBooleanRef indicating whether the key in question can be used to
+  /// create a digital signature.
+  /// @constant kSecAttrCanVerify Specifies a dictionary key whole value is a
+  /// CFBooleanRef indicating whether the key in question can be used to
+  /// verify a digital signature.
+  /// @constant kSecAttrCanWrap Specifies a dictionary key whole value is a
+  /// CFBooleanRef indicating whether the key in question can be used to
+  /// wrap another key.
+  /// @constant kSecAttrCanUnwrap Specifies a dictionary key whole value is a
+  /// CFBooleanRef indicating whether the key in question can be used to
+  /// unwrap another key.
+  /// @constant kSecAttrSyncViewHint Specifies a dictionary key whose value is
+  /// a CFStringRef. This value is part of the primary key of each item, and
+  /// can be used to help distiguish Sync Views when defining their
+  /// queries. iOS and sychronizable items only.
+  /// @constant kSecAttrTokenID Specifies a dictionary key whose presence
+  /// indicates that item is backed by external token. Value of this attribute
+  /// is CFStringRef uniquely identifying containing token. When this attribute
+  /// is not present, item is stored in internal keychain database.
+  /// Note that once item is created, this attribute cannot be changed - in other
+  /// words it is not possible to migrate existing items to, from or between tokens.
+  /// Currently the only available value for this attribute is
+  /// kSecAttrTokenIDSecureEnclave, which indicates that item (private key) is
+  /// backed by device's Secure Enclave.
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessible =
+      _lookup<CFStringRef>('kSecAttrAccessible');
+
+  CFStringRef get kSecAttrAccessible => _kSecAttrAccessible.value;
+
+  set kSecAttrAccessible(CFStringRef value) =>
+      _kSecAttrAccessible.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccess =
+      _lookup<CFStringRef>('kSecAttrAccess');
+
+  CFStringRef get kSecAttrAccess => _kSecAttrAccess.value;
+
+  set kSecAttrAccess(CFStringRef value) => _kSecAttrAccess.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessControl =
+      _lookup<CFStringRef>('kSecAttrAccessControl');
+
+  CFStringRef get kSecAttrAccessControl => _kSecAttrAccessControl.value;
+
+  set kSecAttrAccessControl(CFStringRef value) =>
+      _kSecAttrAccessControl.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessGroup =
+      _lookup<CFStringRef>('kSecAttrAccessGroup');
+
+  CFStringRef get kSecAttrAccessGroup => _kSecAttrAccessGroup.value;
+
+  set kSecAttrAccessGroup(CFStringRef value) =>
+      _kSecAttrAccessGroup.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSynchronizable =
+      _lookup<CFStringRef>('kSecAttrSynchronizable');
+
+  CFStringRef get kSecAttrSynchronizable => _kSecAttrSynchronizable.value;
+
+  set kSecAttrSynchronizable(CFStringRef value) =>
+      _kSecAttrSynchronizable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSynchronizableAny =
+      _lookup<CFStringRef>('kSecAttrSynchronizableAny');
+
+  CFStringRef get kSecAttrSynchronizableAny => _kSecAttrSynchronizableAny.value;
+
+  set kSecAttrSynchronizableAny(CFStringRef value) =>
+      _kSecAttrSynchronizableAny.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCreationDate =
+      _lookup<CFStringRef>('kSecAttrCreationDate');
+
+  CFStringRef get kSecAttrCreationDate => _kSecAttrCreationDate.value;
+
+  set kSecAttrCreationDate(CFStringRef value) =>
+      _kSecAttrCreationDate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrModificationDate =
+      _lookup<CFStringRef>('kSecAttrModificationDate');
+
+  CFStringRef get kSecAttrModificationDate => _kSecAttrModificationDate.value;
+
+  set kSecAttrModificationDate(CFStringRef value) =>
+      _kSecAttrModificationDate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrDescription =
+      _lookup<CFStringRef>('kSecAttrDescription');
+
+  CFStringRef get kSecAttrDescription => _kSecAttrDescription.value;
+
+  set kSecAttrDescription(CFStringRef value) =>
+      _kSecAttrDescription.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrComment =
+      _lookup<CFStringRef>('kSecAttrComment');
+
+  CFStringRef get kSecAttrComment => _kSecAttrComment.value;
+
+  set kSecAttrComment(CFStringRef value) => _kSecAttrComment.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCreator =
+      _lookup<CFStringRef>('kSecAttrCreator');
+
+  CFStringRef get kSecAttrCreator => _kSecAttrCreator.value;
+
+  set kSecAttrCreator(CFStringRef value) => _kSecAttrCreator.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrType =
+      _lookup<CFStringRef>('kSecAttrType');
+
+  CFStringRef get kSecAttrType => _kSecAttrType.value;
+
+  set kSecAttrType(CFStringRef value) => _kSecAttrType.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrLabel =
+      _lookup<CFStringRef>('kSecAttrLabel');
+
+  CFStringRef get kSecAttrLabel => _kSecAttrLabel.value;
+
+  set kSecAttrLabel(CFStringRef value) => _kSecAttrLabel.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrIsInvisible =
+      _lookup<CFStringRef>('kSecAttrIsInvisible');
+
+  CFStringRef get kSecAttrIsInvisible => _kSecAttrIsInvisible.value;
+
+  set kSecAttrIsInvisible(CFStringRef value) =>
+      _kSecAttrIsInvisible.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrIsNegative =
+      _lookup<CFStringRef>('kSecAttrIsNegative');
+
+  CFStringRef get kSecAttrIsNegative => _kSecAttrIsNegative.value;
+
+  set kSecAttrIsNegative(CFStringRef value) =>
+      _kSecAttrIsNegative.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccount =
+      _lookup<CFStringRef>('kSecAttrAccount');
+
+  CFStringRef get kSecAttrAccount => _kSecAttrAccount.value;
+
+  set kSecAttrAccount(CFStringRef value) => _kSecAttrAccount.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrService =
+      _lookup<CFStringRef>('kSecAttrService');
+
+  CFStringRef get kSecAttrService => _kSecAttrService.value;
+
+  set kSecAttrService(CFStringRef value) => _kSecAttrService.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrGeneric =
+      _lookup<CFStringRef>('kSecAttrGeneric');
+
+  CFStringRef get kSecAttrGeneric => _kSecAttrGeneric.value;
+
+  set kSecAttrGeneric(CFStringRef value) => _kSecAttrGeneric.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSecurityDomain =
+      _lookup<CFStringRef>('kSecAttrSecurityDomain');
+
+  CFStringRef get kSecAttrSecurityDomain => _kSecAttrSecurityDomain.value;
+
+  set kSecAttrSecurityDomain(CFStringRef value) =>
+      _kSecAttrSecurityDomain.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrServer =
+      _lookup<CFStringRef>('kSecAttrServer');
+
+  CFStringRef get kSecAttrServer => _kSecAttrServer.value;
+
+  set kSecAttrServer(CFStringRef value) => _kSecAttrServer.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocol =
+      _lookup<CFStringRef>('kSecAttrProtocol');
+
+  CFStringRef get kSecAttrProtocol => _kSecAttrProtocol.value;
+
+  set kSecAttrProtocol(CFStringRef value) => _kSecAttrProtocol.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationType =
+      _lookup<CFStringRef>('kSecAttrAuthenticationType');
+
+  CFStringRef get kSecAttrAuthenticationType =>
+      _kSecAttrAuthenticationType.value;
+
+  set kSecAttrAuthenticationType(CFStringRef value) =>
+      _kSecAttrAuthenticationType.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPort =
+      _lookup<CFStringRef>('kSecAttrPort');
+
+  CFStringRef get kSecAttrPort => _kSecAttrPort.value;
+
+  set kSecAttrPort(CFStringRef value) => _kSecAttrPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPath =
+      _lookup<CFStringRef>('kSecAttrPath');
+
+  CFStringRef get kSecAttrPath => _kSecAttrPath.value;
+
+  set kSecAttrPath(CFStringRef value) => _kSecAttrPath.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSubject =
+      _lookup<CFStringRef>('kSecAttrSubject');
+
+  CFStringRef get kSecAttrSubject => _kSecAttrSubject.value;
+
+  set kSecAttrSubject(CFStringRef value) => _kSecAttrSubject.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrIssuer =
+      _lookup<CFStringRef>('kSecAttrIssuer');
+
+  CFStringRef get kSecAttrIssuer => _kSecAttrIssuer.value;
+
+  set kSecAttrIssuer(CFStringRef value) => _kSecAttrIssuer.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSerialNumber =
+      _lookup<CFStringRef>('kSecAttrSerialNumber');
+
+  CFStringRef get kSecAttrSerialNumber => _kSecAttrSerialNumber.value;
+
+  set kSecAttrSerialNumber(CFStringRef value) =>
+      _kSecAttrSerialNumber.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSubjectKeyID =
+      _lookup<CFStringRef>('kSecAttrSubjectKeyID');
+
+  CFStringRef get kSecAttrSubjectKeyID => _kSecAttrSubjectKeyID.value;
+
+  set kSecAttrSubjectKeyID(CFStringRef value) =>
+      _kSecAttrSubjectKeyID.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPublicKeyHash =
+      _lookup<CFStringRef>('kSecAttrPublicKeyHash');
+
+  CFStringRef get kSecAttrPublicKeyHash => _kSecAttrPublicKeyHash.value;
+
+  set kSecAttrPublicKeyHash(CFStringRef value) =>
+      _kSecAttrPublicKeyHash.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCertificateType =
+      _lookup<CFStringRef>('kSecAttrCertificateType');
+
+  CFStringRef get kSecAttrCertificateType => _kSecAttrCertificateType.value;
+
+  set kSecAttrCertificateType(CFStringRef value) =>
+      _kSecAttrCertificateType.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCertificateEncoding =
+      _lookup<CFStringRef>('kSecAttrCertificateEncoding');
+
+  CFStringRef get kSecAttrCertificateEncoding =>
+      _kSecAttrCertificateEncoding.value;
+
+  set kSecAttrCertificateEncoding(CFStringRef value) =>
+      _kSecAttrCertificateEncoding.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyClass =
+      _lookup<CFStringRef>('kSecAttrKeyClass');
+
+  CFStringRef get kSecAttrKeyClass => _kSecAttrKeyClass.value;
+
+  set kSecAttrKeyClass(CFStringRef value) => _kSecAttrKeyClass.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrApplicationLabel =
+      _lookup<CFStringRef>('kSecAttrApplicationLabel');
+
+  CFStringRef get kSecAttrApplicationLabel => _kSecAttrApplicationLabel.value;
+
+  set kSecAttrApplicationLabel(CFStringRef value) =>
+      _kSecAttrApplicationLabel.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrIsPermanent =
+      _lookup<CFStringRef>('kSecAttrIsPermanent');
+
+  CFStringRef get kSecAttrIsPermanent => _kSecAttrIsPermanent.value;
+
+  set kSecAttrIsPermanent(CFStringRef value) =>
+      _kSecAttrIsPermanent.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrIsSensitive =
+      _lookup<CFStringRef>('kSecAttrIsSensitive');
+
+  CFStringRef get kSecAttrIsSensitive => _kSecAttrIsSensitive.value;
+
+  set kSecAttrIsSensitive(CFStringRef value) =>
+      _kSecAttrIsSensitive.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrIsExtractable =
+      _lookup<CFStringRef>('kSecAttrIsExtractable');
+
+  CFStringRef get kSecAttrIsExtractable => _kSecAttrIsExtractable.value;
+
+  set kSecAttrIsExtractable(CFStringRef value) =>
+      _kSecAttrIsExtractable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrApplicationTag =
+      _lookup<CFStringRef>('kSecAttrApplicationTag');
+
+  CFStringRef get kSecAttrApplicationTag => _kSecAttrApplicationTag.value;
+
+  set kSecAttrApplicationTag(CFStringRef value) =>
+      _kSecAttrApplicationTag.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyType =
+      _lookup<CFStringRef>('kSecAttrKeyType');
+
+  CFStringRef get kSecAttrKeyType => _kSecAttrKeyType.value;
+
+  set kSecAttrKeyType(CFStringRef value) => _kSecAttrKeyType.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPRF =
+      _lookup<CFStringRef>('kSecAttrPRF');
+
+  CFStringRef get kSecAttrPRF => _kSecAttrPRF.value;
+
+  set kSecAttrPRF(CFStringRef value) => _kSecAttrPRF.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSalt =
+      _lookup<CFStringRef>('kSecAttrSalt');
+
+  CFStringRef get kSecAttrSalt => _kSecAttrSalt.value;
+
+  set kSecAttrSalt(CFStringRef value) => _kSecAttrSalt.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrRounds =
+      _lookup<CFStringRef>('kSecAttrRounds');
+
+  CFStringRef get kSecAttrRounds => _kSecAttrRounds.value;
+
+  set kSecAttrRounds(CFStringRef value) => _kSecAttrRounds.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeySizeInBits =
+      _lookup<CFStringRef>('kSecAttrKeySizeInBits');
+
+  CFStringRef get kSecAttrKeySizeInBits => _kSecAttrKeySizeInBits.value;
+
+  set kSecAttrKeySizeInBits(CFStringRef value) =>
+      _kSecAttrKeySizeInBits.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrEffectiveKeySize =
+      _lookup<CFStringRef>('kSecAttrEffectiveKeySize');
+
+  CFStringRef get kSecAttrEffectiveKeySize => _kSecAttrEffectiveKeySize.value;
+
+  set kSecAttrEffectiveKeySize(CFStringRef value) =>
+      _kSecAttrEffectiveKeySize.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCanEncrypt =
+      _lookup<CFStringRef>('kSecAttrCanEncrypt');
+
+  CFStringRef get kSecAttrCanEncrypt => _kSecAttrCanEncrypt.value;
+
+  set kSecAttrCanEncrypt(CFStringRef value) =>
+      _kSecAttrCanEncrypt.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCanDecrypt =
+      _lookup<CFStringRef>('kSecAttrCanDecrypt');
+
+  CFStringRef get kSecAttrCanDecrypt => _kSecAttrCanDecrypt.value;
+
+  set kSecAttrCanDecrypt(CFStringRef value) =>
+      _kSecAttrCanDecrypt.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCanDerive =
+      _lookup<CFStringRef>('kSecAttrCanDerive');
+
+  CFStringRef get kSecAttrCanDerive => _kSecAttrCanDerive.value;
+
+  set kSecAttrCanDerive(CFStringRef value) => _kSecAttrCanDerive.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCanSign =
+      _lookup<CFStringRef>('kSecAttrCanSign');
+
+  CFStringRef get kSecAttrCanSign => _kSecAttrCanSign.value;
+
+  set kSecAttrCanSign(CFStringRef value) => _kSecAttrCanSign.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCanVerify =
+      _lookup<CFStringRef>('kSecAttrCanVerify');
+
+  CFStringRef get kSecAttrCanVerify => _kSecAttrCanVerify.value;
+
+  set kSecAttrCanVerify(CFStringRef value) => _kSecAttrCanVerify.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCanWrap =
+      _lookup<CFStringRef>('kSecAttrCanWrap');
+
+  CFStringRef get kSecAttrCanWrap => _kSecAttrCanWrap.value;
+
+  set kSecAttrCanWrap(CFStringRef value) => _kSecAttrCanWrap.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrCanUnwrap =
+      _lookup<CFStringRef>('kSecAttrCanUnwrap');
+
+  CFStringRef get kSecAttrCanUnwrap => _kSecAttrCanUnwrap.value;
+
+  set kSecAttrCanUnwrap(CFStringRef value) => _kSecAttrCanUnwrap.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrSyncViewHint =
+      _lookup<CFStringRef>('kSecAttrSyncViewHint');
+
+  CFStringRef get kSecAttrSyncViewHint => _kSecAttrSyncViewHint.value;
+
+  set kSecAttrSyncViewHint(CFStringRef value) =>
+      _kSecAttrSyncViewHint.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrTokenID =
+      _lookup<CFStringRef>('kSecAttrTokenID');
+
+  CFStringRef get kSecAttrTokenID => _kSecAttrTokenID.value;
+
+  set kSecAttrTokenID(CFStringRef value) => _kSecAttrTokenID.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPersistantReference =
+      _lookup<CFStringRef>('kSecAttrPersistantReference');
+
+  CFStringRef get kSecAttrPersistantReference =>
+      _kSecAttrPersistantReference.value;
+
+  set kSecAttrPersistantReference(CFStringRef value) =>
+      _kSecAttrPersistantReference.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPersistentReference =
+      _lookup<CFStringRef>('kSecAttrPersistentReference');
+
+  CFStringRef get kSecAttrPersistentReference =>
+      _kSecAttrPersistentReference.value;
+
+  set kSecAttrPersistentReference(CFStringRef value) =>
+      _kSecAttrPersistentReference.value = value;
+
+  /// !
+  /// @enum kSecAttrAccessible Value Constants
+  /// @discussion Predefined item attribute constants used to get or set values
+  /// in a dictionary. The kSecAttrAccessible constant is the key and its
+  /// value is one of the constants defined here.
+  /// When asking SecItemCopyMatching to return the item's data, the error
+  /// errSecInteractionNotAllowed will be returned if the item's data is not
+  /// available until a device unlock occurs.
+  /// @constant kSecAttrAccessibleWhenUnlocked Item data can only be accessed
+  /// while the device is unlocked. This is recommended for items that only
+  /// need be accesible while the application is in the foreground.  Items
+  /// with this attribute will migrate to a new device when using encrypted
+  /// backups.
+  /// @constant kSecAttrAccessibleAfterFirstUnlock Item data can only be
+  /// accessed once the device has been unlocked after a restart.  This is
+  /// recommended for items that need to be accesible by background
+  /// applications. Items with this attribute will migrate to a new device
+  /// when using encrypted backups.
+  /// @constant kSecAttrAccessibleAlways Item data can always be accessed
+  /// regardless of the lock state of the device.  This is not recommended
+  /// for anything except system use. Items with this attribute will migrate
+  /// to a new device when using encrypted backups.
+  /// @constant kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly Item data can
+  /// only be accessed while the device is unlocked. This is recommended for
+  /// items that only need to be accessible while the application is in the
+  /// foreground and requires a passcode to be set on the device. Items with
+  /// this attribute will never migrate to a new device, so after a backup
+  /// is restored to a new device, these items will be missing. This
+  /// attribute will not be available on devices without a passcode. Disabling
+  /// the device passcode will cause all previously protected items to
+  /// be deleted.
+  /// @constant kSecAttrAccessibleWhenUnlockedThisDeviceOnly Item data can only
+  /// be accessed while the device is unlocked. This is recommended for items
+  /// that only need be accesible while the application is in the foreground.
+  /// Items with this attribute will never migrate to a new device, so after
+  /// a backup is restored to a new device, these items will be missing.
+  /// @constant kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly Item data can
+  /// only be accessed once the device has been unlocked after a restart.
+  /// This is recommended for items that need to be accessible by background
+  /// applications. Items with this attribute will never migrate to a new
+  /// device, so after a backup is restored to a new device these items will
+  /// be missing.
+  /// @constant kSecAttrAccessibleAlwaysThisDeviceOnly Item data can always
+  /// be accessed regardless of the lock state of the device.  This option
+  /// is not recommended for anything except system use. Items with this
+  /// attribute will never migrate to a new device, so after a backup is
+  /// restored to a new device, these items will be missing.
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessibleWhenUnlocked =
+      _lookup<CFStringRef>('kSecAttrAccessibleWhenUnlocked');
+
+  CFStringRef get kSecAttrAccessibleWhenUnlocked =>
+      _kSecAttrAccessibleWhenUnlocked.value;
+
+  set kSecAttrAccessibleWhenUnlocked(CFStringRef value) =>
+      _kSecAttrAccessibleWhenUnlocked.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessibleAfterFirstUnlock =
+      _lookup<CFStringRef>('kSecAttrAccessibleAfterFirstUnlock');
+
+  CFStringRef get kSecAttrAccessibleAfterFirstUnlock =>
+      _kSecAttrAccessibleAfterFirstUnlock.value;
+
+  set kSecAttrAccessibleAfterFirstUnlock(CFStringRef value) =>
+      _kSecAttrAccessibleAfterFirstUnlock.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessibleAlways =
+      _lookup<CFStringRef>('kSecAttrAccessibleAlways');
+
+  CFStringRef get kSecAttrAccessibleAlways => _kSecAttrAccessibleAlways.value;
+
+  set kSecAttrAccessibleAlways(CFStringRef value) =>
+      _kSecAttrAccessibleAlways.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly =
+      _lookup<CFStringRef>('kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly');
+
+  CFStringRef get kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly =>
+      _kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly.value;
+
+  set kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly(CFStringRef value) =>
+      _kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kSecAttrAccessibleWhenUnlockedThisDeviceOnly =
+      _lookup<CFStringRef>('kSecAttrAccessibleWhenUnlockedThisDeviceOnly');
+
+  CFStringRef get kSecAttrAccessibleWhenUnlockedThisDeviceOnly =>
+      _kSecAttrAccessibleWhenUnlockedThisDeviceOnly.value;
+
+  set kSecAttrAccessibleWhenUnlockedThisDeviceOnly(CFStringRef value) =>
+      _kSecAttrAccessibleWhenUnlockedThisDeviceOnly.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly =
+      _lookup<CFStringRef>('kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly');
+
+  CFStringRef get kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly =>
+      _kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly.value;
+
+  set kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly(CFStringRef value) =>
+      _kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessibleAlwaysThisDeviceOnly =
+      _lookup<CFStringRef>('kSecAttrAccessibleAlwaysThisDeviceOnly');
+
+  CFStringRef get kSecAttrAccessibleAlwaysThisDeviceOnly =>
+      _kSecAttrAccessibleAlwaysThisDeviceOnly.value;
+
+  set kSecAttrAccessibleAlwaysThisDeviceOnly(CFStringRef value) =>
+      _kSecAttrAccessibleAlwaysThisDeviceOnly.value = value;
+
+  /// !
+  /// @enum kSecAttrProtocol Value Constants
+  /// @discussion Predefined item attribute constants used to get or set values
+  /// in a dictionary. The kSecAttrProtocol constant is the key and its
+  /// value is one of the constants defined here.
+  /// @constant kSecAttrProtocolFTP.
+  /// @constant kSecAttrProtocolFTPAccount.
+  /// @constant kSecAttrProtocolHTTP.
+  /// @constant kSecAttrProtocolIRC.
+  /// @constant kSecAttrProtocolNNTP.
+  /// @constant kSecAttrProtocolPOP3.
+  /// @constant kSecAttrProtocolSMTP.
+  /// @constant kSecAttrProtocolSOCKS.
+  /// @constant kSecAttrProtocolIMAP.
+  /// @constant kSecAttrProtocolLDAP.
+  /// @constant kSecAttrProtocolAppleTalk.
+  /// @constant kSecAttrProtocolAFP.
+  /// @constant kSecAttrProtocolTelnet.
+  /// @constant kSecAttrProtocolSSH.
+  /// @constant kSecAttrProtocolFTPS.
+  /// @constant kSecAttrProtocolHTTPS.
+  /// @constant kSecAttrProtocolHTTPProxy.
+  /// @constant kSecAttrProtocolHTTPSProxy.
+  /// @constant kSecAttrProtocolFTPProxy.
+  /// @constant kSecAttrProtocolSMB.
+  /// @constant kSecAttrProtocolRTSP.
+  /// @constant kSecAttrProtocolRTSPProxy.
+  /// @constant kSecAttrProtocolDAAP.
+  /// @constant kSecAttrProtocolEPPC.
+  /// @constant kSecAttrProtocolIPP.
+  /// @constant kSecAttrProtocolNNTPS.
+  /// @constant kSecAttrProtocolLDAPS.
+  /// @constant kSecAttrProtocolTelnetS.
+  /// @constant kSecAttrProtocolIMAPS.
+  /// @constant kSecAttrProtocolIRCS.
+  /// @constant kSecAttrProtocolPOP3S.
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolFTP =
+      _lookup<CFStringRef>('kSecAttrProtocolFTP');
+
+  CFStringRef get kSecAttrProtocolFTP => _kSecAttrProtocolFTP.value;
+
+  set kSecAttrProtocolFTP(CFStringRef value) =>
+      _kSecAttrProtocolFTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolFTPAccount =
+      _lookup<CFStringRef>('kSecAttrProtocolFTPAccount');
+
+  CFStringRef get kSecAttrProtocolFTPAccount =>
+      _kSecAttrProtocolFTPAccount.value;
+
+  set kSecAttrProtocolFTPAccount(CFStringRef value) =>
+      _kSecAttrProtocolFTPAccount.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolHTTP =
+      _lookup<CFStringRef>('kSecAttrProtocolHTTP');
+
+  CFStringRef get kSecAttrProtocolHTTP => _kSecAttrProtocolHTTP.value;
+
+  set kSecAttrProtocolHTTP(CFStringRef value) =>
+      _kSecAttrProtocolHTTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolIRC =
+      _lookup<CFStringRef>('kSecAttrProtocolIRC');
+
+  CFStringRef get kSecAttrProtocolIRC => _kSecAttrProtocolIRC.value;
+
+  set kSecAttrProtocolIRC(CFStringRef value) =>
+      _kSecAttrProtocolIRC.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolNNTP =
+      _lookup<CFStringRef>('kSecAttrProtocolNNTP');
+
+  CFStringRef get kSecAttrProtocolNNTP => _kSecAttrProtocolNNTP.value;
+
+  set kSecAttrProtocolNNTP(CFStringRef value) =>
+      _kSecAttrProtocolNNTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolPOP3 =
+      _lookup<CFStringRef>('kSecAttrProtocolPOP3');
+
+  CFStringRef get kSecAttrProtocolPOP3 => _kSecAttrProtocolPOP3.value;
+
+  set kSecAttrProtocolPOP3(CFStringRef value) =>
+      _kSecAttrProtocolPOP3.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolSMTP =
+      _lookup<CFStringRef>('kSecAttrProtocolSMTP');
+
+  CFStringRef get kSecAttrProtocolSMTP => _kSecAttrProtocolSMTP.value;
+
+  set kSecAttrProtocolSMTP(CFStringRef value) =>
+      _kSecAttrProtocolSMTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolSOCKS =
+      _lookup<CFStringRef>('kSecAttrProtocolSOCKS');
+
+  CFStringRef get kSecAttrProtocolSOCKS => _kSecAttrProtocolSOCKS.value;
+
+  set kSecAttrProtocolSOCKS(CFStringRef value) =>
+      _kSecAttrProtocolSOCKS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolIMAP =
+      _lookup<CFStringRef>('kSecAttrProtocolIMAP');
+
+  CFStringRef get kSecAttrProtocolIMAP => _kSecAttrProtocolIMAP.value;
+
+  set kSecAttrProtocolIMAP(CFStringRef value) =>
+      _kSecAttrProtocolIMAP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolLDAP =
+      _lookup<CFStringRef>('kSecAttrProtocolLDAP');
+
+  CFStringRef get kSecAttrProtocolLDAP => _kSecAttrProtocolLDAP.value;
+
+  set kSecAttrProtocolLDAP(CFStringRef value) =>
+      _kSecAttrProtocolLDAP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolAppleTalk =
+      _lookup<CFStringRef>('kSecAttrProtocolAppleTalk');
+
+  CFStringRef get kSecAttrProtocolAppleTalk => _kSecAttrProtocolAppleTalk.value;
+
+  set kSecAttrProtocolAppleTalk(CFStringRef value) =>
+      _kSecAttrProtocolAppleTalk.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolAFP =
+      _lookup<CFStringRef>('kSecAttrProtocolAFP');
+
+  CFStringRef get kSecAttrProtocolAFP => _kSecAttrProtocolAFP.value;
+
+  set kSecAttrProtocolAFP(CFStringRef value) =>
+      _kSecAttrProtocolAFP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolTelnet =
+      _lookup<CFStringRef>('kSecAttrProtocolTelnet');
+
+  CFStringRef get kSecAttrProtocolTelnet => _kSecAttrProtocolTelnet.value;
+
+  set kSecAttrProtocolTelnet(CFStringRef value) =>
+      _kSecAttrProtocolTelnet.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolSSH =
+      _lookup<CFStringRef>('kSecAttrProtocolSSH');
+
+  CFStringRef get kSecAttrProtocolSSH => _kSecAttrProtocolSSH.value;
+
+  set kSecAttrProtocolSSH(CFStringRef value) =>
+      _kSecAttrProtocolSSH.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolFTPS =
+      _lookup<CFStringRef>('kSecAttrProtocolFTPS');
+
+  CFStringRef get kSecAttrProtocolFTPS => _kSecAttrProtocolFTPS.value;
+
+  set kSecAttrProtocolFTPS(CFStringRef value) =>
+      _kSecAttrProtocolFTPS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolHTTPS =
+      _lookup<CFStringRef>('kSecAttrProtocolHTTPS');
+
+  CFStringRef get kSecAttrProtocolHTTPS => _kSecAttrProtocolHTTPS.value;
+
+  set kSecAttrProtocolHTTPS(CFStringRef value) =>
+      _kSecAttrProtocolHTTPS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolHTTPProxy =
+      _lookup<CFStringRef>('kSecAttrProtocolHTTPProxy');
+
+  CFStringRef get kSecAttrProtocolHTTPProxy => _kSecAttrProtocolHTTPProxy.value;
+
+  set kSecAttrProtocolHTTPProxy(CFStringRef value) =>
+      _kSecAttrProtocolHTTPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolHTTPSProxy =
+      _lookup<CFStringRef>('kSecAttrProtocolHTTPSProxy');
+
+  CFStringRef get kSecAttrProtocolHTTPSProxy =>
+      _kSecAttrProtocolHTTPSProxy.value;
+
+  set kSecAttrProtocolHTTPSProxy(CFStringRef value) =>
+      _kSecAttrProtocolHTTPSProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolFTPProxy =
+      _lookup<CFStringRef>('kSecAttrProtocolFTPProxy');
+
+  CFStringRef get kSecAttrProtocolFTPProxy => _kSecAttrProtocolFTPProxy.value;
+
+  set kSecAttrProtocolFTPProxy(CFStringRef value) =>
+      _kSecAttrProtocolFTPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolSMB =
+      _lookup<CFStringRef>('kSecAttrProtocolSMB');
+
+  CFStringRef get kSecAttrProtocolSMB => _kSecAttrProtocolSMB.value;
+
+  set kSecAttrProtocolSMB(CFStringRef value) =>
+      _kSecAttrProtocolSMB.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolRTSP =
+      _lookup<CFStringRef>('kSecAttrProtocolRTSP');
+
+  CFStringRef get kSecAttrProtocolRTSP => _kSecAttrProtocolRTSP.value;
+
+  set kSecAttrProtocolRTSP(CFStringRef value) =>
+      _kSecAttrProtocolRTSP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolRTSPProxy =
+      _lookup<CFStringRef>('kSecAttrProtocolRTSPProxy');
+
+  CFStringRef get kSecAttrProtocolRTSPProxy => _kSecAttrProtocolRTSPProxy.value;
+
+  set kSecAttrProtocolRTSPProxy(CFStringRef value) =>
+      _kSecAttrProtocolRTSPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolDAAP =
+      _lookup<CFStringRef>('kSecAttrProtocolDAAP');
+
+  CFStringRef get kSecAttrProtocolDAAP => _kSecAttrProtocolDAAP.value;
+
+  set kSecAttrProtocolDAAP(CFStringRef value) =>
+      _kSecAttrProtocolDAAP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolEPPC =
+      _lookup<CFStringRef>('kSecAttrProtocolEPPC');
+
+  CFStringRef get kSecAttrProtocolEPPC => _kSecAttrProtocolEPPC.value;
+
+  set kSecAttrProtocolEPPC(CFStringRef value) =>
+      _kSecAttrProtocolEPPC.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolIPP =
+      _lookup<CFStringRef>('kSecAttrProtocolIPP');
+
+  CFStringRef get kSecAttrProtocolIPP => _kSecAttrProtocolIPP.value;
+
+  set kSecAttrProtocolIPP(CFStringRef value) =>
+      _kSecAttrProtocolIPP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolNNTPS =
+      _lookup<CFStringRef>('kSecAttrProtocolNNTPS');
+
+  CFStringRef get kSecAttrProtocolNNTPS => _kSecAttrProtocolNNTPS.value;
+
+  set kSecAttrProtocolNNTPS(CFStringRef value) =>
+      _kSecAttrProtocolNNTPS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolLDAPS =
+      _lookup<CFStringRef>('kSecAttrProtocolLDAPS');
+
+  CFStringRef get kSecAttrProtocolLDAPS => _kSecAttrProtocolLDAPS.value;
+
+  set kSecAttrProtocolLDAPS(CFStringRef value) =>
+      _kSecAttrProtocolLDAPS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolTelnetS =
+      _lookup<CFStringRef>('kSecAttrProtocolTelnetS');
+
+  CFStringRef get kSecAttrProtocolTelnetS => _kSecAttrProtocolTelnetS.value;
+
+  set kSecAttrProtocolTelnetS(CFStringRef value) =>
+      _kSecAttrProtocolTelnetS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolIMAPS =
+      _lookup<CFStringRef>('kSecAttrProtocolIMAPS');
+
+  CFStringRef get kSecAttrProtocolIMAPS => _kSecAttrProtocolIMAPS.value;
+
+  set kSecAttrProtocolIMAPS(CFStringRef value) =>
+      _kSecAttrProtocolIMAPS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolIRCS =
+      _lookup<CFStringRef>('kSecAttrProtocolIRCS');
+
+  CFStringRef get kSecAttrProtocolIRCS => _kSecAttrProtocolIRCS.value;
+
+  set kSecAttrProtocolIRCS(CFStringRef value) =>
+      _kSecAttrProtocolIRCS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrProtocolPOP3S =
+      _lookup<CFStringRef>('kSecAttrProtocolPOP3S');
+
+  CFStringRef get kSecAttrProtocolPOP3S => _kSecAttrProtocolPOP3S.value;
+
+  set kSecAttrProtocolPOP3S(CFStringRef value) =>
+      _kSecAttrProtocolPOP3S.value = value;
+
+  /// !
+  /// @enum kSecAttrAuthenticationType Value Constants
+  /// @discussion Predefined item attribute constants used to get or set values
+  /// in a dictionary. The kSecAttrAuthenticationType constant is the key
+  /// and its value is one of the constants defined here.
+  /// @constant kSecAttrAuthenticationTypeNTLM.
+  /// @constant kSecAttrAuthenticationTypeMSN.
+  /// @constant kSecAttrAuthenticationTypeDPA.
+  /// @constant kSecAttrAuthenticationTypeRPA.
+  /// @constant kSecAttrAuthenticationTypeHTTPBasic.
+  /// @constant kSecAttrAuthenticationTypeHTTPDigest.
+  /// @constant kSecAttrAuthenticationTypeHTMLForm.
+  /// @constant kSecAttrAuthenticationTypeDefault.
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeNTLM =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeNTLM');
+
+  CFStringRef get kSecAttrAuthenticationTypeNTLM =>
+      _kSecAttrAuthenticationTypeNTLM.value;
+
+  set kSecAttrAuthenticationTypeNTLM(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeNTLM.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeMSN =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeMSN');
+
+  CFStringRef get kSecAttrAuthenticationTypeMSN =>
+      _kSecAttrAuthenticationTypeMSN.value;
+
+  set kSecAttrAuthenticationTypeMSN(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeMSN.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeDPA =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeDPA');
+
+  CFStringRef get kSecAttrAuthenticationTypeDPA =>
+      _kSecAttrAuthenticationTypeDPA.value;
+
+  set kSecAttrAuthenticationTypeDPA(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeDPA.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeRPA =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeRPA');
+
+  CFStringRef get kSecAttrAuthenticationTypeRPA =>
+      _kSecAttrAuthenticationTypeRPA.value;
+
+  set kSecAttrAuthenticationTypeRPA(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeRPA.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeHTTPBasic =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeHTTPBasic');
+
+  CFStringRef get kSecAttrAuthenticationTypeHTTPBasic =>
+      _kSecAttrAuthenticationTypeHTTPBasic.value;
+
+  set kSecAttrAuthenticationTypeHTTPBasic(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeHTTPBasic.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeHTTPDigest =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeHTTPDigest');
+
+  CFStringRef get kSecAttrAuthenticationTypeHTTPDigest =>
+      _kSecAttrAuthenticationTypeHTTPDigest.value;
+
+  set kSecAttrAuthenticationTypeHTTPDigest(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeHTTPDigest.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeHTMLForm =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeHTMLForm');
+
+  CFStringRef get kSecAttrAuthenticationTypeHTMLForm =>
+      _kSecAttrAuthenticationTypeHTMLForm.value;
+
+  set kSecAttrAuthenticationTypeHTMLForm(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeHTMLForm.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrAuthenticationTypeDefault =
+      _lookup<CFStringRef>('kSecAttrAuthenticationTypeDefault');
+
+  CFStringRef get kSecAttrAuthenticationTypeDefault =>
+      _kSecAttrAuthenticationTypeDefault.value;
+
+  set kSecAttrAuthenticationTypeDefault(CFStringRef value) =>
+      _kSecAttrAuthenticationTypeDefault.value = value;
+
+  /// !
+  /// @enum kSecAttrKeyClass Value Constants
+  /// @discussion Predefined item attribute constants used to get or set values
+  /// in a dictionary. The kSecAttrKeyClass constant is the key
+  /// and its value is one of the constants defined here.
+  /// @constant kSecAttrKeyClassPublic.
+  /// @constant kSecAttrKeyClassPrivate.
+  /// @constant kSecAttrKeyClassSymmetric.
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyClassPublic =
+      _lookup<CFStringRef>('kSecAttrKeyClassPublic');
+
+  CFStringRef get kSecAttrKeyClassPublic => _kSecAttrKeyClassPublic.value;
+
+  set kSecAttrKeyClassPublic(CFStringRef value) =>
+      _kSecAttrKeyClassPublic.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyClassPrivate =
+      _lookup<CFStringRef>('kSecAttrKeyClassPrivate');
+
+  CFStringRef get kSecAttrKeyClassPrivate => _kSecAttrKeyClassPrivate.value;
+
+  set kSecAttrKeyClassPrivate(CFStringRef value) =>
+      _kSecAttrKeyClassPrivate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyClassSymmetric =
+      _lookup<CFStringRef>('kSecAttrKeyClassSymmetric');
+
+  CFStringRef get kSecAttrKeyClassSymmetric => _kSecAttrKeyClassSymmetric.value;
+
+  set kSecAttrKeyClassSymmetric(CFStringRef value) =>
+      _kSecAttrKeyClassSymmetric.value = value;
+
+  /// !
+  /// @enum kSecAttrKeyType Value Constants
+  /// @discussion Predefined item attribute constants used to get or set values
+  /// in a dictionary. The kSecAttrKeyType constant is the key
+  /// and its value is one of the constants defined here.
+  /// @constant kSecAttrKeyTypeECSECPrimeRandom. The used curve is P-192, P-256, P-384 or P-521.
+  /// The size is specified by kSecAttrKeySizeInBits attribute. Curves are defined in FIPS PUB 186-4 standard.
+  /// @constant kSecAttrKeyTypeEC This is the legacy name for kSecAttrKeyTypeECSECPrimeRandom, new applications should not use it.
+  /// @constant kSecAttrKeyTypeDSA (OSX only)
+  /// @constant kSecAttrKeyTypeAES (OSX only)
+  /// @constant kSecAttrKeyType3DES (OSX only)
+  /// @constant kSecAttrKeyTypeRC4 (OSX only)
+  /// @constant kSecAttrKeyTypeRC2 (OSX only)
+  /// @constant kSecAttrKeyTypeCAST (OSX only)
+  /// @constant kSecAttrKeyTypeECDSA (deprecated; use kSecAttrKeyTypeECSECPrimeRandom instead.) (OSX only)
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeRSA =
+      _lookup<CFStringRef>('kSecAttrKeyTypeRSA');
+
+  CFStringRef get kSecAttrKeyTypeRSA => _kSecAttrKeyTypeRSA.value;
+
+  set kSecAttrKeyTypeRSA(CFStringRef value) =>
+      _kSecAttrKeyTypeRSA.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeDSA =
+      _lookup<CFStringRef>('kSecAttrKeyTypeDSA');
+
+  CFStringRef get kSecAttrKeyTypeDSA => _kSecAttrKeyTypeDSA.value;
+
+  set kSecAttrKeyTypeDSA(CFStringRef value) =>
+      _kSecAttrKeyTypeDSA.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeAES =
+      _lookup<CFStringRef>('kSecAttrKeyTypeAES');
+
+  CFStringRef get kSecAttrKeyTypeAES => _kSecAttrKeyTypeAES.value;
+
+  set kSecAttrKeyTypeAES(CFStringRef value) =>
+      _kSecAttrKeyTypeAES.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeDES =
+      _lookup<CFStringRef>('kSecAttrKeyTypeDES');
+
+  CFStringRef get kSecAttrKeyTypeDES => _kSecAttrKeyTypeDES.value;
+
+  set kSecAttrKeyTypeDES(CFStringRef value) =>
+      _kSecAttrKeyTypeDES.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyType3DES =
+      _lookup<CFStringRef>('kSecAttrKeyType3DES');
+
+  CFStringRef get kSecAttrKeyType3DES => _kSecAttrKeyType3DES.value;
+
+  set kSecAttrKeyType3DES(CFStringRef value) =>
+      _kSecAttrKeyType3DES.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeRC4 =
+      _lookup<CFStringRef>('kSecAttrKeyTypeRC4');
+
+  CFStringRef get kSecAttrKeyTypeRC4 => _kSecAttrKeyTypeRC4.value;
+
+  set kSecAttrKeyTypeRC4(CFStringRef value) =>
+      _kSecAttrKeyTypeRC4.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeRC2 =
+      _lookup<CFStringRef>('kSecAttrKeyTypeRC2');
+
+  CFStringRef get kSecAttrKeyTypeRC2 => _kSecAttrKeyTypeRC2.value;
+
+  set kSecAttrKeyTypeRC2(CFStringRef value) =>
+      _kSecAttrKeyTypeRC2.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeCAST =
+      _lookup<CFStringRef>('kSecAttrKeyTypeCAST');
+
+  CFStringRef get kSecAttrKeyTypeCAST => _kSecAttrKeyTypeCAST.value;
+
+  set kSecAttrKeyTypeCAST(CFStringRef value) =>
+      _kSecAttrKeyTypeCAST.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeECDSA =
+      _lookup<CFStringRef>('kSecAttrKeyTypeECDSA');
+
+  CFStringRef get kSecAttrKeyTypeECDSA => _kSecAttrKeyTypeECDSA.value;
+
+  set kSecAttrKeyTypeECDSA(CFStringRef value) =>
+      _kSecAttrKeyTypeECDSA.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeEC =
+      _lookup<CFStringRef>('kSecAttrKeyTypeEC');
+
+  CFStringRef get kSecAttrKeyTypeEC => _kSecAttrKeyTypeEC.value;
+
+  set kSecAttrKeyTypeEC(CFStringRef value) => _kSecAttrKeyTypeEC.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrKeyTypeECSECPrimeRandom =
+      _lookup<CFStringRef>('kSecAttrKeyTypeECSECPrimeRandom');
+
+  CFStringRef get kSecAttrKeyTypeECSECPrimeRandom =>
+      _kSecAttrKeyTypeECSECPrimeRandom.value;
+
+  set kSecAttrKeyTypeECSECPrimeRandom(CFStringRef value) =>
+      _kSecAttrKeyTypeECSECPrimeRandom.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPRFHmacAlgSHA1 =
+      _lookup<CFStringRef>('kSecAttrPRFHmacAlgSHA1');
+
+  CFStringRef get kSecAttrPRFHmacAlgSHA1 => _kSecAttrPRFHmacAlgSHA1.value;
+
+  set kSecAttrPRFHmacAlgSHA1(CFStringRef value) =>
+      _kSecAttrPRFHmacAlgSHA1.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPRFHmacAlgSHA224 =
+      _lookup<CFStringRef>('kSecAttrPRFHmacAlgSHA224');
+
+  CFStringRef get kSecAttrPRFHmacAlgSHA224 => _kSecAttrPRFHmacAlgSHA224.value;
+
+  set kSecAttrPRFHmacAlgSHA224(CFStringRef value) =>
+      _kSecAttrPRFHmacAlgSHA224.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPRFHmacAlgSHA256 =
+      _lookup<CFStringRef>('kSecAttrPRFHmacAlgSHA256');
+
+  CFStringRef get kSecAttrPRFHmacAlgSHA256 => _kSecAttrPRFHmacAlgSHA256.value;
+
+  set kSecAttrPRFHmacAlgSHA256(CFStringRef value) =>
+      _kSecAttrPRFHmacAlgSHA256.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPRFHmacAlgSHA384 =
+      _lookup<CFStringRef>('kSecAttrPRFHmacAlgSHA384');
+
+  CFStringRef get kSecAttrPRFHmacAlgSHA384 => _kSecAttrPRFHmacAlgSHA384.value;
+
+  set kSecAttrPRFHmacAlgSHA384(CFStringRef value) =>
+      _kSecAttrPRFHmacAlgSHA384.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecAttrPRFHmacAlgSHA512 =
+      _lookup<CFStringRef>('kSecAttrPRFHmacAlgSHA512');
+
+  CFStringRef get kSecAttrPRFHmacAlgSHA512 => _kSecAttrPRFHmacAlgSHA512.value;
+
+  set kSecAttrPRFHmacAlgSHA512(CFStringRef value) =>
+      _kSecAttrPRFHmacAlgSHA512.value = value;
+
+  /// !
+  /// @enum Search Constants
+  /// @discussion Predefined search constants used to set values in a query
+  /// dictionary. You can specify a combination of search attributes and
+  /// item attributes when looking for matching items with the
+  /// SecItemCopyMatching function.
+  /// @constant kSecMatchPolicy Specifies a dictionary key whose value is a
+  /// SecPolicyRef. If provided, returned certificates or identities must
+  /// verify with this policy.
+  /// @constant kSecMatchItemList OS X only. Specifies a dictionary key whose value is a
+  /// CFArray of SecKeychainItemRef items. If provided, returned items will be
+  /// limited to the subset which are contained in this list.
+  /// @constant kSecMatchSearchList Specifies a dictionary key whose value is a
+  /// CFArray of SecKeychainRef items. If provided, the search will be limited
+  /// to the keychains contained in this list.
+  /// @constant kSecMatchIssuers Specifies a dictionary key whose value is a
+  /// CFArray of X.500 names (of type CFDataRef). If provided, returned
+  /// certificates or identities will be limited to those whose
+  /// certificate chain contains one of the issuers provided in this list.
+  /// @constant kSecMatchEmailAddressIfPresent Specifies a dictionary key whose
+  /// value is a CFStringRef containing an RFC822 email address. If
+  /// provided, returned certificates or identities will be limited to those
+  /// that contain the address, or do not contain any email address.
+  /// @constant kSecMatchSubjectContains Specifies a dictionary key whose value
+  /// is a CFStringRef. If provided, returned certificates or identities
+  /// will be limited to those containing this string in the subject.
+  /// @constant kSecMatchSubjectStartsWith OS X only. Specifies a dictionary key whose value
+  /// is a CFStringRef. If provided, returned certificates or identities
+  /// will be limited to those with subject names that start with this string.
+  /// @constant kSecMatchSubjectEndsWith OS X only. Specifies a dictionary key whose value
+  /// is a CFStringRef. If provided, returned certificates or identities
+  /// will be limited to those with subject names that end with this string.
+  /// @constant kSecMatchSubjectWholeString OS X only. Specifies a dictionary key whose
+  /// value is a CFStringRef. If provided, returned certificates or identities
+  /// will be limited to those matching this string exactly in the subject.
+  /// @constant kSecMatchCaseInsensitive Specifies a dictionary key whose value
+  /// is a CFBooleanRef. If this value is kCFBooleanFalse, or is not
+  /// provided, then case-sensitive string matching is performed.
+  /// @constant kSecMatchDiacriticInsensitive OS X only. Specifies a dictionary key whose
+  /// value is a CFBooleanRef. If this value is kCFBooleanFalse, or is not
+  /// provided, then diacritic-sensitive string matching is performed.
+  /// @constant kSecMatchWidthInsensitive OS X only. Specifies a dictionary key whose
+  /// value is a CFBooleanRef. If this value is kCFBooleanFalse, or is not
+  /// provided, then string matching is width-sensitive (e.g. 'a' != 0xFF41).
+  /// @constant kSecMatchTrustedOnly Specifies a dictionary key whose value is
+  /// a CFBooleanRef. If provided with a value of kCFBooleanTrue, only
+  /// certificates which can be verified back to a trusted anchor will be
+  /// returned. If this value is kCFBooleanFalse, or is not provided, then
+  /// both trusted and untrusted certificates may be returned.
+  /// @constant kSecMatchValidOnDate Specifies a dictionary key whose value is
+  /// of type CFDateRef. If provided, returned keys, certificates or
+  /// identities will be limited to those which are valid for the given date.
+  /// Pass a value of kCFNull to indicate the current date.
+  /// @constant kSecMatchLimit Specifies a dictionary key whose value is a
+  /// CFNumberRef. If provided, this value specifies the maximum number of
+  /// results to return. If not provided, results are limited to the first
+  /// item found. Predefined values are provided for a single item
+  /// (kSecMatchLimitOne) and all matching items (kSecMatchLimitAll).
+  /// @constant kSecMatchLimitOne Specifies that results are limited to the first
+  /// item found; used as a value for the kSecMatchLimit dictionary key.
+  /// @constant kSecMatchLimitAll Specifies that an unlimited number of results
+  /// may be returned; used as a value for the kSecMatchLimit dictionary
+  /// key.
+  late final ffi.Pointer<CFStringRef> _kSecMatchPolicy =
+      _lookup<CFStringRef>('kSecMatchPolicy');
+
+  CFStringRef get kSecMatchPolicy => _kSecMatchPolicy.value;
+
+  set kSecMatchPolicy(CFStringRef value) => _kSecMatchPolicy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchItemList =
+      _lookup<CFStringRef>('kSecMatchItemList');
+
+  CFStringRef get kSecMatchItemList => _kSecMatchItemList.value;
+
+  set kSecMatchItemList(CFStringRef value) => _kSecMatchItemList.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchSearchList =
+      _lookup<CFStringRef>('kSecMatchSearchList');
+
+  CFStringRef get kSecMatchSearchList => _kSecMatchSearchList.value;
+
+  set kSecMatchSearchList(CFStringRef value) =>
+      _kSecMatchSearchList.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchIssuers =
+      _lookup<CFStringRef>('kSecMatchIssuers');
+
+  CFStringRef get kSecMatchIssuers => _kSecMatchIssuers.value;
+
+  set kSecMatchIssuers(CFStringRef value) => _kSecMatchIssuers.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchEmailAddressIfPresent =
+      _lookup<CFStringRef>('kSecMatchEmailAddressIfPresent');
+
+  CFStringRef get kSecMatchEmailAddressIfPresent =>
+      _kSecMatchEmailAddressIfPresent.value;
+
+  set kSecMatchEmailAddressIfPresent(CFStringRef value) =>
+      _kSecMatchEmailAddressIfPresent.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchSubjectContains =
+      _lookup<CFStringRef>('kSecMatchSubjectContains');
+
+  CFStringRef get kSecMatchSubjectContains => _kSecMatchSubjectContains.value;
+
+  set kSecMatchSubjectContains(CFStringRef value) =>
+      _kSecMatchSubjectContains.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchSubjectStartsWith =
+      _lookup<CFStringRef>('kSecMatchSubjectStartsWith');
+
+  CFStringRef get kSecMatchSubjectStartsWith =>
+      _kSecMatchSubjectStartsWith.value;
+
+  set kSecMatchSubjectStartsWith(CFStringRef value) =>
+      _kSecMatchSubjectStartsWith.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchSubjectEndsWith =
+      _lookup<CFStringRef>('kSecMatchSubjectEndsWith');
+
+  CFStringRef get kSecMatchSubjectEndsWith => _kSecMatchSubjectEndsWith.value;
+
+  set kSecMatchSubjectEndsWith(CFStringRef value) =>
+      _kSecMatchSubjectEndsWith.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchSubjectWholeString =
+      _lookup<CFStringRef>('kSecMatchSubjectWholeString');
+
+  CFStringRef get kSecMatchSubjectWholeString =>
+      _kSecMatchSubjectWholeString.value;
+
+  set kSecMatchSubjectWholeString(CFStringRef value) =>
+      _kSecMatchSubjectWholeString.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchCaseInsensitive =
+      _lookup<CFStringRef>('kSecMatchCaseInsensitive');
+
+  CFStringRef get kSecMatchCaseInsensitive => _kSecMatchCaseInsensitive.value;
+
+  set kSecMatchCaseInsensitive(CFStringRef value) =>
+      _kSecMatchCaseInsensitive.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchDiacriticInsensitive =
+      _lookup<CFStringRef>('kSecMatchDiacriticInsensitive');
+
+  CFStringRef get kSecMatchDiacriticInsensitive =>
+      _kSecMatchDiacriticInsensitive.value;
+
+  set kSecMatchDiacriticInsensitive(CFStringRef value) =>
+      _kSecMatchDiacriticInsensitive.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchWidthInsensitive =
+      _lookup<CFStringRef>('kSecMatchWidthInsensitive');
+
+  CFStringRef get kSecMatchWidthInsensitive => _kSecMatchWidthInsensitive.value;
+
+  set kSecMatchWidthInsensitive(CFStringRef value) =>
+      _kSecMatchWidthInsensitive.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchTrustedOnly =
+      _lookup<CFStringRef>('kSecMatchTrustedOnly');
+
+  CFStringRef get kSecMatchTrustedOnly => _kSecMatchTrustedOnly.value;
+
+  set kSecMatchTrustedOnly(CFStringRef value) =>
+      _kSecMatchTrustedOnly.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchValidOnDate =
+      _lookup<CFStringRef>('kSecMatchValidOnDate');
+
+  CFStringRef get kSecMatchValidOnDate => _kSecMatchValidOnDate.value;
+
+  set kSecMatchValidOnDate(CFStringRef value) =>
+      _kSecMatchValidOnDate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchLimit =
+      _lookup<CFStringRef>('kSecMatchLimit');
+
+  CFStringRef get kSecMatchLimit => _kSecMatchLimit.value;
+
+  set kSecMatchLimit(CFStringRef value) => _kSecMatchLimit.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchLimitOne =
+      _lookup<CFStringRef>('kSecMatchLimitOne');
+
+  CFStringRef get kSecMatchLimitOne => _kSecMatchLimitOne.value;
+
+  set kSecMatchLimitOne(CFStringRef value) => _kSecMatchLimitOne.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecMatchLimitAll =
+      _lookup<CFStringRef>('kSecMatchLimitAll');
+
+  CFStringRef get kSecMatchLimitAll => _kSecMatchLimitAll.value;
+
+  set kSecMatchLimitAll(CFStringRef value) => _kSecMatchLimitAll.value = value;
+
+  /// !
+  /// @enum Return Type Key Constants
+  /// @discussion Predefined return type keys used to set values in a dictionary.
+  /// You use these keys to specify the type of results which should be
+  /// returned by the SecItemCopyMatching or SecItemAdd function. You can
+  /// specify zero or more of these return types. If more than one of these
+  /// result types is specified, the result is returned as a CFDictionaryRef
+  /// whose keys are the result types and values are the requested data.
+  /// @constant kSecReturnData Specifies a dictionary key whose value is of type
+  /// CFBooleanRef. A value of kCFBooleanTrue indicates that the data of
+  /// an item (CFDataRef) should be returned. For keys and password
+  /// items, data is secret (encrypted) and may require the user to enter
+  /// a password for access.
+  /// @constant kSecReturnAttributes Specifies a dictionary key whose value is
+  /// of type CFBooleanRef. A value of kCFBooleanTrue indicates that the
+  /// (non-encrypted) attributes of an item (CFDictionaryRef) should be
+  /// returned.
+  /// @constant kSecReturnRef Specifies a dictionary key whose value is a
+  /// CFBooleanRef. A value of kCFBooleanTrue indicates that a reference
+  /// should be returned. Depending on the item class requested, the
+  /// returned reference(s) may be of type SecKeychainItemRef, SecKeyRef,
+  /// SecCertificateRef, or SecIdentityRef.
+  /// @constant kSecReturnPersistentRef Specifies a dictionary key whose value
+  /// is of type CFBooleanRef. A value of kCFBooleanTrue indicates that a
+  /// persistent reference to an item (CFDataRef) should be returned.
+  late final ffi.Pointer<CFStringRef> _kSecReturnData =
+      _lookup<CFStringRef>('kSecReturnData');
+
+  CFStringRef get kSecReturnData => _kSecReturnData.value;
+
+  set kSecReturnData(CFStringRef value) => _kSecReturnData.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecReturnAttributes =
+      _lookup<CFStringRef>('kSecReturnAttributes');
+
+  CFStringRef get kSecReturnAttributes => _kSecReturnAttributes.value;
+
+  set kSecReturnAttributes(CFStringRef value) =>
+      _kSecReturnAttributes.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecReturnRef =
+      _lookup<CFStringRef>('kSecReturnRef');
+
+  CFStringRef get kSecReturnRef => _kSecReturnRef.value;
+
+  set kSecReturnRef(CFStringRef value) => _kSecReturnRef.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecReturnPersistentRef =
+      _lookup<CFStringRef>('kSecReturnPersistentRef');
+
+  CFStringRef get kSecReturnPersistentRef => _kSecReturnPersistentRef.value;
+
+  set kSecReturnPersistentRef(CFStringRef value) =>
+      _kSecReturnPersistentRef.value = value;
+
+  /// !
+  /// @enum Value Type Key Constants
+  /// @discussion Predefined value type keys used to pass values in a dictionary.
+  /// You can specify zero or more of these types depending on the function
+  /// you are calling.  For SecItemCopyMatching or SecItemAdd these are
+  /// used as keys in the results dictionary.
+  /// @constant kSecValueData Specifies a dictionary key whose value is of type
+  /// CFDataRef.  For keys and password items, data is secret (encrypted)
+  /// and may require the user to enter a password for access.
+  /// @constant kSecValueRef Specifies a dictionary key whose value, depending
+  /// on the item class requested, is of type SecKeychainItemRef, SecKeyRef,
+  /// SecCertificateRef, or SecIdentityRef.
+  /// @constant kSecValuePersistentRef Specifies a dictionary key whose value
+  /// is of type CFDataRef.  The bytes in this CFDataRef can be stored by
+  /// the caller and used on a subsequent invocation of the application (or
+  /// even a different application) to retrieve the item referenced by it.
+  late final ffi.Pointer<CFStringRef> _kSecValueData =
+      _lookup<CFStringRef>('kSecValueData');
+
+  CFStringRef get kSecValueData => _kSecValueData.value;
+
+  set kSecValueData(CFStringRef value) => _kSecValueData.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecValueRef =
+      _lookup<CFStringRef>('kSecValueRef');
+
+  CFStringRef get kSecValueRef => _kSecValueRef.value;
+
+  set kSecValueRef(CFStringRef value) => _kSecValueRef.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecValuePersistentRef =
+      _lookup<CFStringRef>('kSecValuePersistentRef');
+
+  CFStringRef get kSecValuePersistentRef => _kSecValuePersistentRef.value;
+
+  set kSecValuePersistentRef(CFStringRef value) =>
+      _kSecValuePersistentRef.value = value;
+
+  /// !
+  /// @enum Other Constants
+  /// @discussion Predefined constants used to set values in a dictionary.
+  /// @constant kSecUseItemList Specifies a dictionary key whose value is a
+  /// CFArray of items. If provided, this array is treated as the set of
+  /// all possible items to search, or add if the API being called is
+  /// SecItemAdd. The items in this array may be of type SecKeyRef,
+  /// SecCertificateRef, SecIdentityRef, or CFDataRef (for a persistent
+  /// item reference.) The items in the array must all be of the same
+  /// type. When this attribute is provided, no keychains are searched.
+  /// @constant kSecUseKeychain OS X only. Specifies a dictionary key whose value is a
+  /// keychain reference. You use this key to specify a value of type
+  /// SecKeychainRef to which SecItemAdd will add the provided item(s).
+  /// @constant kSecUseOperationPrompt Specifies a dictionary key whose value
+  /// is a CFStringRef that represents a user-visible string describing
+  /// the operation for which the application is attempting to authenticate.
+  /// The application is responsible for the text localization.
+  /// @constant kSecUseNoAuthenticationUI OS X only. Specifies a dictionary key whose value
+  /// is a CFBooleanRef. If provided with a value of kCFBooleanTrue, the error
+  /// errSecInteractionNotAllowed will be returned if the item is attempting
+  /// to authenticate with UI.
+  /// @constant kSecUseAuthenticationUI Specifies a dictionary key whose value
+  /// is one of kSecUseAuthenticationUIAllow, kSecUseAuthenticationUIFail, kSecUseAuthenticationUISkip.
+  /// @constant kSecUseAuthenticationContext Specifies a dictionary key whose value
+  /// is LAContext to be used for keychain item authentication.
+  /// If the item requires authentication and this key is omitted, a new context
+  /// will be created just for the purpose of the single call.
+  /// If the specified context has been previously authenticated, the operation
+  /// will succeed without asking user for authentication.
+  /// If the specified context has not been previously authenticated, the new
+  /// authentication will be started on this context, allowing caller to
+  /// eventually reuse the successfully authenticated context in subsequent
+  /// keychain operations.
+  /// @constant kSecUseDataProtectionKeychain Specifies a dictionary key whose value
+  /// is a CFBooleanRef. Set to kCFBooleanTrue to use kSecAttrAccessGroup and/or
+  /// kSecAttrAccessible on macOS without requiring the item to be marked synchronizable.
+  /// @constant kSecUseUserIndependentKeychain Specifies a dctionary key whose value is a CFBooleanRef
+  /// indicating whether the item is shared with other personas on the system.
+  late final ffi.Pointer<CFStringRef> _kSecUseItemList =
+      _lookup<CFStringRef>('kSecUseItemList');
+
+  CFStringRef get kSecUseItemList => _kSecUseItemList.value;
+
+  set kSecUseItemList(CFStringRef value) => _kSecUseItemList.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseKeychain =
+      _lookup<CFStringRef>('kSecUseKeychain');
+
+  CFStringRef get kSecUseKeychain => _kSecUseKeychain.value;
+
+  set kSecUseKeychain(CFStringRef value) => _kSecUseKeychain.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseOperationPrompt =
+      _lookup<CFStringRef>('kSecUseOperationPrompt');
+
+  CFStringRef get kSecUseOperationPrompt => _kSecUseOperationPrompt.value;
+
+  set kSecUseOperationPrompt(CFStringRef value) =>
+      _kSecUseOperationPrompt.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseNoAuthenticationUI =
+      _lookup<CFStringRef>('kSecUseNoAuthenticationUI');
+
+  CFStringRef get kSecUseNoAuthenticationUI => _kSecUseNoAuthenticationUI.value;
+
+  set kSecUseNoAuthenticationUI(CFStringRef value) =>
+      _kSecUseNoAuthenticationUI.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseAuthenticationUI =
+      _lookup<CFStringRef>('kSecUseAuthenticationUI');
+
+  CFStringRef get kSecUseAuthenticationUI => _kSecUseAuthenticationUI.value;
+
+  set kSecUseAuthenticationUI(CFStringRef value) =>
+      _kSecUseAuthenticationUI.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseAuthenticationContext =
+      _lookup<CFStringRef>('kSecUseAuthenticationContext');
+
+  CFStringRef get kSecUseAuthenticationContext =>
+      _kSecUseAuthenticationContext.value;
+
+  set kSecUseAuthenticationContext(CFStringRef value) =>
+      _kSecUseAuthenticationContext.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseDataProtectionKeychain =
+      _lookup<CFStringRef>('kSecUseDataProtectionKeychain');
+
+  CFStringRef get kSecUseDataProtectionKeychain =>
+      _kSecUseDataProtectionKeychain.value;
+
+  set kSecUseDataProtectionKeychain(CFStringRef value) =>
+      _kSecUseDataProtectionKeychain.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseUserIndependentKeychain =
+      _lookup<CFStringRef>('kSecUseUserIndependentKeychain');
+
+  CFStringRef get kSecUseUserIndependentKeychain =>
+      _kSecUseUserIndependentKeychain.value;
+
+  set kSecUseUserIndependentKeychain(CFStringRef value) =>
+      _kSecUseUserIndependentKeychain.value = value;
+
+  /// !
+  /// @enum kSecUseAuthenticationUI Value Constants
+  /// @discussion Predefined item attribute constants used to get or set values
+  /// in a dictionary. The kSecUseAuthenticationUI constant is the key and its
+  /// value is one of the constants defined here.
+  /// If the key kSecUseAuthenticationUI not provided then kSecUseAuthenticationUIAllow
+  /// is used as default.
+  /// @constant kSecUseAuthenticationUIAllow Specifies that authenticate UI can appear.
+  /// @constant kSecUseAuthenticationUIFail Specifies that the error
+  /// errSecInteractionNotAllowed will be returned if an item needs
+  /// to authenticate with UI
+  /// @constant kSecUseAuthenticationUIAllowSkip Specifies that all items which need
+  /// to authenticate with UI will be silently skipped. This value can be used
+  /// only with SecItemCopyMatching.
+  late final ffi.Pointer<CFStringRef> _kSecUseAuthenticationUIAllow =
+      _lookup<CFStringRef>('kSecUseAuthenticationUIAllow');
+
+  CFStringRef get kSecUseAuthenticationUIAllow =>
+      _kSecUseAuthenticationUIAllow.value;
+
+  set kSecUseAuthenticationUIAllow(CFStringRef value) =>
+      _kSecUseAuthenticationUIAllow.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseAuthenticationUIFail =
+      _lookup<CFStringRef>('kSecUseAuthenticationUIFail');
+
+  CFStringRef get kSecUseAuthenticationUIFail =>
+      _kSecUseAuthenticationUIFail.value;
+
+  set kSecUseAuthenticationUIFail(CFStringRef value) =>
+      _kSecUseAuthenticationUIFail.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecUseAuthenticationUISkip =
+      _lookup<CFStringRef>('kSecUseAuthenticationUISkip');
+
+  CFStringRef get kSecUseAuthenticationUISkip =>
+      _kSecUseAuthenticationUISkip.value;
+
+  set kSecUseAuthenticationUISkip(CFStringRef value) =>
+      _kSecUseAuthenticationUISkip.value = value;
+
+  /// !
+  /// @enum kSecAttrTokenID Value Constants
+  /// @discussion Predefined item attribute constant used to get or set values
+  /// in a dictionary. The kSecAttrTokenID constant is the key and its value
+  /// can be kSecAttrTokenIDSecureEnclave.
+  /// @constant kSecAttrTokenIDSecureEnclave Specifies well-known identifier of the
+  /// token implemented using device's Secure Enclave. The only keychain items
+  /// supported by the Secure Enclave token are 256-bit elliptic curve keys
+  /// (kSecAttrKeyTypeECSecPrimeRandom). Keys must be generated on the secure enclave using
+  /// SecKeyGenerateKeyPair call with kSecAttrTokenID set to
+  /// kSecAttrTokenIDSecureEnclave in the parameters dictionary, it is not
+  /// possible to import pregenerated keys to kSecAttrTokenIDSecureEnclave token.
+  late final ffi.Pointer<CFStringRef> _kSecAttrTokenIDSecureEnclave =
+      _lookup<CFStringRef>('kSecAttrTokenIDSecureEnclave');
+
+  CFStringRef get kSecAttrTokenIDSecureEnclave =>
+      _kSecAttrTokenIDSecureEnclave.value;
+
+  set kSecAttrTokenIDSecureEnclave(CFStringRef value) =>
+      _kSecAttrTokenIDSecureEnclave.value = value;
+
+  /// !
+  /// @enum kSecAttrAccessGroup Value Constants
+  /// @constant kSecAttrAccessGroupToken Represents well-known access group
+  /// which contains items provided by external token (typically smart card).
+  /// This may be used as a value for kSecAttrAccessGroup attribute. Every
+  /// application has access to this access group so it is not needed to
+  /// explicitly list it in keychain-access-groups entitlement, but application
+  /// must explicitly state this access group in keychain queries in order to
+  /// be able to access items from external tokens.
+  late final ffi.Pointer<CFStringRef> _kSecAttrAccessGroupToken =
+      _lookup<CFStringRef>('kSecAttrAccessGroupToken');
+
+  CFStringRef get kSecAttrAccessGroupToken => _kSecAttrAccessGroupToken.value;
+
+  set kSecAttrAccessGroupToken(CFStringRef value) =>
+      _kSecAttrAccessGroupToken.value = value;
+
+  /// !
+  /// @function SecItemCopyMatching
+  /// @abstract Returns one or more items which match a search query.
+  /// @param query A dictionary containing an item class specification and
+  /// optional attributes for controlling the search. See the "Keychain
+  /// Search Attributes" section for a description of currently defined
+  /// search attributes.
+  /// @param result On return, a CFTypeRef reference to the found item(s). The
+  /// exact type of the result is based on the search attributes supplied
+  /// in the query, as discussed below.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion Attributes defining a search are specified by adding key/value
+  /// pairs to the query dictionary.
+  ///
+  /// A typical query consists of:
+  ///
+  /// a kSecClass key, whose value is a constant from the Class
+  /// Constants section that specifies the class of item(s) to be searched
+  /// one or more keys from the "Attribute Key Constants" section, whose value
+  /// is the attribute data to be matched
+  /// one or more keys from the "Search Constants" section, whose value is
+  /// used to further refine the search
+  /// a key from the "Return Type Key Constants" section, specifying the type of
+  /// results desired
+  ///
+  /// Result types are specified as follows:
+  ///
+  /// To obtain the data of a matching item (CFDataRef), specify
+  /// kSecReturnData with a value of kCFBooleanTrue.
+  /// To obtain the attributes of a matching item (CFDictionaryRef), specify
+  /// kSecReturnAttributes with a value of kCFBooleanTrue.
+  /// To obtain a reference to a matching item (SecKeychainItemRef,
+  /// SecKeyRef, SecCertificateRef, or SecIdentityRef), specify kSecReturnRef
+  /// with a value of kCFBooleanTrue.
+  /// To obtain a persistent reference to a matching item (CFDataRef),
+  /// specify kSecReturnPersistentRef with a value of kCFBooleanTrue. Note
+  /// that unlike normal references, a persistent reference may be stored
+  /// on disk or passed between processes.
+  /// If more than one of these result types is specified, the result is
+  /// returned as a CFDictionaryRef containing all the requested data.
+  /// If a result type is not specified, no results are returned.
+  ///
+  /// By default, this function returns only the first match found. To obtain
+  /// more than one matching item at a time, specify kSecMatchLimit with a value
+  /// greater than 1. The result will be a CFArrayRef containing up to that
+  /// number of matching items; the items' types are described above.
+  ///
+  /// To filter a provided list of items down to those matching the query,
+  /// specify a kSecMatchItemList whose value is a CFArray of SecKeychainItemRef,
+  /// SecKeyRef, SecCertificateRef, or SecIdentityRef items. The objects in the
+  /// provided array must be of the same type.
+  ///
+  /// On iOS, to convert from a persistent item reference to a normal item reference,
+  /// specify a kSecValuePersistentRef whose value a CFDataRef (the persistent
+  /// reference), and a kSecReturnRef whose value is kCFBooleanTrue.
+  ///
+  /// On OSX, to convert from persistent item references to normal item references,
+  /// specify a kSecMatchItemList whose value is a CFArray containing one or
+  /// more CFDataRef elements (the persistent reference), and a kSecReturnRef
+  /// whose value is kCFBooleanTrue. The objects in the provided array must be
+  /// of the same type.
+  int SecItemCopyMatching(
+    CFDictionaryRef query,
+    ffi.Pointer<CFTypeRef> result,
+  ) {
+    return _SecItemCopyMatching(
+      query,
+      result,
+    );
+  }
+
+  late final _SecItemCopyMatchingPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              CFDictionaryRef, ffi.Pointer<CFTypeRef>)>>('SecItemCopyMatching');
+  late final _SecItemCopyMatching = _SecItemCopyMatchingPtr.asFunction<
+      int Function(CFDictionaryRef, ffi.Pointer<CFTypeRef>)>();
+
+  /// !
+  /// @function SecItemAdd
+  /// @abstract Add one or more items to a keychain.
+  /// @param attributes A dictionary containing an item class specification and
+  /// optional entries specifying the item's attribute values. See the
+  /// "Attribute Key Constants" section for a description of currently defined
+  /// attributes.
+  /// @param result On return, a CFTypeRef reference to the newly added item(s).
+  /// The exact type of the result is based on the values supplied
+  /// in attributes, as discussed below. Pass NULL if this result is not
+  /// required.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion Attributes defining an item are specified by adding key/value
+  /// pairs to the attributes dictionary.  To add multiple items to a keychain
+  /// at once use the kSecUseItemList key with an array of items as its value.
+  /// This is currently only supported for non password items.
+  ///
+  /// On OSX, To add an item to a particular keychain, supply kSecUseKeychain
+  /// with a SecKeychainRef as its value.
+  ///
+  /// Result types are specified as follows:
+  ///
+  /// To obtain the data of the added item (CFDataRef), specify
+  /// kSecReturnData with a value of kCFBooleanTrue.
+  /// To obtain all the attributes of the added item (CFDictionaryRef),
+  /// specify kSecReturnAttributes with a value of kCFBooleanTrue.
+  /// To obtain a reference to the added item (SecKeychainItemRef, SecKeyRef,
+  /// SecCertiicateRef, or SecIdentityRef), specify kSecReturnRef with a
+  /// value of kCFBooleanTrue.
+  /// To obtain a persistent reference to the added item (CFDataRef), specify
+  /// kSecReturnPersistentRef with a value of kCFBooleanTrue. Note that
+  /// unlike normal references, a persistent reference may be stored on disk
+  /// or passed between processes.
+  /// If more than one of these result types is specified, the result is
+  /// returned as a CFDictionaryRef containing all the requested data.
+  /// On iOS, if a result type is not specified, no results are returned.
+  /// On OSX, the added item is returned.
+  int SecItemAdd(
+    CFDictionaryRef attributes,
+    ffi.Pointer<CFTypeRef> result,
+  ) {
+    return _SecItemAdd(
+      attributes,
+      result,
+    );
+  }
+
+  late final _SecItemAddPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              CFDictionaryRef, ffi.Pointer<CFTypeRef>)>>('SecItemAdd');
+  late final _SecItemAdd = _SecItemAddPtr.asFunction<
+      int Function(CFDictionaryRef, ffi.Pointer<CFTypeRef>)>();
+
+  /// !
+  /// @function SecItemUpdate
+  /// @abstract Modify zero or more items which match a search query.
+  /// @param query A dictionary containing an item class specification and
+  /// optional attributes for controlling the search. See the "Attribute
+  /// Constants" and "Search Constants" sections for a description of
+  /// currently defined search attributes.
+  /// @param attributesToUpdate A dictionary containing one or more attributes
+  /// whose values should be set to the ones specified. Only real keychain
+  /// attributes are permitted in this dictionary (no "meta" attributes are
+  /// allowed.) See the "Attribute Key Constants" section for a description of
+  /// currently defined value attributes.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion Attributes defining a search are specified by adding key/value
+  /// pairs to the query dictionary.
+  int SecItemUpdate(
+    CFDictionaryRef query,
+    CFDictionaryRef attributesToUpdate,
+  ) {
+    return _SecItemUpdate(
+      query,
+      attributesToUpdate,
+    );
+  }
+
+  late final _SecItemUpdatePtr = _lookup<
+          ffi
+          .NativeFunction<OSStatus Function(CFDictionaryRef, CFDictionaryRef)>>(
+      'SecItemUpdate');
+  late final _SecItemUpdate = _SecItemUpdatePtr.asFunction<
+      int Function(CFDictionaryRef, CFDictionaryRef)>();
+
+  /// !
+  /// @function SecItemDelete
+  /// @abstract Delete zero or more items which match a search query.
+  /// @param query A dictionary containing an item class specification and
+  /// optional attributes for controlling the search. See the "Attribute
+  /// Constants" and "Search Constants" sections for a description of
+  /// currently defined search attributes.
+  /// @result A result code.  See "Security Error Codes" (SecBase.h).
+  /// @discussion Attributes defining a search are specified by adding key/value
+  /// pairs to the query dictionary.
+  ///
+  /// By default, this function deletes all items matching the specified query.
+  /// You can change this behavior by specifying one of the follow keys:
+  ///
+  /// To delete an item identified by a transient reference, on iOS, specify
+  /// kSecValueRef with a item reference. On OS X, give a kSecMatchItemList
+  /// containing an item reference.
+  /// To delete an item identified by a persistent reference, on iOS, specify
+  /// kSecValuePersistentRef with a persistent reference returned by
+  /// using the kSecReturnPersistentRef key to SecItemCopyMatching or
+  /// SecItemAdd. on OSX, use kSecMatchItemList with a persistent reference
+  /// returned by using the kSecReturnPersistentRef key with
+  /// SecItemCopyMatching or SecItemAdd.
+  /// To delete multiple items specify kSecMatchItemList with an array
+  /// of references.
+  /// If more than one of these result keys is specified, the behavior is
+  /// undefined.
+  int SecItemDelete(
+    CFDictionaryRef query,
+  ) {
+    return _SecItemDelete(
+      query,
+    );
+  }
+
+  late final _SecItemDeletePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(CFDictionaryRef)>>(
+          'SecItemDelete');
+  late final _SecItemDelete =
+      _SecItemDeletePtr.asFunction<int Function(CFDictionaryRef)>();
+
+  /// !
+  /// @enum Key Parameter Constants
+  /// @discussion Predefined key constants used to get or set values in a dictionary.
+  /// These are used to provide explicit parameters to key generation functions
+  /// when non-default values are desired. See the description of the
+  /// SecKeyGeneratePair API for usage information.
+  /// @constant kSecPrivateKeyAttrs The value for this key is a CFDictionaryRef
+  /// containing attributes specific for the private key to be generated.
+  /// @constant kSecPublicKeyAttrs The value for this key is a CFDictionaryRef
+  /// containing attributes specific for the public key to be generated.
+  late final ffi.Pointer<CFStringRef> _kSecPrivateKeyAttrs =
+      _lookup<CFStringRef>('kSecPrivateKeyAttrs');
+
+  CFStringRef get kSecPrivateKeyAttrs => _kSecPrivateKeyAttrs.value;
+
+  set kSecPrivateKeyAttrs(CFStringRef value) =>
+      _kSecPrivateKeyAttrs.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPublicKeyAttrs =
+      _lookup<CFStringRef>('kSecPublicKeyAttrs');
+
+  CFStringRef get kSecPublicKeyAttrs => _kSecPublicKeyAttrs.value;
+
+  set kSecPublicKeyAttrs(CFStringRef value) =>
+      _kSecPublicKeyAttrs.value = value;
+
+  /// !
+  /// @function SecKeyGetTypeID
+  /// @abstract Returns the type identifier of SecKey instances.
+  /// @result The CFTypeID of SecKey instances.
+  int SecKeyGetTypeID() {
+    return _SecKeyGetTypeID();
+  }
+
+  late final _SecKeyGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('SecKeyGetTypeID');
+  late final _SecKeyGetTypeID =
+      _SecKeyGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function SecKeyGeneratePair
+  /// @abstract Generate a private/public keypair.
+  /// @param parameters A dictionary containing one or more key-value pairs.
+  /// See the discussion sections below for a complete overview of options.
+  /// @param publicKey On return, a SecKeyRef reference to the public key.
+  /// @param privateKey On return, a SecKeyRef reference to the private key.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  ///
+  /// @discussion In order to generate a keypair the parameters dictionary must
+  /// at least contain the following keys:
+  ///
+  /// kSecAttrKeyType with a value of kSecAttrKeyTypeRSA or any other
+  /// kSecAttrKeyType defined in SecItem.h
+  /// kSecAttrKeySizeInBits with a value being a CFNumberRef containing
+  /// the requested key size in bits.  Example sizes for RSA keys are:
+  /// 512, 768, 1024, 2048.
+  ///
+  /// The values below may be set either in the top-level dictionary or in a
+  /// dictionary that is the value of the kSecPrivateKeyAttrs or
+  /// kSecPublicKeyAttrs key in the top-level dictionary.  Setting these
+  /// attributes explicitly will override the defaults below.  See SecItem.h
+  /// for detailed information on these attributes including the types of
+  /// the values.
+  ///
+  /// kSecAttrLabel default NULL
+  /// kSecUseKeychain default NULL, which specifies the default keychain
+  /// kSecAttrIsPermanent default false
+  /// if this key is present and has a Boolean value of true, the key or
+  /// key pair will be added to the keychain.
+  /// kSecAttrTokenID default NULL
+  /// The CFStringRef ID of the token to generate the key or keypair on. This
+  /// attribute can contain CFStringRef and can be present only in the top-level
+  /// parameters dictionary.
+  /// kSecAttrApplicationTag default NULL
+  /// kSecAttrEffectiveKeySize default NULL same as kSecAttrKeySizeInBits
+  /// kSecAttrCanEncrypt default false for private keys, true for public keys
+  /// kSecAttrCanDecrypt default true for private keys, false for public keys
+  /// kSecAttrCanDerive default true
+  /// kSecAttrCanSign default true for private keys, false for public keys
+  /// kSecAttrCanVerify default false for private keys, true for public keys
+  /// kSecAttrCanWrap default false for private keys, true for public keys
+  /// kSecAttrCanUnwrap default true for private keys, false for public keys
+  ///
+  /// NOTE: The function always saves keys in the keychain on macOS and as such attribute
+  /// kSecAttrIsPermanent is ignored. The function respects attribute kSecAttrIsPermanent
+  /// on iOS, tvOS and watchOS.
+  /// It is recommended to use SecKeyCreateRandomKey() which respects kSecAttrIsPermanent
+  /// on all platforms.
+  int SecKeyGeneratePair(
+    CFDictionaryRef parameters,
+    ffi.Pointer<SecKeyRef> publicKey,
+    ffi.Pointer<SecKeyRef> privateKey,
+  ) {
+    return _SecKeyGeneratePair(
+      parameters,
+      publicKey,
+      privateKey,
+    );
+  }
+
+  late final _SecKeyGeneratePairPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(CFDictionaryRef, ffi.Pointer<SecKeyRef>,
+              ffi.Pointer<SecKeyRef>)>>('SecKeyGeneratePair');
+  late final _SecKeyGeneratePair = _SecKeyGeneratePairPtr.asFunction<
+      int Function(
+          CFDictionaryRef, ffi.Pointer<SecKeyRef>, ffi.Pointer<SecKeyRef>)>();
+
+  /// !
+  /// @function SecKeyRawSign
+  /// @abstract Given a private key and data to sign, generate a digital
+  /// signature.
+  /// @param key Private key with which to sign.
+  /// @param padding See Padding Types above, typically kSecPaddingPKCS1SHA1.
+  /// @param dataToSign The data to be signed, typically the digest of the
+  /// actual data.
+  /// @param dataToSignLen Length of dataToSign in bytes.
+  /// @param sig Pointer to buffer in which the signature will be returned.
+  /// @param sigLen IN/OUT maximum length of sig buffer on input, actualy
+  /// length of sig on output.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion If the padding argument is kSecPaddingPKCS1, PKCS1 padding
+  /// will be performed prior to signing. If this argument is kSecPaddingNone,
+  /// the incoming data will be signed "as is".
+  ///
+  /// When PKCS1 padding is performed, the maximum length of data that can
+  /// be signed is the value returned by SecKeyGetBlockSize() - 11.
+  ///
+  /// NOTE: The behavior this function with kSecPaddingNone is undefined if the
+  /// first byte of dataToSign is zero; there is no way to verify leading zeroes
+  /// as they are discarded during the calculation.
+  ///
+  /// If you want to generate a proper PKCS1 style signature with DER encoding
+  /// of the digest type - and the dataToSign is a SHA1 digest - use
+  /// kSecPaddingPKCS1SHA1.
+  int SecKeyRawSign(
+    SecKeyRef key,
+    int padding,
+    ffi.Pointer<ffi.Uint8> dataToSign,
+    int dataToSignLen,
+    ffi.Pointer<ffi.Uint8> sig,
+    ffi.Pointer<ffi.Size> sigLen,
+  ) {
+    return _SecKeyRawSign(
+      key,
+      padding,
+      dataToSign,
+      dataToSignLen,
+      sig,
+      sigLen,
+    );
+  }
+
+  late final _SecKeyRawSignPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SecKeyRef,
+              ffi.Int32,
+              ffi.Pointer<ffi.Uint8>,
+              ffi.Size,
+              ffi.Pointer<ffi.Uint8>,
+              ffi.Pointer<ffi.Size>)>>('SecKeyRawSign');
+  late final _SecKeyRawSign = _SecKeyRawSignPtr.asFunction<
+      int Function(SecKeyRef, int, ffi.Pointer<ffi.Uint8>, int,
+          ffi.Pointer<ffi.Uint8>, ffi.Pointer<ffi.Size>)>();
+
+  /// !
+  /// @function SecKeyRawVerify
+  /// @abstract Given a public key, data which has been signed, and a signature,
+  /// verify the signature.
+  /// @param key Public key with which to verify the signature.
+  /// @param padding See Padding Types above, typically kSecPaddingPKCS1SHA1.
+  /// @param signedData The data over which sig is being verified, typically
+  /// the digest of the actual data.
+  /// @param signedDataLen Length of signedData in bytes.
+  /// @param sig Pointer to the signature to verify.
+  /// @param sigLen Length of sig in  bytes.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion If the padding argument is kSecPaddingPKCS1, PKCS1 padding
+  /// will be checked during verification. If this argument is kSecPaddingNone,
+  /// the incoming data will be compared directly to sig.
+  ///
+  /// If you are verifying a proper PKCS1-style signature, with DER encoding
+  /// of the digest type - and the signedData is a SHA1 digest - use
+  /// kSecPaddingPKCS1SHA1.
+  int SecKeyRawVerify(
+    SecKeyRef key,
+    int padding,
+    ffi.Pointer<ffi.Uint8> signedData,
+    int signedDataLen,
+    ffi.Pointer<ffi.Uint8> sig,
+    int sigLen,
+  ) {
+    return _SecKeyRawVerify(
+      key,
+      padding,
+      signedData,
+      signedDataLen,
+      sig,
+      sigLen,
+    );
+  }
+
+  late final _SecKeyRawVerifyPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecKeyRef, ffi.Int32, ffi.Pointer<ffi.Uint8>,
+              ffi.Size, ffi.Pointer<ffi.Uint8>, ffi.Size)>>('SecKeyRawVerify');
+  late final _SecKeyRawVerify = _SecKeyRawVerifyPtr.asFunction<
+      int Function(SecKeyRef, int, ffi.Pointer<ffi.Uint8>, int,
+          ffi.Pointer<ffi.Uint8>, int)>();
+
+  /// !
+  /// @function SecKeyEncrypt
+  /// @abstract Encrypt a block of plaintext.
+  /// @param key Public key with which to encrypt the data.
+  /// @param padding See Padding Types above, typically kSecPaddingPKCS1.
+  /// @param plainText The data to encrypt.
+  /// @param plainTextLen Length of plainText in bytes, this must be less
+  /// or equal to the value returned by SecKeyGetBlockSize().
+  /// @param cipherText Pointer to the output buffer.
+  /// @param cipherTextLen On input, specifies how much space is available at
+  /// cipherText; on return, it is the actual number of cipherText bytes written.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion If the padding argument is kSecPaddingPKCS1 or kSecPaddingOAEP,
+  /// PKCS1 (respectively kSecPaddingOAEP) padding will be performed prior to encryption.
+  /// If this argument is kSecPaddingNone, the incoming data will be encrypted "as is".
+  /// kSecPaddingOAEP is the recommended value. Other value are not recommended
+  /// for security reason (Padding attack or malleability).
+  ///
+  /// When PKCS1 padding is performed, the maximum length of data that can
+  /// be encrypted is the value returned by SecKeyGetBlockSize() - 11.
+  ///
+  /// When memory usage is a critical issue, note that the input buffer
+  /// (plainText) can be the same as the output buffer (cipherText).
+  int SecKeyEncrypt(
+    SecKeyRef key,
+    int padding,
+    ffi.Pointer<ffi.Uint8> plainText,
+    int plainTextLen,
+    ffi.Pointer<ffi.Uint8> cipherText,
+    ffi.Pointer<ffi.Size> cipherTextLen,
+  ) {
+    return _SecKeyEncrypt(
+      key,
+      padding,
+      plainText,
+      plainTextLen,
+      cipherText,
+      cipherTextLen,
+    );
+  }
+
+  late final _SecKeyEncryptPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SecKeyRef,
+              ffi.Int32,
+              ffi.Pointer<ffi.Uint8>,
+              ffi.Size,
+              ffi.Pointer<ffi.Uint8>,
+              ffi.Pointer<ffi.Size>)>>('SecKeyEncrypt');
+  late final _SecKeyEncrypt = _SecKeyEncryptPtr.asFunction<
+      int Function(SecKeyRef, int, ffi.Pointer<ffi.Uint8>, int,
+          ffi.Pointer<ffi.Uint8>, ffi.Pointer<ffi.Size>)>();
+
+  /// !
+  /// @function SecKeyDecrypt
+  /// @abstract Decrypt a block of ciphertext.
+  /// @param key Private key with which to decrypt the data.
+  /// @param padding See Padding Types above, typically kSecPaddingPKCS1.
+  /// @param cipherText The data to decrypt.
+  /// @param cipherTextLen Length of cipherText in bytes, this must be less
+  /// or equal to the value returned by SecKeyGetBlockSize().
+  /// @param plainText Pointer to the output buffer.
+  /// @param plainTextLen On input, specifies how much space is available at
+  /// plainText; on return, it is the actual number of plainText bytes written.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion If the padding argument is kSecPaddingPKCS1 or kSecPaddingOAEP,
+  /// the corresponding padding will be removed after decryption.
+  /// If this argument is kSecPaddingNone, the decrypted data will be returned "as is".
+  ///
+  /// When memory usage is a critical issue, note that the input buffer
+  /// (plainText) can be the same as the output buffer (cipherText).
+  int SecKeyDecrypt(
+    SecKeyRef key,
+    int padding,
+    ffi.Pointer<ffi.Uint8> cipherText,
+    int cipherTextLen,
+    ffi.Pointer<ffi.Uint8> plainText,
+    ffi.Pointer<ffi.Size> plainTextLen,
+  ) {
+    return _SecKeyDecrypt(
+      key,
+      padding,
+      cipherText,
+      cipherTextLen,
+      plainText,
+      plainTextLen,
+    );
+  }
+
+  late final _SecKeyDecryptPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SecKeyRef,
+              ffi.Int32,
+              ffi.Pointer<ffi.Uint8>,
+              ffi.Size,
+              ffi.Pointer<ffi.Uint8>,
+              ffi.Pointer<ffi.Size>)>>('SecKeyDecrypt');
+  late final _SecKeyDecrypt = _SecKeyDecryptPtr.asFunction<
+      int Function(SecKeyRef, int, ffi.Pointer<ffi.Uint8>, int,
+          ffi.Pointer<ffi.Uint8>, ffi.Pointer<ffi.Size>)>();
+
+  /// !
+  /// @function SecKeyCreateRandomKey
+  /// @abstract Generates a new public/private key pair.
+  /// @param parameters A dictionary containing one or more key-value pairs.
+  /// See the discussion sections below for a complete overview of options.
+  /// @param error On error, will be populated with an error object describing the failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @return Newly generated private key.  To get associated public key, use SecKeyCopyPublicKey().
+  /// @discussion In order to generate a keypair the parameters dictionary must
+  /// at least contain the following keys:
+  ///
+  /// kSecAttrKeyType with a value being kSecAttrKeyTypeRSA or any other
+  /// kSecAttrKeyType defined in SecItem.h
+  /// kSecAttrKeySizeInBits with a value being a CFNumberRef or CFStringRef
+  /// containing the requested key size in bits.  Example sizes for RSA
+  /// keys are: 512, 768, 1024, 2048.
+  ///
+  /// The values below may be set either in the top-level dictionary or in a
+  /// dictionary that is the value of the kSecPrivateKeyAttrs or
+  /// kSecPublicKeyAttrs key in the top-level dictionary.  Setting these
+  /// attributes explicitly will override the defaults below.  See SecItem.h
+  /// for detailed information on these attributes including the types of
+  /// the values.
+  ///
+  /// kSecAttrLabel default NULL
+  /// kSecAttrIsPermanent if this key is present and has a Boolean value of true,
+  /// the key or key pair will be added to the default keychain.
+  /// kSecAttrTokenID if this key should be generated on specified token.  This
+  /// attribute can contain CFStringRef and can be present only in the top-level
+  /// parameters dictionary.
+  /// kSecAttrApplicationTag default NULL
+  /// kSecAttrEffectiveKeySize default NULL same as kSecAttrKeySizeInBits
+  /// kSecAttrCanEncrypt default false for private keys, true for public keys
+  /// kSecAttrCanDecrypt default true for private keys, false for public keys
+  /// kSecAttrCanDerive default true
+  /// kSecAttrCanSign default true for private keys, false for public keys
+  /// kSecAttrCanVerify default false for private keys, true for public keys
+  /// kSecAttrCanWrap default false for private keys, true for public keys
+  /// kSecAttrCanUnwrap default true for private keys, false for public keys
+  SecKeyRef SecKeyCreateRandomKey(
+    CFDictionaryRef parameters,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyCreateRandomKey(
+      parameters,
+      error,
+    );
+  }
+
+  late final _SecKeyCreateRandomKeyPtr = _lookup<
+      ffi.NativeFunction<
+          SecKeyRef Function(CFDictionaryRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyCreateRandomKey');
+  late final _SecKeyCreateRandomKey = _SecKeyCreateRandomKeyPtr.asFunction<
+      SecKeyRef Function(CFDictionaryRef, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecKeyCreateWithData
+  /// @abstract Create a SecKey from a well-defined external representation.
+  /// @param keyData CFData representing the key. The format of the data depends on the type of key being created.
+  /// @param attributes Dictionary containing attributes describing the key to be imported. The keys in this dictionary
+  /// are kSecAttr* constants from SecItem.h.  Mandatory attributes are:
+  /// kSecAttrKeyType
+  /// kSecAttrKeyClass
+  /// @param error On error, will be populated with an error object describing the failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @result A SecKey object representing the key, or NULL on failure.
+  /// @discussion This function does not add keys to any keychain, but the SecKey object it returns can be added
+  /// to keychain using the SecItemAdd function.
+  /// The requested data format depend on the type of key (kSecAttrKeyType) being created:
+  /// kSecAttrKeyTypeRSA               PKCS#1 format, public key can be also in x509 public key format
+  /// kSecAttrKeyTypeECSECPrimeRandom  ANSI X9.63 format (04 || X || Y [ || K])
+  SecKeyRef SecKeyCreateWithData(
+    CFDataRef keyData,
+    CFDictionaryRef attributes,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyCreateWithData(
+      keyData,
+      attributes,
+      error,
+    );
+  }
+
+  late final _SecKeyCreateWithDataPtr = _lookup<
+      ffi.NativeFunction<
+          SecKeyRef Function(CFDataRef, CFDictionaryRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyCreateWithData');
+  late final _SecKeyCreateWithData = _SecKeyCreateWithDataPtr.asFunction<
+      SecKeyRef Function(
+          CFDataRef, CFDictionaryRef, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecKeyGetBlockSize
+  /// @abstract Returns block length of the key in bytes.
+  /// @param key The key for which the block length is requested.
+  /// @result The block length of the key in bytes.
+  /// @discussion If for example key is an RSA key the value returned by
+  /// this function is the size of the modulus.
+  int SecKeyGetBlockSize(
+    SecKeyRef key,
+  ) {
+    return _SecKeyGetBlockSize(
+      key,
+    );
+  }
+
+  late final _SecKeyGetBlockSizePtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(SecKeyRef)>>(
+          'SecKeyGetBlockSize');
+  late final _SecKeyGetBlockSize =
+      _SecKeyGetBlockSizePtr.asFunction<int Function(SecKeyRef)>();
+
+  /// !
+  /// @function SecKeyCopyExternalRepresentation
+  /// @abstract Create an external representation for the given key suitable for the key's type.
+  /// @param key The key to be exported.
+  /// @param error On error, will be populated with an error object describing the failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @result A CFData representing the key in a format suitable for that key type.
+  /// @discussion This function may fail if the key is not exportable (e.g., bound to a smart card or Secure Enclave).
+  /// The format in which the key will be exported depends on the type of key:
+  /// kSecAttrKeyTypeRSA               PKCS#1 format
+  /// kSecAttrKeyTypeECSECPrimeRandom  ANSI X9.63 format (04 || X || Y [ || K])
+  CFDataRef SecKeyCopyExternalRepresentation(
+    SecKeyRef key,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyCopyExternalRepresentation(
+      key,
+      error,
+    );
+  }
+
+  late final _SecKeyCopyExternalRepresentationPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(SecKeyRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyCopyExternalRepresentation');
+  late final _SecKeyCopyExternalRepresentation =
+      _SecKeyCopyExternalRepresentationPtr.asFunction<
+          CFDataRef Function(SecKeyRef, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecKeyCopyAttributes
+  /// @abstract Retrieve keychain attributes of a key.
+  /// @param key The key whose attributes are to be retrieved.
+  /// @result Dictionary containing attributes of the key. The keys that populate this dictionary are defined
+  /// and discussed in SecItem.h.
+  /// @discussion The attributes provided by this function are:
+  /// kSecAttrCanEncrypt
+  /// kSecAttrCanDecrypt
+  /// kSecAttrCanDerive
+  /// kSecAttrCanSign
+  /// kSecAttrCanVerify
+  /// kSecAttrKeyClass
+  /// kSecAttrKeyType
+  /// kSecAttrKeySizeInBits
+  /// kSecAttrTokenID
+  /// kSecAttrApplicationLabel
+  /// The set of values is not fixed. Future versions may return more values in this dictionary.
+  CFDictionaryRef SecKeyCopyAttributes(
+    SecKeyRef key,
+  ) {
+    return _SecKeyCopyAttributes(
+      key,
+    );
+  }
+
+  late final _SecKeyCopyAttributesPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(SecKeyRef)>>(
+          'SecKeyCopyAttributes');
+  late final _SecKeyCopyAttributes = _SecKeyCopyAttributesPtr.asFunction<
+      CFDictionaryRef Function(SecKeyRef)>();
+
+  /// !
+  /// @function SecKeyCopyPublicKey
+  /// @abstract Retrieve the public key from a key pair or private key.
+  /// @param key The key from which to retrieve a public key.
+  /// @result The public key or NULL if public key is not available for specified key.
+  /// @discussion Fails if key does not contain a public key or no public key can be computed from it.
+  SecKeyRef SecKeyCopyPublicKey(
+    SecKeyRef key,
+  ) {
+    return _SecKeyCopyPublicKey(
+      key,
+    );
+  }
+
+  late final _SecKeyCopyPublicKeyPtr =
+      _lookup<ffi.NativeFunction<SecKeyRef Function(SecKeyRef)>>(
+          'SecKeyCopyPublicKey');
+  late final _SecKeyCopyPublicKey =
+      _SecKeyCopyPublicKeyPtr.asFunction<SecKeyRef Function(SecKeyRef)>();
+
+  late final ffi.Pointer<SecKeyAlgorithm> _kSecKeyAlgorithmRSASignatureRaw =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureRaw');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureRaw =>
+      _kSecKeyAlgorithmRSASignatureRaw.value;
+
+  set kSecKeyAlgorithmRSASignatureRaw(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureRaw.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1 =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224 =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256 =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384 =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512 =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1 =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224 =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256 =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384 =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512 =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA1 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureDigestPSSSHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPSSSHA1 =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA1.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPSSSHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA224 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureDigestPSSSHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPSSSHA224 =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA224.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPSSSHA224(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA256 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureDigestPSSSHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPSSSHA256 =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA256.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPSSSHA256(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA384 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureDigestPSSSHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPSSSHA384 =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA384.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPSSSHA384(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA512 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureDigestPSSSHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureDigestPSSSHA512 =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA512.value;
+
+  set kSecKeyAlgorithmRSASignatureDigestPSSSHA512(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureDigestPSSSHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA1 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureMessagePSSSHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePSSSHA1 =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA1.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePSSSHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA224 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureMessagePSSSHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePSSSHA224 =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA224.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePSSSHA224(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA256 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureMessagePSSSHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePSSSHA256 =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA256.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePSSSHA256(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA384 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureMessagePSSSHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePSSSHA384 =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA384.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePSSSHA384(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA512 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSASignatureMessagePSSSHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSASignatureMessagePSSSHA512 =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA512.value;
+
+  set kSecKeyAlgorithmRSASignatureMessagePSSSHA512(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSASignatureMessagePSSSHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureRFC4754 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmECDSASignatureRFC4754');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureRFC4754 =>
+      _kSecKeyAlgorithmECDSASignatureRFC4754.value;
+
+  set kSecKeyAlgorithmECDSASignatureRFC4754(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureRFC4754.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureDigestX962 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmECDSASignatureDigestX962');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureDigestX962 =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962.value;
+
+  set kSecKeyAlgorithmECDSASignatureDigestX962(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA1 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmECDSASignatureDigestX962SHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureDigestX962SHA1 =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA1.value;
+
+  set kSecKeyAlgorithmECDSASignatureDigestX962SHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA224 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureDigestX962SHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureDigestX962SHA224 =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA224.value;
+
+  set kSecKeyAlgorithmECDSASignatureDigestX962SHA224(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA256 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureDigestX962SHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureDigestX962SHA256 =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA256.value;
+
+  set kSecKeyAlgorithmECDSASignatureDigestX962SHA256(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA384 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureDigestX962SHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureDigestX962SHA384 =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA384.value;
+
+  set kSecKeyAlgorithmECDSASignatureDigestX962SHA384(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA512 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureDigestX962SHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureDigestX962SHA512 =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA512.value;
+
+  set kSecKeyAlgorithmECDSASignatureDigestX962SHA512(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureDigestX962SHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA1 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmECDSASignatureMessageX962SHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureMessageX962SHA1 =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA1.value;
+
+  set kSecKeyAlgorithmECDSASignatureMessageX962SHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA224 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureMessageX962SHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureMessageX962SHA224 =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA224.value;
+
+  set kSecKeyAlgorithmECDSASignatureMessageX962SHA224(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA256 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureMessageX962SHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureMessageX962SHA256 =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA256.value;
+
+  set kSecKeyAlgorithmECDSASignatureMessageX962SHA256(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA384 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureMessageX962SHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureMessageX962SHA384 =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA384.value;
+
+  set kSecKeyAlgorithmECDSASignatureMessageX962SHA384(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA512 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDSASignatureMessageX962SHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDSASignatureMessageX962SHA512 =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA512.value;
+
+  set kSecKeyAlgorithmECDSASignatureMessageX962SHA512(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDSASignatureMessageX962SHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm> _kSecKeyAlgorithmRSAEncryptionRaw =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionRaw');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionRaw =>
+      _kSecKeyAlgorithmRSAEncryptionRaw.value;
+
+  set kSecKeyAlgorithmRSAEncryptionRaw(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionRaw.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm> _kSecKeyAlgorithmRSAEncryptionPKCS1 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionPKCS1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionPKCS1 =>
+      _kSecKeyAlgorithmRSAEncryptionPKCS1.value;
+
+  set kSecKeyAlgorithmRSAEncryptionPKCS1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionPKCS1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA1 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA1 =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA1.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA224 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA224 =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA224.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA224(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA256 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA256 =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA256.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA256(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA384 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA384 =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA384.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA384(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA512 =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA512 =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA512.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA512(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM.value;
+
+  set kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM.value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM');
+
+  SecKeyAlgorithm
+      get kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM =>
+          _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM
+              .value;
+
+  set kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM.value =
+          value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeStandard =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmECDHKeyExchangeStandard');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeStandard =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandard.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeStandard(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandard.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1 =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224 =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256 =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384 =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512 =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactor =
+      _lookup<SecKeyAlgorithm>('kSecKeyAlgorithmECDHKeyExchangeCofactor');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeCofactor =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactor.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeCofactor(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactor.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1 =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1(SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224 =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256 =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384 =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384.value = value;
+
+  late final ffi.Pointer<SecKeyAlgorithm>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512 =
+      _lookup<SecKeyAlgorithm>(
+          'kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512');
+
+  SecKeyAlgorithm get kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512 =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512.value;
+
+  set kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512(
+          SecKeyAlgorithm value) =>
+      _kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512.value = value;
+
+  /// !
+  /// @function SecKeyCreateSignature
+  /// @abstract Given a private key and data to sign, generate a digital signature.
+  /// @param key Private key with which to sign.
+  /// @param algorithm One of SecKeyAlgorithm constants suitable to generate signature with this key.
+  /// @param dataToSign The data to be signed, typically the digest of the actual data.
+  /// @param error On error, will be populated with an error object describing the failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @result The signature over dataToSign represented as a CFData, or NULL on failure.
+  /// @discussion Computes digital signature using specified key over input data.  The operation algorithm
+  /// further defines the exact format of input data, operation to be performed and output signature.
+  CFDataRef SecKeyCreateSignature(
+    SecKeyRef key,
+    SecKeyAlgorithm algorithm,
+    CFDataRef dataToSign,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyCreateSignature(
+      key,
+      algorithm,
+      dataToSign,
+      error,
+    );
+  }
+
+  late final _SecKeyCreateSignaturePtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(SecKeyRef, SecKeyAlgorithm, CFDataRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyCreateSignature');
+  late final _SecKeyCreateSignature = _SecKeyCreateSignaturePtr.asFunction<
+      CFDataRef Function(
+          SecKeyRef, SecKeyAlgorithm, CFDataRef, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecKeyVerifySignature
+  /// @abstract Given a public key, data which has been signed, and a signature, verify the signature.
+  /// @param key Public key with which to verify the signature.
+  /// @param algorithm One of SecKeyAlgorithm constants suitable to verify signature with this key.
+  /// @param signedData The data over which sig is being verified, typically the digest of the actual data.
+  /// @param signature The signature to verify.
+  /// @param error On error, will be populated with an error object describing the failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @result True if the signature was valid, False otherwise.
+  /// @discussion Verifies digital signature operation using specified key and signed data.  The operation algorithm
+  /// further defines the exact format of input data, signature and operation to be performed.
+  int SecKeyVerifySignature(
+    SecKeyRef key,
+    SecKeyAlgorithm algorithm,
+    CFDataRef signedData,
+    CFDataRef signature,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyVerifySignature(
+      key,
+      algorithm,
+      signedData,
+      signature,
+      error,
+    );
+  }
+
+  late final _SecKeyVerifySignaturePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(SecKeyRef, SecKeyAlgorithm, CFDataRef, CFDataRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyVerifySignature');
+  late final _SecKeyVerifySignature = _SecKeyVerifySignaturePtr.asFunction<
+      int Function(SecKeyRef, SecKeyAlgorithm, CFDataRef, CFDataRef,
+          ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecKeyCreateEncryptedData
+  /// @abstract Encrypt a block of plaintext.
+  /// @param key Public key with which to encrypt the data.
+  /// @param algorithm One of SecKeyAlgorithm constants suitable to perform encryption with this key.
+  /// @param plaintext The data to encrypt. The length and format of the data must conform to chosen algorithm,
+  /// typically be less or equal to the value returned by SecKeyGetBlockSize().
+  /// @param error On error, will be populated with an error object describing the failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @result The ciphertext represented as a CFData, or NULL on failure.
+  /// @discussion Encrypts plaintext data using specified key.  The exact type of the operation including the format
+  /// of input and output data is specified by encryption algorithm.
+  CFDataRef SecKeyCreateEncryptedData(
+    SecKeyRef key,
+    SecKeyAlgorithm algorithm,
+    CFDataRef plaintext,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyCreateEncryptedData(
+      key,
+      algorithm,
+      plaintext,
+      error,
+    );
+  }
+
+  late final _SecKeyCreateEncryptedDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(SecKeyRef, SecKeyAlgorithm, CFDataRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyCreateEncryptedData');
+  late final _SecKeyCreateEncryptedData =
+      _SecKeyCreateEncryptedDataPtr.asFunction<
+          CFDataRef Function(SecKeyRef, SecKeyAlgorithm, CFDataRef,
+              ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecKeyCreateDecryptedData
+  /// @abstract Decrypt a block of ciphertext.
+  /// @param key Private key with which to decrypt the data.
+  /// @param algorithm One of SecKeyAlgorithm constants suitable to perform decryption with this key.
+  /// @param ciphertext The data to decrypt. The length and format of the data must conform to chosen algorithm,
+  /// typically be less or equal to the value returned by SecKeyGetBlockSize().
+  /// @param error On error, will be populated with an error object describing the failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @result The plaintext represented as a CFData, or NULL on failure.
+  /// @discussion Decrypts ciphertext data using specified key.  The exact type of the operation including the format
+  /// of input and output data is specified by decryption algorithm.
+  CFDataRef SecKeyCreateDecryptedData(
+    SecKeyRef key,
+    SecKeyAlgorithm algorithm,
+    CFDataRef ciphertext,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyCreateDecryptedData(
+      key,
+      algorithm,
+      ciphertext,
+      error,
+    );
+  }
+
+  late final _SecKeyCreateDecryptedDataPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(SecKeyRef, SecKeyAlgorithm, CFDataRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyCreateDecryptedData');
+  late final _SecKeyCreateDecryptedData =
+      _SecKeyCreateDecryptedDataPtr.asFunction<
+          CFDataRef Function(SecKeyRef, SecKeyAlgorithm, CFDataRef,
+              ffi.Pointer<CFErrorRef>)>();
+
+  late final ffi.Pointer<SecKeyKeyExchangeParameter>
+      _kSecKeyKeyExchangeParameterRequestedSize =
+      _lookup<SecKeyKeyExchangeParameter>(
+          'kSecKeyKeyExchangeParameterRequestedSize');
+
+  SecKeyKeyExchangeParameter get kSecKeyKeyExchangeParameterRequestedSize =>
+      _kSecKeyKeyExchangeParameterRequestedSize.value;
+
+  set kSecKeyKeyExchangeParameterRequestedSize(
+          SecKeyKeyExchangeParameter value) =>
+      _kSecKeyKeyExchangeParameterRequestedSize.value = value;
+
+  late final ffi.Pointer<SecKeyKeyExchangeParameter>
+      _kSecKeyKeyExchangeParameterSharedInfo =
+      _lookup<SecKeyKeyExchangeParameter>(
+          'kSecKeyKeyExchangeParameterSharedInfo');
+
+  SecKeyKeyExchangeParameter get kSecKeyKeyExchangeParameterSharedInfo =>
+      _kSecKeyKeyExchangeParameterSharedInfo.value;
+
+  set kSecKeyKeyExchangeParameterSharedInfo(SecKeyKeyExchangeParameter value) =>
+      _kSecKeyKeyExchangeParameterSharedInfo.value = value;
+
+  /// !
+  /// @function SecKeyCopyKeyExchangeResult
+  /// @abstract Perform Diffie-Hellman style of key exchange operation, optionally with additional key-derivation steps.
+  /// @param algorithm One of SecKeyAlgorithm constants suitable to perform this operation.
+  /// @param publicKey Remote party's public key.
+  /// @param parameters Dictionary with parameters, see SecKeyKeyExchangeParameter constants.  Used algorithm
+  /// determines the set of required and optional parameters to be used.
+  /// @param error Pointer to an error object on failure.
+  /// See "Security Error Codes" (SecBase.h).
+  /// @result Result of key exchange operation as a CFDataRef, or NULL on failure.
+  CFDataRef SecKeyCopyKeyExchangeResult(
+    SecKeyRef privateKey,
+    SecKeyAlgorithm algorithm,
+    SecKeyRef publicKey,
+    CFDictionaryRef parameters,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecKeyCopyKeyExchangeResult(
+      privateKey,
+      algorithm,
+      publicKey,
+      parameters,
+      error,
+    );
+  }
+
+  late final _SecKeyCopyKeyExchangeResultPtr = _lookup<
+      ffi.NativeFunction<
+          CFDataRef Function(
+              SecKeyRef,
+              SecKeyAlgorithm,
+              SecKeyRef,
+              CFDictionaryRef,
+              ffi.Pointer<CFErrorRef>)>>('SecKeyCopyKeyExchangeResult');
+  late final _SecKeyCopyKeyExchangeResult =
+      _SecKeyCopyKeyExchangeResultPtr.asFunction<
+          CFDataRef Function(SecKeyRef, SecKeyAlgorithm, SecKeyRef,
+              CFDictionaryRef, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecKeyIsAlgorithmSupported
+  /// @abstract Checks whether key supports specified algorithm for specified operation.
+  /// @param key Key to query
+  /// @param operation Operation type for which the key is queried
+  /// @param algorithm Algorithm which is queried
+  /// @return True if key supports specified algorithm for specified operation, False otherwise.
+  int SecKeyIsAlgorithmSupported(
+    SecKeyRef key,
+    int operation,
+    SecKeyAlgorithm algorithm,
+  ) {
+    return _SecKeyIsAlgorithmSupported(
+      key,
+      operation,
+      algorithm,
+    );
+  }
+
+  late final _SecKeyIsAlgorithmSupportedPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(SecKeyRef, ffi.Int32,
+              SecKeyAlgorithm)>>('SecKeyIsAlgorithmSupported');
+  late final _SecKeyIsAlgorithmSupported = _SecKeyIsAlgorithmSupportedPtr
+      .asFunction<int Function(SecKeyRef, int, SecKeyAlgorithm)>();
+
+  /// !
+  /// @enum Policy Constants
+  /// @discussion Predefined constants used to specify a policy.
+  /// @constant kSecPolicyAppleX509Basic
+  /// @constant kSecPolicyAppleSSL
+  /// @constant kSecPolicyAppleSMIME
+  /// @constant kSecPolicyAppleEAP
+  /// @constant kSecPolicyAppleiChat
+  /// @constant kSecPolicyAppleIPsec
+  /// @constant kSecPolicyApplePKINITClient
+  /// @constant kSecPolicyApplePKINITServer
+  /// @constant kSecPolicyAppleCodeSigning
+  /// @constant kSecPolicyMacAppStoreReceipt
+  /// @constant kSecPolicyAppleIDValidation
+  /// @constant kSecPolicyAppleTimeStamping
+  /// @constant kSecPolicyAppleRevocation
+  /// @constant kSecPolicyApplePassbookSigning
+  /// @constant kSecPolicyApplePayIssuerEncryption
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleX509Basic =
+      _lookup<CFStringRef>('kSecPolicyAppleX509Basic');
+
+  CFStringRef get kSecPolicyAppleX509Basic => _kSecPolicyAppleX509Basic.value;
+
+  set kSecPolicyAppleX509Basic(CFStringRef value) =>
+      _kSecPolicyAppleX509Basic.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleSSL =
+      _lookup<CFStringRef>('kSecPolicyAppleSSL');
+
+  CFStringRef get kSecPolicyAppleSSL => _kSecPolicyAppleSSL.value;
+
+  set kSecPolicyAppleSSL(CFStringRef value) =>
+      _kSecPolicyAppleSSL.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleSMIME =
+      _lookup<CFStringRef>('kSecPolicyAppleSMIME');
+
+  CFStringRef get kSecPolicyAppleSMIME => _kSecPolicyAppleSMIME.value;
+
+  set kSecPolicyAppleSMIME(CFStringRef value) =>
+      _kSecPolicyAppleSMIME.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleEAP =
+      _lookup<CFStringRef>('kSecPolicyAppleEAP');
+
+  CFStringRef get kSecPolicyAppleEAP => _kSecPolicyAppleEAP.value;
+
+  set kSecPolicyAppleEAP(CFStringRef value) =>
+      _kSecPolicyAppleEAP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleIPsec =
+      _lookup<CFStringRef>('kSecPolicyAppleIPsec');
+
+  CFStringRef get kSecPolicyAppleIPsec => _kSecPolicyAppleIPsec.value;
+
+  set kSecPolicyAppleIPsec(CFStringRef value) =>
+      _kSecPolicyAppleIPsec.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyApplePKINITClient =
+      _lookup<CFStringRef>('kSecPolicyApplePKINITClient');
+
+  CFStringRef get kSecPolicyApplePKINITClient =>
+      _kSecPolicyApplePKINITClient.value;
+
+  set kSecPolicyApplePKINITClient(CFStringRef value) =>
+      _kSecPolicyApplePKINITClient.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyApplePKINITServer =
+      _lookup<CFStringRef>('kSecPolicyApplePKINITServer');
+
+  CFStringRef get kSecPolicyApplePKINITServer =>
+      _kSecPolicyApplePKINITServer.value;
+
+  set kSecPolicyApplePKINITServer(CFStringRef value) =>
+      _kSecPolicyApplePKINITServer.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleCodeSigning =
+      _lookup<CFStringRef>('kSecPolicyAppleCodeSigning');
+
+  CFStringRef get kSecPolicyAppleCodeSigning =>
+      _kSecPolicyAppleCodeSigning.value;
+
+  set kSecPolicyAppleCodeSigning(CFStringRef value) =>
+      _kSecPolicyAppleCodeSigning.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyMacAppStoreReceipt =
+      _lookup<CFStringRef>('kSecPolicyMacAppStoreReceipt');
+
+  CFStringRef get kSecPolicyMacAppStoreReceipt =>
+      _kSecPolicyMacAppStoreReceipt.value;
+
+  set kSecPolicyMacAppStoreReceipt(CFStringRef value) =>
+      _kSecPolicyMacAppStoreReceipt.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleIDValidation =
+      _lookup<CFStringRef>('kSecPolicyAppleIDValidation');
+
+  CFStringRef get kSecPolicyAppleIDValidation =>
+      _kSecPolicyAppleIDValidation.value;
+
+  set kSecPolicyAppleIDValidation(CFStringRef value) =>
+      _kSecPolicyAppleIDValidation.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleTimeStamping =
+      _lookup<CFStringRef>('kSecPolicyAppleTimeStamping');
+
+  CFStringRef get kSecPolicyAppleTimeStamping =>
+      _kSecPolicyAppleTimeStamping.value;
+
+  set kSecPolicyAppleTimeStamping(CFStringRef value) =>
+      _kSecPolicyAppleTimeStamping.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyAppleRevocation =
+      _lookup<CFStringRef>('kSecPolicyAppleRevocation');
+
+  CFStringRef get kSecPolicyAppleRevocation => _kSecPolicyAppleRevocation.value;
+
+  set kSecPolicyAppleRevocation(CFStringRef value) =>
+      _kSecPolicyAppleRevocation.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyApplePassbookSigning =
+      _lookup<CFStringRef>('kSecPolicyApplePassbookSigning');
+
+  CFStringRef get kSecPolicyApplePassbookSigning =>
+      _kSecPolicyApplePassbookSigning.value;
+
+  set kSecPolicyApplePassbookSigning(CFStringRef value) =>
+      _kSecPolicyApplePassbookSigning.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyApplePayIssuerEncryption =
+      _lookup<CFStringRef>('kSecPolicyApplePayIssuerEncryption');
+
+  CFStringRef get kSecPolicyApplePayIssuerEncryption =>
+      _kSecPolicyApplePayIssuerEncryption.value;
+
+  set kSecPolicyApplePayIssuerEncryption(CFStringRef value) =>
+      _kSecPolicyApplePayIssuerEncryption.value = value;
+
+  /// !
+  /// @enum Policy Value Constants
+  /// @abstract Predefined property key constants used to get or set values in
+  /// a dictionary for a policy instance.
+  /// @discussion
+  /// All policies will have the following read-only value:
+  /// kSecPolicyOid       (the policy object identifier)
+  ///
+  /// Additional policy values which your code can optionally set:
+  /// kSecPolicyName      (name which must be matched)
+  /// kSecPolicyClient    (evaluate for client, rather than server)
+  /// kSecPolicyRevocationFlags   (only valid for a revocation policy)
+  /// kSecPolicyTeamIdentifier    (only valid for a Passbook signing policy)
+  ///
+  /// @constant kSecPolicyOid Specifies the policy OID (value is a CFStringRef)
+  /// @constant kSecPolicyName Specifies a CFStringRef (or CFArrayRef of same)
+  /// containing a name which must be matched in the certificate to satisfy
+  /// this policy. For SSL/TLS, EAP, and IPSec policies, this specifies the
+  /// server name which must match the common name of the certificate.
+  /// For S/MIME, this specifies the RFC822 email address. For Passbook
+  /// signing, this specifies the pass signer.
+  /// @constant kSecPolicyClient Specifies a CFBooleanRef value that indicates
+  /// this evaluation should be for a client certificate. If not set (or
+  /// false), the policy evaluates the certificate as a server certificate.
+  /// @constant kSecPolicyRevocationFlags Specifies a CFNumberRef that holds a
+  /// kCFNumberCFIndexType bitmask value. See "Revocation Policy Constants"
+  /// for a description of individual bits in this value.
+  /// @constant kSecPolicyTeamIdentifier Specifies a CFStringRef containing a
+  /// team identifier which must be matched in the certificate to satisfy
+  /// this policy. For the Passbook signing policy, this string must match
+  /// the Organizational Unit field of the certificate subject.
+  late final ffi.Pointer<CFStringRef> _kSecPolicyOid =
+      _lookup<CFStringRef>('kSecPolicyOid');
+
+  CFStringRef get kSecPolicyOid => _kSecPolicyOid.value;
+
+  set kSecPolicyOid(CFStringRef value) => _kSecPolicyOid.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyName =
+      _lookup<CFStringRef>('kSecPolicyName');
+
+  CFStringRef get kSecPolicyName => _kSecPolicyName.value;
+
+  set kSecPolicyName(CFStringRef value) => _kSecPolicyName.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyClient =
+      _lookup<CFStringRef>('kSecPolicyClient');
+
+  CFStringRef get kSecPolicyClient => _kSecPolicyClient.value;
+
+  set kSecPolicyClient(CFStringRef value) => _kSecPolicyClient.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyRevocationFlags =
+      _lookup<CFStringRef>('kSecPolicyRevocationFlags');
+
+  CFStringRef get kSecPolicyRevocationFlags => _kSecPolicyRevocationFlags.value;
+
+  set kSecPolicyRevocationFlags(CFStringRef value) =>
+      _kSecPolicyRevocationFlags.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPolicyTeamIdentifier =
+      _lookup<CFStringRef>('kSecPolicyTeamIdentifier');
+
+  CFStringRef get kSecPolicyTeamIdentifier => _kSecPolicyTeamIdentifier.value;
+
+  set kSecPolicyTeamIdentifier(CFStringRef value) =>
+      _kSecPolicyTeamIdentifier.value = value;
+
+  /// !
+  /// @function SecPolicyGetTypeID
+  /// @abstract Returns the type identifier of SecPolicy instances.
+  /// @result The CFTypeID of SecPolicy instances.
+  int SecPolicyGetTypeID() {
+    return _SecPolicyGetTypeID();
+  }
+
+  late final _SecPolicyGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('SecPolicyGetTypeID');
+  late final _SecPolicyGetTypeID =
+      _SecPolicyGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function SecPolicyCopyProperties
+  /// @abstract Returns a dictionary of this policy's properties.
+  /// @param policyRef A policy reference.
+  /// @result A properties dictionary. See "Policy Value Constants" for a list
+  /// of currently defined property keys. It is the caller's responsibility to
+  /// CFRelease this reference when it is no longer needed.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion This function returns the properties for a policy, as set by the
+  /// policy's construction function or by a prior call to SecPolicySetProperties.
+  CFDictionaryRef SecPolicyCopyProperties(
+    SecPolicyRef policyRef,
+  ) {
+    return _SecPolicyCopyProperties(
+      policyRef,
+    );
+  }
+
+  late final _SecPolicyCopyPropertiesPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(SecPolicyRef)>>(
+          'SecPolicyCopyProperties');
+  late final _SecPolicyCopyProperties = _SecPolicyCopyPropertiesPtr.asFunction<
+      CFDictionaryRef Function(SecPolicyRef)>();
+
+  /// !
+  /// @function SecPolicyCreateBasicX509
+  /// @abstract Returns a policy object for the default X.509 policy.
+  /// @result A policy object. The caller is responsible for calling CFRelease
+  /// on this when it is no longer needed.
+  SecPolicyRef SecPolicyCreateBasicX509() {
+    return _SecPolicyCreateBasicX509();
+  }
+
+  late final _SecPolicyCreateBasicX509Ptr =
+      _lookup<ffi.NativeFunction<SecPolicyRef Function()>>(
+          'SecPolicyCreateBasicX509');
+  late final _SecPolicyCreateBasicX509 =
+      _SecPolicyCreateBasicX509Ptr.asFunction<SecPolicyRef Function()>();
+
+  /// !
+  /// @function SecPolicyCreateSSL
+  /// @abstract Returns a policy object for evaluating SSL certificate chains.
+  /// @param server Passing true for this parameter creates a policy for SSL
+  /// server certificates.
+  /// @param hostname (Optional) If present, the policy will require the specified
+  /// hostname to match the hostname in the leaf certificate.
+  /// @result A policy object. The caller is responsible for calling CFRelease
+  /// on this when it is no longer needed.
+  SecPolicyRef SecPolicyCreateSSL(
+    int server,
+    CFStringRef hostname,
+  ) {
+    return _SecPolicyCreateSSL(
+      server,
+      hostname,
+    );
+  }
+
+  late final _SecPolicyCreateSSLPtr =
+      _lookup<ffi.NativeFunction<SecPolicyRef Function(Boolean, CFStringRef)>>(
+          'SecPolicyCreateSSL');
+  late final _SecPolicyCreateSSL = _SecPolicyCreateSSLPtr.asFunction<
+      SecPolicyRef Function(int, CFStringRef)>();
+
+  /// !
+  /// @function SecPolicyCreateRevocation
+  /// @abstract Returns a policy object for checking revocation of certificates.
+  /// @result A policy object. The caller is responsible for calling CFRelease
+  /// on this when it is no longer needed.
+  /// @param revocationFlags Flags to specify revocation checking options.
+  /// @discussion Use this function to create a revocation policy with behavior
+  /// specified by revocationFlags. See the "Revocation Policy Constants" section
+  /// for a description of these flags. Note: it is usually not necessary to
+  /// create a revocation policy yourself unless you wish to override default
+  /// system behavior (e.g. to force a particular method, or to disable
+  /// revocation checking entirely.)
+  SecPolicyRef SecPolicyCreateRevocation(
+    int revocationFlags,
+  ) {
+    return _SecPolicyCreateRevocation(
+      revocationFlags,
+    );
+  }
+
+  late final _SecPolicyCreateRevocationPtr =
+      _lookup<ffi.NativeFunction<SecPolicyRef Function(CFOptionFlags)>>(
+          'SecPolicyCreateRevocation');
+  late final _SecPolicyCreateRevocation =
+      _SecPolicyCreateRevocationPtr.asFunction<SecPolicyRef Function(int)>();
+
+  /// !
+  /// @function SecPolicyCreateWithProperties
+  /// @abstract Returns a policy object based on an object identifier for the
+  /// policy type. See the "Policy Constants" section for a list of defined
+  /// policy object identifiers.
+  /// @param policyIdentifier The identifier for the desired policy type.
+  /// @param properties (Optional) A properties dictionary. See "Policy Value
+  /// Constants" for a list of currently defined property keys.
+  /// @result The returned policy reference, or NULL if the policy could not be
+  /// created.
+  SecPolicyRef SecPolicyCreateWithProperties(
+    CFTypeRef policyIdentifier,
+    CFDictionaryRef properties,
+  ) {
+    return _SecPolicyCreateWithProperties(
+      policyIdentifier,
+      properties,
+    );
+  }
+
+  late final _SecPolicyCreateWithPropertiesPtr = _lookup<
+          ffi
+          .NativeFunction<SecPolicyRef Function(CFTypeRef, CFDictionaryRef)>>(
+      'SecPolicyCreateWithProperties');
+  late final _SecPolicyCreateWithProperties = _SecPolicyCreateWithPropertiesPtr
+      .asFunction<SecPolicyRef Function(CFTypeRef, CFDictionaryRef)>();
+
+  late final ffi.Pointer<SecRandomRef> _kSecRandomDefault =
+      _lookup<SecRandomRef>('kSecRandomDefault');
+
+  SecRandomRef get kSecRandomDefault => _kSecRandomDefault.value;
+
+  set kSecRandomDefault(SecRandomRef value) => _kSecRandomDefault.value = value;
+
+  /// !
+  /// @function SecRandomCopyBytes
+  ///
+  /// @abstract
+  /// Return count random bytes in *bytes, allocated by the caller. It
+  /// is critical to check the return value for error.
+  ///
+  /// @param rnd
+  /// Only @p kSecRandomDefault is supported.
+  ///
+  /// @param count
+  /// The number of bytes to generate.
+  ///
+  /// @param bytes
+  /// A buffer to fill with random output.
+  ///
+  /// @result Return 0 on success, any other value on failure.
+  ///
+  /// @discussion
+  /// If @p rnd is unrecognized or unsupported, @p kSecRandomDefault is
+  /// used.
+  int SecRandomCopyBytes(
+    SecRandomRef rnd,
+    int count,
+    ffi.Pointer<ffi.Void> bytes,
+  ) {
+    return _SecRandomCopyBytes(
+      rnd,
+      count,
+      bytes,
+    );
+  }
+
+  late final _SecRandomCopyBytesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(SecRandomRef, ffi.Size,
+              ffi.Pointer<ffi.Void>)>>('SecRandomCopyBytes');
+  late final _SecRandomCopyBytes = _SecRandomCopyBytesPtr.asFunction<
+      int Function(SecRandomRef, int, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @enum Import/Export options
+  /// @discussion Predefined key constants used when passing dictionary-based arguments to import/export functions.
+  /// @constant kSecImportExportPassphrase Specifies a passphrase represented by a CFStringRef to be used when exporting to (or importing from) PKCS#12 format.
+  /// @constant kSecImportExportKeychain On OSX, specifies a keychain represented by a SecKeychainRef to be used as the target when importing from PKCS#12 format.
+  /// @constant kSecImportExportAccess On OSX, specifies an access represented by a SecAccessRef for the initial access (ACL) of a key imported from PKCS#12 format.
+  late final ffi.Pointer<CFStringRef> _kSecImportExportPassphrase =
+      _lookup<CFStringRef>('kSecImportExportPassphrase');
+
+  CFStringRef get kSecImportExportPassphrase =>
+      _kSecImportExportPassphrase.value;
+
+  set kSecImportExportPassphrase(CFStringRef value) =>
+      _kSecImportExportPassphrase.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecImportExportKeychain =
+      _lookup<CFStringRef>('kSecImportExportKeychain');
+
+  CFStringRef get kSecImportExportKeychain => _kSecImportExportKeychain.value;
+
+  set kSecImportExportKeychain(CFStringRef value) =>
+      _kSecImportExportKeychain.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecImportExportAccess =
+      _lookup<CFStringRef>('kSecImportExportAccess');
+
+  CFStringRef get kSecImportExportAccess => _kSecImportExportAccess.value;
+
+  set kSecImportExportAccess(CFStringRef value) =>
+      _kSecImportExportAccess.value = value;
+
+  /// !
+  /// @enum Import/Export item description
+  /// @discussion Predefined key constants used to pass back a CFArray with a
+  /// CFDictionary per item.
+  ///
+  /// @constant kSecImportItemLabel a CFStringRef representing the item label.
+  /// This implementation specific identifier cannot be expected to have
+  /// any format.
+  /// @constant kSecImportItemKeyID a CFDataRef representing the key id.  Often
+  /// the SHA-1 digest of the public key.
+  /// @constant kSecImportItemIdentity a SecIdentityRef representing the identity.
+  /// @constant kSecImportItemTrust a SecTrustRef set up with all relevant
+  /// certificates.  Not guaranteed to succesfully evaluate.
+  /// @constant kSecImportItemCertChain a CFArrayRef holding all relevant
+  /// certificates for this item's identity
+  late final ffi.Pointer<CFStringRef> _kSecImportItemLabel =
+      _lookup<CFStringRef>('kSecImportItemLabel');
+
+  CFStringRef get kSecImportItemLabel => _kSecImportItemLabel.value;
+
+  set kSecImportItemLabel(CFStringRef value) =>
+      _kSecImportItemLabel.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecImportItemKeyID =
+      _lookup<CFStringRef>('kSecImportItemKeyID');
+
+  CFStringRef get kSecImportItemKeyID => _kSecImportItemKeyID.value;
+
+  set kSecImportItemKeyID(CFStringRef value) =>
+      _kSecImportItemKeyID.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecImportItemTrust =
+      _lookup<CFStringRef>('kSecImportItemTrust');
+
+  CFStringRef get kSecImportItemTrust => _kSecImportItemTrust.value;
+
+  set kSecImportItemTrust(CFStringRef value) =>
+      _kSecImportItemTrust.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecImportItemCertChain =
+      _lookup<CFStringRef>('kSecImportItemCertChain');
+
+  CFStringRef get kSecImportItemCertChain => _kSecImportItemCertChain.value;
+
+  set kSecImportItemCertChain(CFStringRef value) =>
+      _kSecImportItemCertChain.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecImportItemIdentity =
+      _lookup<CFStringRef>('kSecImportItemIdentity');
+
+  CFStringRef get kSecImportItemIdentity => _kSecImportItemIdentity.value;
+
+  set kSecImportItemIdentity(CFStringRef value) =>
+      _kSecImportItemIdentity.value = value;
+
+  /// !
+  /// @function SecPKCS12Import
+  /// @abstract Imports the contents of a PKCS12 formatted blob.
+  /// @param pkcs12_data The PKCS#12 formatted data to be imported.
+  /// @param options A dictionary containing import options. A
+  /// kSecImportExportPassphrase entry is required at minimum. Only password-based
+  /// PKCS12 blobs are currently supported.
+  /// @param items On return, an array containing a dictionary for every item
+  /// extracted. Use kSecImportItem constants to access specific elements of
+  /// these dictionaries. Your code must CFRelease the array when it is no longer
+  /// needed.
+  /// @result errSecSuccess in case of success. errSecDecode means either the
+  /// blob can't be read or it is malformed. errSecAuthFailed means an
+  /// incorrect password was supplied, or data in the container is damaged.
+  int SecPKCS12Import(
+    CFDataRef pkcs12_data,
+    CFDictionaryRef options,
+    ffi.Pointer<CFArrayRef> items,
+  ) {
+    return _SecPKCS12Import(
+      pkcs12_data,
+      options,
+      items,
+    );
+  }
+
+  late final _SecPKCS12ImportPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(CFDataRef, CFDictionaryRef,
+              ffi.Pointer<CFArrayRef>)>>('SecPKCS12Import');
+  late final _SecPKCS12Import = _SecPKCS12ImportPtr.asFunction<
+      int Function(CFDataRef, CFDictionaryRef, ffi.Pointer<CFArrayRef>)>();
+
+  /// !
+  /// @enum Trust Property Constants
+  /// @discussion Predefined key constants used to obtain values in a
+  /// per-certificate dictionary of trust evaluation results,
+  /// as retrieved from a call to SecTrustCopyProperties.
+  /// @constant kSecPropertyTypeTitle Specifies a key whose value is a
+  /// CFStringRef containing the title (display name) of this certificate.
+  /// @constant kSecPropertyTypeError Specifies a key whose value is a
+  /// CFStringRef containing the reason for a trust evaluation failure.
+  late final ffi.Pointer<CFStringRef> _kSecPropertyTypeTitle =
+      _lookup<CFStringRef>('kSecPropertyTypeTitle');
+
+  CFStringRef get kSecPropertyTypeTitle => _kSecPropertyTypeTitle.value;
+
+  set kSecPropertyTypeTitle(CFStringRef value) =>
+      _kSecPropertyTypeTitle.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecPropertyTypeError =
+      _lookup<CFStringRef>('kSecPropertyTypeError');
+
+  CFStringRef get kSecPropertyTypeError => _kSecPropertyTypeError.value;
+
+  set kSecPropertyTypeError(CFStringRef value) =>
+      _kSecPropertyTypeError.value = value;
+
+  /// !
+  /// @enum Trust Result Constants
+  /// @discussion Predefined key constants used to obtain values in a
+  /// dictionary of trust evaluation results for a certificate chain,
+  /// as retrieved from a call to SecTrustCopyResult.
+  /// @constant kSecTrustEvaluationDate
+  /// This key will be present if a trust evaluation has been performed
+  /// and results are available. Its value is a CFDateRef representing
+  /// when the evaluation for this trust object took place.
+  /// @constant kSecTrustExtendedValidation
+  /// This key will be present and have a value of kCFBooleanTrue
+  /// if this chain was validated for EV.
+  /// @constant kSecTrustOrganizationName
+  /// Organization name field of subject of leaf certificate. This
+  /// field is meant to be displayed to the user as the validated
+  /// name of the company or entity that owns the certificate if the
+  /// kSecTrustExtendedValidation key is present.
+  /// @constant kSecTrustResultValue
+  /// This key will be present if a trust evaluation has been performed.
+  /// Its value is a CFNumberRef representing the SecTrustResultType result
+  /// for the evaluation.
+  /// @constant kSecTrustRevocationChecked
+  /// This key will be present iff this chain had its revocation checked.
+  /// The value will be a kCFBooleanTrue if revocation checking was
+  /// successful and none of the certificates in the chain were revoked.
+  /// The value will be kCFBooleanFalse if no current revocation status
+  /// could be obtained for one or more certificates in the chain due
+  /// to connection problems or timeouts.  This is a hint to a client
+  /// to retry revocation checking at a later time.
+  /// @constant kSecTrustRevocationValidUntilDate
+  /// This key will be present iff kSecTrustRevocationChecked has a
+  /// value of kCFBooleanTrue. The value will be a CFDateRef representing
+  /// the earliest date at which the revocation info for one of the
+  /// certificates in this chain might change.
+  /// @constant kSecTrustCertificateTransparency
+  /// This key will be present and have a value of kCFBooleanTrue
+  /// if this chain is CT qualified.
+  /// @constant kSecTrustCertificateTransparencyWhiteList
+  /// This key will be present and have a value of kCFBooleanTrue
+  /// if this chain is EV, but not CT qualified, and is permitted
+  /// as an exception to CT policy requirements.
+  /// Note: in macOS 10.12 and iOS 10, previously-issued EV certificates
+  /// were considered exempt from the CT requirement. As those certificates
+  /// expired, exempting them was no longer needed. This key is deprecated
+  /// in macOS 10.13 and iOS 11, and is no longer returned in the trust
+  /// results dictionary as of those releases.
+  late final ffi.Pointer<CFStringRef> _kSecTrustEvaluationDate =
+      _lookup<CFStringRef>('kSecTrustEvaluationDate');
+
+  CFStringRef get kSecTrustEvaluationDate => _kSecTrustEvaluationDate.value;
+
+  set kSecTrustEvaluationDate(CFStringRef value) =>
+      _kSecTrustEvaluationDate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecTrustExtendedValidation =
+      _lookup<CFStringRef>('kSecTrustExtendedValidation');
+
+  CFStringRef get kSecTrustExtendedValidation =>
+      _kSecTrustExtendedValidation.value;
+
+  set kSecTrustExtendedValidation(CFStringRef value) =>
+      _kSecTrustExtendedValidation.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecTrustOrganizationName =
+      _lookup<CFStringRef>('kSecTrustOrganizationName');
+
+  CFStringRef get kSecTrustOrganizationName => _kSecTrustOrganizationName.value;
+
+  set kSecTrustOrganizationName(CFStringRef value) =>
+      _kSecTrustOrganizationName.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecTrustResultValue =
+      _lookup<CFStringRef>('kSecTrustResultValue');
+
+  CFStringRef get kSecTrustResultValue => _kSecTrustResultValue.value;
+
+  set kSecTrustResultValue(CFStringRef value) =>
+      _kSecTrustResultValue.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecTrustRevocationChecked =
+      _lookup<CFStringRef>('kSecTrustRevocationChecked');
+
+  CFStringRef get kSecTrustRevocationChecked =>
+      _kSecTrustRevocationChecked.value;
+
+  set kSecTrustRevocationChecked(CFStringRef value) =>
+      _kSecTrustRevocationChecked.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecTrustRevocationValidUntilDate =
+      _lookup<CFStringRef>('kSecTrustRevocationValidUntilDate');
+
+  CFStringRef get kSecTrustRevocationValidUntilDate =>
+      _kSecTrustRevocationValidUntilDate.value;
+
+  set kSecTrustRevocationValidUntilDate(CFStringRef value) =>
+      _kSecTrustRevocationValidUntilDate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSecTrustCertificateTransparency =
+      _lookup<CFStringRef>('kSecTrustCertificateTransparency');
+
+  CFStringRef get kSecTrustCertificateTransparency =>
+      _kSecTrustCertificateTransparency.value;
+
+  set kSecTrustCertificateTransparency(CFStringRef value) =>
+      _kSecTrustCertificateTransparency.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kSecTrustCertificateTransparencyWhiteList =
+      _lookup<CFStringRef>('kSecTrustCertificateTransparencyWhiteList');
+
+  CFStringRef get kSecTrustCertificateTransparencyWhiteList =>
+      _kSecTrustCertificateTransparencyWhiteList.value;
+
+  set kSecTrustCertificateTransparencyWhiteList(CFStringRef value) =>
+      _kSecTrustCertificateTransparencyWhiteList.value = value;
+
+  /// !
+  /// @function SecTrustGetTypeID
+  /// @abstract Returns the type identifier of SecTrust instances.
+  /// @result The CFTypeID of SecTrust instances.
+  int SecTrustGetTypeID() {
+    return _SecTrustGetTypeID();
+  }
+
+  late final _SecTrustGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('SecTrustGetTypeID');
+  late final _SecTrustGetTypeID =
+      _SecTrustGetTypeIDPtr.asFunction<int Function()>();
+
+  /// !
+  /// @function SecTrustCreateWithCertificates
+  /// @abstract Creates a trust object based on the given certificates and
+  /// policies.
+  /// @param certificates The group of certificates to verify.  This can either
+  /// be a CFArrayRef of SecCertificateRef objects or a single SecCertificateRef
+  /// @param policies An array of one or more policies. You may pass a
+  /// SecPolicyRef to represent a single policy.
+  /// @param trust On return, a pointer to the trust management reference.
+  /// @result A result code.  See "Security Error Codes" (SecBase.h).
+  /// @discussion If multiple policies are passed in, all policies must verify
+  /// for the chain to be considered valid.
+  int SecTrustCreateWithCertificates(
+    CFTypeRef certificates,
+    CFTypeRef policies,
+    ffi.Pointer<SecTrustRef> trust,
+  ) {
+    return _SecTrustCreateWithCertificates(
+      certificates,
+      policies,
+      trust,
+    );
+  }
+
+  late final _SecTrustCreateWithCertificatesPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(CFTypeRef, CFTypeRef,
+              ffi.Pointer<SecTrustRef>)>>('SecTrustCreateWithCertificates');
+  late final _SecTrustCreateWithCertificates =
+      _SecTrustCreateWithCertificatesPtr.asFunction<
+          int Function(CFTypeRef, CFTypeRef, ffi.Pointer<SecTrustRef>)>();
+
+  /// !
+  /// @function SecTrustSetPolicies
+  /// @abstract Set the policies for which trust should be verified.
+  /// @param trust A trust reference.
+  /// @param policies An array of one or more policies. You may pass a
+  /// SecPolicyRef to represent a single policy.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion This function will invalidate the existing trust result,
+  /// requiring a fresh evaluation for the newly-set policies.
+  int SecTrustSetPolicies(
+    SecTrustRef trust,
+    CFTypeRef policies,
+  ) {
+    return _SecTrustSetPolicies(
+      trust,
+      policies,
+    );
+  }
+
+  late final _SecTrustSetPoliciesPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SecTrustRef, CFTypeRef)>>(
+          'SecTrustSetPolicies');
+  late final _SecTrustSetPolicies = _SecTrustSetPoliciesPtr.asFunction<
+      int Function(SecTrustRef, CFTypeRef)>();
+
+  /// !
+  /// @function SecTrustCopyPolicies
+  /// @abstract Returns an array of policies used for this evaluation.
+  /// @param trust  A reference to a trust object.
+  /// @param policies On return, an array of policies used by this trust.
+  /// Call the CFRelease function to release this reference.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  int SecTrustCopyPolicies(
+    SecTrustRef trust,
+    ffi.Pointer<CFArrayRef> policies,
+  ) {
+    return _SecTrustCopyPolicies(
+      trust,
+      policies,
+    );
+  }
+
+  late final _SecTrustCopyPoliciesPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SecTrustRef, ffi.Pointer<CFArrayRef>)>>('SecTrustCopyPolicies');
+  late final _SecTrustCopyPolicies = _SecTrustCopyPoliciesPtr.asFunction<
+      int Function(SecTrustRef, ffi.Pointer<CFArrayRef>)>();
+
+  /// !
+  /// @function SecTrustSetNetworkFetchAllowed
+  /// @abstract Specifies whether a trust evaluation is permitted to fetch missing
+  /// intermediate certificates from the network.
+  /// @param trust A trust reference.
+  /// @param allowFetch If true, and a certificate's issuer is not present in the
+  /// trust reference but its network location is known, the evaluation is permitted
+  /// to attempt to download it automatically. Pass false to disable network fetch
+  /// for this trust evaluation.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion By default, network fetch of missing certificates is enabled if
+  /// the trust evaluation includes the SSL policy, otherwise it is disabled.
+  int SecTrustSetNetworkFetchAllowed(
+    SecTrustRef trust,
+    int allowFetch,
+  ) {
+    return _SecTrustSetNetworkFetchAllowed(
+      trust,
+      allowFetch,
+    );
+  }
+
+  late final _SecTrustSetNetworkFetchAllowedPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SecTrustRef, Boolean)>>(
+          'SecTrustSetNetworkFetchAllowed');
+  late final _SecTrustSetNetworkFetchAllowed =
+      _SecTrustSetNetworkFetchAllowedPtr.asFunction<
+          int Function(SecTrustRef, int)>();
+
+  /// !
+  /// @function SecTrustGetNetworkFetchAllowed
+  /// @abstract Returns whether a trust evaluation is permitted to fetch missing
+  /// intermediate certificates from the network.
+  /// @param trust A trust reference.
+  /// @param allowFetch On return, the boolean pointed to by this parameter is
+  /// set to true if the evaluation is permitted to download missing certificates.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion By default, network fetch of missing certificates is enabled if
+  /// the trust evaluation includes the SSL policy, otherwise it is disabled.
+  int SecTrustGetNetworkFetchAllowed(
+    SecTrustRef trust,
+    ffi.Pointer<Boolean> allowFetch,
+  ) {
+    return _SecTrustGetNetworkFetchAllowed(
+      trust,
+      allowFetch,
+    );
+  }
+
+  late final _SecTrustGetNetworkFetchAllowedPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecTrustRef,
+              ffi.Pointer<Boolean>)>>('SecTrustGetNetworkFetchAllowed');
+  late final _SecTrustGetNetworkFetchAllowed =
+      _SecTrustGetNetworkFetchAllowedPtr.asFunction<
+          int Function(SecTrustRef, ffi.Pointer<Boolean>)>();
+
+  /// !
+  /// @function SecTrustSetAnchorCertificates
+  /// @abstract Sets the anchor certificates for a given trust.
+  /// @param trust A reference to a trust object.
+  /// @param anchorCertificates An array of anchor certificates.
+  /// Pass NULL to restore the default set of anchor certificates.
+  /// @result A result code.  See "Security Error Codes" (SecBase.h).
+  /// @discussion Calling this function without also calling
+  /// SecTrustSetAnchorCertificatesOnly() will disable trusting any
+  /// anchors other than the ones in anchorCertificates.
+  int SecTrustSetAnchorCertificates(
+    SecTrustRef trust,
+    CFArrayRef anchorCertificates,
+  ) {
+    return _SecTrustSetAnchorCertificates(
+      trust,
+      anchorCertificates,
+    );
+  }
+
+  late final _SecTrustSetAnchorCertificatesPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SecTrustRef, CFArrayRef)>>(
+          'SecTrustSetAnchorCertificates');
+  late final _SecTrustSetAnchorCertificates = _SecTrustSetAnchorCertificatesPtr
+      .asFunction<int Function(SecTrustRef, CFArrayRef)>();
+
+  /// !
+  /// @function SecTrustSetAnchorCertificatesOnly
+  /// @abstract Reenables trusting anchor certificates in addition to those
+  /// passed in via the SecTrustSetAnchorCertificates API.
+  /// @param trust A reference to a trust object.
+  /// @param anchorCertificatesOnly If true, disables trusting any anchors other
+  /// than the ones passed in via SecTrustSetAnchorCertificates().  If false,
+  /// the built in anchor certificates are also trusted.
+  /// @result A result code.  See "Security Error Codes" (SecBase.h).
+  int SecTrustSetAnchorCertificatesOnly(
+    SecTrustRef trust,
+    int anchorCertificatesOnly,
+  ) {
+    return _SecTrustSetAnchorCertificatesOnly(
+      trust,
+      anchorCertificatesOnly,
+    );
+  }
+
+  late final _SecTrustSetAnchorCertificatesOnlyPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SecTrustRef, Boolean)>>(
+          'SecTrustSetAnchorCertificatesOnly');
+  late final _SecTrustSetAnchorCertificatesOnly =
+      _SecTrustSetAnchorCertificatesOnlyPtr.asFunction<
+          int Function(SecTrustRef, int)>();
+
+  /// !
+  /// @function SecTrustCopyCustomAnchorCertificates
+  /// @abstract Returns an array of custom anchor certificates used by a given
+  /// trust, as set by a prior call to SecTrustSetAnchorCertificates, or NULL if
+  /// no custom anchors have been specified.
+  /// @param trust  A reference to a trust object.
+  /// @param anchors On return, an array of custom anchor certificates (roots)
+  /// used by this trust, or NULL if no custom anchors have been specified. Call
+  /// the CFRelease function to release this reference.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  int SecTrustCopyCustomAnchorCertificates(
+    SecTrustRef trust,
+    ffi.Pointer<CFArrayRef> anchors,
+  ) {
+    return _SecTrustCopyCustomAnchorCertificates(
+      trust,
+      anchors,
+    );
+  }
+
+  late final _SecTrustCopyCustomAnchorCertificatesPtr = _lookup<
+          ffi.NativeFunction<
+              OSStatus Function(SecTrustRef, ffi.Pointer<CFArrayRef>)>>(
+      'SecTrustCopyCustomAnchorCertificates');
+  late final _SecTrustCopyCustomAnchorCertificates =
+      _SecTrustCopyCustomAnchorCertificatesPtr.asFunction<
+          int Function(SecTrustRef, ffi.Pointer<CFArrayRef>)>();
+
+  /// !
+  /// @function SecTrustSetVerifyDate
+  /// @abstract Set the date for which the trust should be verified.
+  /// @param trust A reference to a trust object.
+  /// @param verifyDate The date for which to verify trust.
+  /// @result A result code.  See "Security Error Codes" (SecBase.h).
+  /// @discussion This function lets you evaluate certificate validity for a
+  /// given date (for example, to determine if a signature was valid on the date
+  /// it was signed, even if the certificate has since expired.) If this function
+  /// is not called, the time at which SecTrustEvaluate() is called is used
+  /// implicitly as the verification time.
+  int SecTrustSetVerifyDate(
+    SecTrustRef trust,
+    CFDateRef verifyDate,
+  ) {
+    return _SecTrustSetVerifyDate(
+      trust,
+      verifyDate,
+    );
+  }
+
+  late final _SecTrustSetVerifyDatePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SecTrustRef, CFDateRef)>>(
+          'SecTrustSetVerifyDate');
+  late final _SecTrustSetVerifyDate = _SecTrustSetVerifyDatePtr.asFunction<
+      int Function(SecTrustRef, CFDateRef)>();
+
+  /// !
+  /// @function SecTrustGetVerifyTime
+  /// @abstract Returns the verify time.
+  /// @param trust A reference to the trust object being verified.
+  /// @result A CFAbsoluteTime value representing the time at which certificates
+  /// should be checked for validity.
+  /// @discussion This function retrieves the verification time for the given
+  /// trust reference, as set by a prior call to SecTrustSetVerifyDate(). If the
+  /// verification time has not been set, this function returns a value of 0,
+  /// indicating that the current date/time is implicitly used for verification.
+  double SecTrustGetVerifyTime(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustGetVerifyTime(
+      trust,
+    );
+  }
+
+  late final _SecTrustGetVerifyTimePtr =
+      _lookup<ffi.NativeFunction<CFAbsoluteTime Function(SecTrustRef)>>(
+          'SecTrustGetVerifyTime');
+  late final _SecTrustGetVerifyTime =
+      _SecTrustGetVerifyTimePtr.asFunction<double Function(SecTrustRef)>();
+
+  /// !
+  /// @function SecTrustEvaluate
+  /// @abstract Evaluates a trust reference synchronously.
+  /// @param trust A reference to the trust object to evaluate.
+  /// @param result A pointer to a result type.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion This function will completely evaluate trust before returning,
+  /// possibly including network access to fetch intermediate certificates or to
+  /// perform revocation checking. Since this function can block during those
+  /// operations, you should call it from within a function that is placed on a
+  /// dispatch queue, or in a separate thread from your application's main
+  /// run loop. Alternatively, you can use the SecTrustEvaluateAsync function.
+  int SecTrustEvaluate(
+    SecTrustRef trust,
+    ffi.Pointer<ffi.Int32> result,
+  ) {
+    return _SecTrustEvaluate(
+      trust,
+      result,
+    );
+  }
+
+  late final _SecTrustEvaluatePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SecTrustRef, ffi.Pointer<ffi.Int32>)>>('SecTrustEvaluate');
+  late final _SecTrustEvaluate = _SecTrustEvaluatePtr.asFunction<
+      int Function(SecTrustRef, ffi.Pointer<ffi.Int32>)>();
+
+  /// !
+  /// @function SecTrustEvaluateAsync
+  /// @abstract Evaluates a trust reference asynchronously.
+  /// @param trust A reference to the trust object to evaluate.
+  /// @param queue A dispatch queue on which the result callback should be
+  /// executed. Pass NULL to use the current dispatch queue.
+  /// @param result A SecTrustCallback block which will be executed when the
+  /// trust evaluation is complete.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  int SecTrustEvaluateAsync(
+    SecTrustRef trust,
+    dispatch_queue_t queue,
+    SecTrustCallback result,
+  ) {
+    return _SecTrustEvaluateAsync(
+      trust,
+      queue,
+      result,
+    );
+  }
+
+  late final _SecTrustEvaluateAsyncPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecTrustRef, dispatch_queue_t,
+              SecTrustCallback)>>('SecTrustEvaluateAsync');
+  late final _SecTrustEvaluateAsync = _SecTrustEvaluateAsyncPtr.asFunction<
+      int Function(SecTrustRef, dispatch_queue_t, SecTrustCallback)>();
+
+  /// !
+  /// @function SecTrustEvaluateWithError
+  /// @abstract Evaluates a trust reference synchronously.
+  /// @param trust A reference to the trust object to evaluate.
+  /// @param error A pointer to an error object
+  /// @result A boolean value indicating whether the certificate is trusted
+  /// @discussion This function will completely evaluate trust before returning,
+  /// possibly including network access to fetch intermediate certificates or to
+  /// perform revocation checking. Since this function can block during those
+  /// operations, you should call it from within a function that is placed on a
+  /// dispatch queue, or in a separate thread from your application's main
+  /// run loop.
+  /// If the certificate is trusted and the result is true, the error will be set to NULL.
+  /// If the certificate is not trusted or the evaluation was unable to complete, the result
+  /// will be false and the error will be set with a description of the failure.
+  /// The error contains a code for the most serious error encountered (if multiple trust
+  /// failures occurred). The localized description indicates the certificate with the most
+  /// serious problem and the type of error. The underlying error contains a localized
+  /// description of each certificate in the chain that had an error and all errors found
+  /// with that certificate.
+  bool SecTrustEvaluateWithError(
+    SecTrustRef trust,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _SecTrustEvaluateWithError(
+      trust,
+      error,
+    );
+  }
+
+  late final _SecTrustEvaluateWithErrorPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(SecTrustRef,
+              ffi.Pointer<CFErrorRef>)>>('SecTrustEvaluateWithError');
+  late final _SecTrustEvaluateWithError = _SecTrustEvaluateWithErrorPtr
+      .asFunction<bool Function(SecTrustRef, ffi.Pointer<CFErrorRef>)>();
+
+  /// !
+  /// @function SecTrustEvaluateAsyncWithError
+  /// @abstract Evaluates a trust reference asynchronously.
+  /// @param trust A reference to the trust object to evaluate.
+  /// @param queue A dispatch queue on which the result callback will be executed. Note that this
+  /// function MUST be called from that queue.
+  /// @param result A SecTrustWithErrorCallback block which will be executed when the trust evaluation
+  /// is complete.
+  /// The block is guaranteed to be called exactly once when the result code is errSecSuccess, and not
+  /// called otherwise. Note that this block may be called synchronously inline if no asynchronous
+  /// operations are required.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion If the certificate is trusted, the callback will return a result parameter of true
+  /// and the error will be set to NULL.
+  /// If the certificate is not trusted or the evaluation was unable to complete, the result parameter
+  /// will be false and the error will be set with a description of the failure. The error contains a
+  /// code for the most serious error encountered (if multiple trust failures occurred). The localized
+  /// description indicates the certificate with the most serious problem and the type of error. The
+  /// underlying error contains a localized description of each certificate in the chain that had an
+  /// error and all errors found with that certificate.
+  int SecTrustEvaluateAsyncWithError(
+    SecTrustRef trust,
+    dispatch_queue_t queue,
+    SecTrustWithErrorCallback result,
+  ) {
+    return _SecTrustEvaluateAsyncWithError(
+      trust,
+      queue,
+      result,
+    );
+  }
+
+  late final _SecTrustEvaluateAsyncWithErrorPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SecTrustRef, dispatch_queue_t,
+              SecTrustWithErrorCallback)>>('SecTrustEvaluateAsyncWithError');
+  late final _SecTrustEvaluateAsyncWithError =
+      _SecTrustEvaluateAsyncWithErrorPtr.asFunction<
+          int Function(
+              SecTrustRef, dispatch_queue_t, SecTrustWithErrorCallback)>();
+
+  /// !
+  /// @function SecTrustGetTrustResult
+  /// @param trust A reference to a trust object.
+  /// @param result A pointer to the result from the most recent call to
+  /// SecTrustEvaluate for this trust reference. If SecTrustEvaluate has not been
+  /// called or trust parameters have changed, the result is kSecTrustResultInvalid.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion This function replaces SecTrustGetResult for the purpose of
+  /// obtaining the current evaluation result of a given trust reference.
+  int SecTrustGetTrustResult(
+    SecTrustRef trust,
+    ffi.Pointer<ffi.Int32> result,
+  ) {
+    return _SecTrustGetTrustResult(
+      trust,
+      result,
+    );
+  }
+
+  late final _SecTrustGetTrustResultPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SecTrustRef, ffi.Pointer<ffi.Int32>)>>('SecTrustGetTrustResult');
+  late final _SecTrustGetTrustResult = _SecTrustGetTrustResultPtr.asFunction<
+      int Function(SecTrustRef, ffi.Pointer<ffi.Int32>)>();
+
+  /// !
+  /// @function SecTrustCopyPublicKey
+  /// @abstract Return the public key for a leaf certificate after it has
+  /// been evaluated.
+  /// @param trust A reference to the trust object which has been evaluated.
+  /// @result The certificate's public key, or NULL if it the public key could
+  /// not be extracted (this can happen if the public key algorithm is not
+  /// supported).  The caller is responsible for calling CFRelease on the
+  /// returned key when it is no longer needed.
+  SecKeyRef SecTrustCopyPublicKey(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustCopyPublicKey(
+      trust,
+    );
+  }
+
+  late final _SecTrustCopyPublicKeyPtr =
+      _lookup<ffi.NativeFunction<SecKeyRef Function(SecTrustRef)>>(
+          'SecTrustCopyPublicKey');
+  late final _SecTrustCopyPublicKey =
+      _SecTrustCopyPublicKeyPtr.asFunction<SecKeyRef Function(SecTrustRef)>();
+
+  /// !
+  /// @function SecTrustCopyKey
+  /// @abstract Return the public key for a leaf certificate after it has
+  /// been evaluated.
+  /// @param trust A reference to the trust object which has been evaluated.
+  /// @result The certificate's public key, or NULL if it the public key could
+  /// not be extracted (this can happen if the public key algorithm is not
+  /// supported).  The caller is responsible for calling CFRelease on the
+  /// returned key when it is no longer needed.
+  /// @discussion RSA and ECDSA public keys are supported. All other public key algorithms are unsupported.
+  SecKeyRef SecTrustCopyKey(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustCopyKey(
+      trust,
+    );
+  }
+
+  late final _SecTrustCopyKeyPtr =
+      _lookup<ffi.NativeFunction<SecKeyRef Function(SecTrustRef)>>(
+          'SecTrustCopyKey');
+  late final _SecTrustCopyKey =
+      _SecTrustCopyKeyPtr.asFunction<SecKeyRef Function(SecTrustRef)>();
+
+  /// !
+  /// @function SecTrustGetCertificateCount
+  /// @abstract Returns the number of certificates in an evaluated certificate
+  /// chain.
+  /// @param trust A reference to a trust object.
+  /// @result The number of certificates in the trust chain, including the anchor.
+  /// @discussion Important: if the trust reference has not yet been evaluated,
+  /// this function will evaluate it first before returning. If speed is critical,
+  /// you may want to call SecTrustGetTrustResult first to make sure that a
+  /// result other than kSecTrustResultInvalid is present for the trust object.
+  int SecTrustGetCertificateCount(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustGetCertificateCount(
+      trust,
+    );
+  }
+
+  late final _SecTrustGetCertificateCountPtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(SecTrustRef)>>(
+          'SecTrustGetCertificateCount');
+  late final _SecTrustGetCertificateCount =
+      _SecTrustGetCertificateCountPtr.asFunction<int Function(SecTrustRef)>();
+
+  /// !
+  /// @function SecTrustGetCertificateAtIndex
+  /// @abstract Returns a certificate from the trust chain.
+  /// @param trust Reference to a trust object.
+  /// @param ix The index of the requested certificate.  Indices run from 0
+  /// (leaf) to the anchor (or last certificate found if no anchor was found).
+  /// The leaf cert (index 0) is always present regardless of whether the trust
+  /// reference has been evaluated or not.
+  /// @result A SecCertificateRef for the requested certificate.
+  /// @discussion This API is fundamentally not thread-safe -- other threads using the same
+  /// trust object may trigger trust evaluations that release the returned certificate or change the
+  /// certificate chain as a thread is iterating through the certificate chain. The replacement function
+  /// SecTrustCopyCertificateChain provides thread-safe results.
+  SecCertificateRef SecTrustGetCertificateAtIndex(
+    SecTrustRef trust,
+    int ix,
+  ) {
+    return _SecTrustGetCertificateAtIndex(
+      trust,
+      ix,
+    );
+  }
+
+  late final _SecTrustGetCertificateAtIndexPtr = _lookup<
+          ffi.NativeFunction<SecCertificateRef Function(SecTrustRef, CFIndex)>>(
+      'SecTrustGetCertificateAtIndex');
+  late final _SecTrustGetCertificateAtIndex = _SecTrustGetCertificateAtIndexPtr
+      .asFunction<SecCertificateRef Function(SecTrustRef, int)>();
+
+  /// !
+  /// @function SecTrustCopyExceptions
+  /// @abstract Returns an opaque cookie which will allow future evaluations
+  /// of the current certificate to succeed.
+  /// @param trust A reference to an evaluated trust object.
+  /// @result An opaque cookie which when passed to SecTrustSetExceptions() will
+  /// cause a call to SecTrustEvaluate() return kSecTrustResultProceed.  This
+  /// will happen upon subsequent evaluation of the current certificate unless
+  /// some new error starts happening that wasn't being reported when the cookie
+  /// was returned from this function (for example, if the certificate expires
+  /// then evaluation will start failing again until a new cookie is obtained.)
+  /// @discussion Normally this API should only be called once the errors have
+  /// been presented to the user and the user decided to trust the current
+  /// certificate chain regardless of the errors being presented, for the
+  /// current application/server/protocol combination.
+  CFDataRef SecTrustCopyExceptions(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustCopyExceptions(
+      trust,
+    );
+  }
+
+  late final _SecTrustCopyExceptionsPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(SecTrustRef)>>(
+          'SecTrustCopyExceptions');
+  late final _SecTrustCopyExceptions =
+      _SecTrustCopyExceptionsPtr.asFunction<CFDataRef Function(SecTrustRef)>();
+
+  /// !
+  /// @function SecTrustSetExceptions
+  /// @abstract Set a trust cookie to be used for evaluating this certificate chain.
+  /// @param trust A reference to a trust object.
+  /// @param exceptions An exceptions cookie as returned by a call to
+  /// SecTrustCopyExceptions() in the past.  You may pass NULL to clear any
+  /// exceptions which have been previously set on this trust reference.
+  /// @result Upon calling SecTrustEvaluate(), any failures that were present at the
+  /// time the exceptions object was created are ignored, and instead of returning
+  /// kSecTrustResultRecoverableTrustFailure, kSecTrustResultProceed will be returned
+  /// (if the certificate for which exceptions was created matches the current leaf
+  /// certificate).
+  /// @result Returns true if the exceptions cookies was valid and matches the current
+  /// leaf certificate, false otherwise.  This function will invalidate the existing
+  /// trust result, requiring a subsequent evaluation for the newly-set exceptions.
+  /// Note that this function returning true doesn't mean the caller can skip calling
+  /// SecTrustEvaluate, as there may be new errors since the exceptions cookie was
+  /// created (for example, a certificate may have subsequently expired.)
+  /// @discussion Clients of this interface will need to establish the context of this
+  /// exception to later decide when this exception cookie is to be used.
+  /// Examples of this context would be the server we are connecting to, the ssid
+  /// of the wireless network for which this cert is needed, the account for which
+  /// this cert should be considered valid, and so on.
+  bool SecTrustSetExceptions(
+    SecTrustRef trust,
+    CFDataRef exceptions,
+  ) {
+    return _SecTrustSetExceptions(
+      trust,
+      exceptions,
+    );
+  }
+
+  late final _SecTrustSetExceptionsPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(SecTrustRef, CFDataRef)>>(
+          'SecTrustSetExceptions');
+  late final _SecTrustSetExceptions = _SecTrustSetExceptionsPtr.asFunction<
+      bool Function(SecTrustRef, CFDataRef)>();
+
+  /// !
+  /// @function SecTrustCopyProperties
+  /// @abstract Return a property array for this trust evaluation.
+  /// @param trust A reference to a trust object. If the trust has not been
+  /// evaluated, the returned property array will be empty.
+  /// @result A property array. It is the caller's responsibility to CFRelease
+  /// the returned array when it is no longer needed.
+  /// @discussion On macOS, this function returns an ordered array of CFDictionaryRef
+  /// instances for each certificate in the chain. Indices run from 0 (leaf) to
+  /// the anchor (or last certificate found if no anchor was found.)
+  /// On other platforms, this function returns an unordered array of CFDictionary instances.
+  /// See the "Trust Property Constants" section for a list of currently defined keys.
+  /// The error information conveyed via this interface is also conveyed via the
+  /// returned error of SecTrustEvaluateWithError.
+  CFArrayRef SecTrustCopyProperties(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustCopyProperties(
+      trust,
+    );
+  }
+
+  late final _SecTrustCopyPropertiesPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(SecTrustRef)>>(
+          'SecTrustCopyProperties');
+  late final _SecTrustCopyProperties =
+      _SecTrustCopyPropertiesPtr.asFunction<CFArrayRef Function(SecTrustRef)>();
+
+  /// !
+  /// @function SecTrustCopyResult
+  /// @abstract Returns a dictionary containing information about the
+  /// evaluated certificate chain for use by clients.
+  /// @param trust A reference to a trust object.
+  /// @result A dictionary with various fields that can be displayed to the user,
+  /// or NULL if no additional info is available or the trust has not yet been
+  /// validated.  The caller is responsible for calling CFRelease on the value
+  /// returned when it is no longer needed.
+  /// @discussion Returns a dictionary for the overall trust evaluation. See the
+  /// "Trust Result Constants" section for a list of currently defined keys.
+  CFDictionaryRef SecTrustCopyResult(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustCopyResult(
+      trust,
+    );
+  }
+
+  late final _SecTrustCopyResultPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(SecTrustRef)>>(
+          'SecTrustCopyResult');
+  late final _SecTrustCopyResult = _SecTrustCopyResultPtr.asFunction<
+      CFDictionaryRef Function(SecTrustRef)>();
+
+  /// !
+  /// @function SecTrustSetOCSPResponse
+  /// @abstract Attach OCSPResponse data to a trust object.
+  /// @param trust A reference to a trust object.
+  /// @param responseData This may be either a CFData object containing a single
+  /// DER-encoded OCSPResponse (per RFC 2560), or a CFArray of these.
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion Allows the caller to provide OCSPResponse data (which may be
+  /// obtained during a TLS/SSL handshake, per RFC 3546) as input to a trust
+  /// evaluation. If this data is available, it can obviate the need to contact
+  /// an OCSP server for current revocation information.
+  int SecTrustSetOCSPResponse(
+    SecTrustRef trust,
+    CFTypeRef responseData,
+  ) {
+    return _SecTrustSetOCSPResponse(
+      trust,
+      responseData,
+    );
+  }
+
+  late final _SecTrustSetOCSPResponsePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SecTrustRef, CFTypeRef)>>(
+          'SecTrustSetOCSPResponse');
+  late final _SecTrustSetOCSPResponse = _SecTrustSetOCSPResponsePtr.asFunction<
+      int Function(SecTrustRef, CFTypeRef)>();
+
+  /// !
+  /// @function SecTrustSignedCertificateTimestamps
+  /// @abstract Attach SignedCertificateTimestamp data to a trust object.
+  /// @param trust A reference to a trust object.
+  /// @param sctArray is a CFArray of CFData objects each containing a SCT (per RFC 6962).
+  /// @result A result code. See "Security Error Codes" (SecBase.h).
+  /// @discussion Allows the caller to provide SCT data (which may be
+  /// obtained during a TLS/SSL handshake, per RFC 6962) as input to a trust
+  /// evaluation.
+  int SecTrustSetSignedCertificateTimestamps(
+    SecTrustRef trust,
+    CFArrayRef sctArray,
+  ) {
+    return _SecTrustSetSignedCertificateTimestamps(
+      trust,
+      sctArray,
+    );
+  }
+
+  late final _SecTrustSetSignedCertificateTimestampsPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SecTrustRef, CFArrayRef)>>(
+          'SecTrustSetSignedCertificateTimestamps');
+  late final _SecTrustSetSignedCertificateTimestamps =
+      _SecTrustSetSignedCertificateTimestampsPtr.asFunction<
+          int Function(SecTrustRef, CFArrayRef)>();
+
+  /// !
+  /// @function SecTrustCopyCertificateChain
+  /// @abstract Returns the certificate trust chain
+  /// @param trust Reference to a trust object.
+  /// @result A CFArray of the SecCertificateRefs for the resulting certificate chain
+  CFArrayRef SecTrustCopyCertificateChain(
+    SecTrustRef trust,
+  ) {
+    return _SecTrustCopyCertificateChain(
+      trust,
+    );
+  }
+
+  late final _SecTrustCopyCertificateChainPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(SecTrustRef)>>(
+          'SecTrustCopyCertificateChain');
+  late final _SecTrustCopyCertificateChain = _SecTrustCopyCertificateChainPtr
+      .asFunction<CFArrayRef Function(SecTrustRef)>();
+
+  /// !
+  /// @enum Credential Key Constants
+  /// @discussion Predefined key constants used to get values in a dictionary
+  /// of credentials returned by SecRequestWebCredential.
+  /// @constant kSecSharedPassword Specifies a dictionary key whose value is a
+  /// shared password. You use this key to get a value of type CFStringRef
+  /// that contains a password.
+  late final ffi.Pointer<CFStringRef> _kSecSharedPassword =
+      _lookup<CFStringRef>('kSecSharedPassword');
+
+  CFStringRef get kSecSharedPassword => _kSecSharedPassword.value;
+
+  set kSecSharedPassword(CFStringRef value) =>
+      _kSecSharedPassword.value = value;
+
+  /// !
+  /// @function SecAddSharedWebCredential
+  /// @abstract Asynchronously store (or update) a shared password for a website.
+  /// @param fqdn The fully qualified domain name of the website requiring the password.
+  /// @param account The account name associated with this password.
+  /// @param password The password to be stored. Pass NULL to remove a shared password if it exists.
+  /// @param completionHandler A block which will be invoked when the function has completed. If the shared password was successfully added (or removed), the CFErrorRef parameter passed to the block will be NULL. If the error parameter is non-NULL, an error occurred and the error reference will hold the result. Note: the error reference will be automatically released after this handler is called, though you may optionally retain it for as long as needed.
+  /// @discussion This function adds a shared password item which will be accessible by Safari and applications that have the specified fully-qualified domain name in their 'com.apple.developer.associated-domains' entitlement. If a shared password item already exists for the specified website and account, it will be updated with the provided password. To remove a password, pass NULL for the password parameter.
+  ///
+  /// Note: since a request involving shared web credentials may potentially require user interaction or other verification to be approved, this function is dispatched asynchronously; your code provides a completion handler that will be called once the results (if any) are available.
+  void SecAddSharedWebCredential(
+    CFStringRef fqdn,
+    CFStringRef account,
+    CFStringRef password,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return _SecAddSharedWebCredential(
+      fqdn,
+      account,
+      password,
+      completionHandler,
+    );
+  }
+
+  late final _SecAddSharedWebCredentialPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFStringRef, CFStringRef, CFStringRef,
+              ffi.Pointer<_ObjCBlock>)>>('SecAddSharedWebCredential');
+  late final _SecAddSharedWebCredential =
+      _SecAddSharedWebCredentialPtr.asFunction<
+          void Function(CFStringRef, CFStringRef, CFStringRef,
+              ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function SecRequestSharedWebCredential
+  /// @abstract Asynchronously obtain one or more shared passwords for a website.
+  /// @param fqdn (Optional) Fully qualified domain name of the website for which passwords are being requested. If NULL is passed in this argument, the domain name(s) listed in the calling application's 'com.apple.developer.associated-domains' entitlement are searched implicitly.
+  /// @param account (Optional) Account name for which passwords are being requested. The account may be NULL to request all shared credentials which are available for the site, allowing the caller to discover an existing account.
+  /// @param completionHandler A block which will be called to deliver the requested credentials. If no matching items were found, the credentials array will be empty, and the CFErrorRef parameter will provide the error result. Note: the credentials and error references will be automatically released after this handler is called, though you may optionally retain either for as long as needed.
+  /// @discussion This function requests one or more shared passwords for a given website, depending on whether the optional account parameter is supplied. To obtain results, the website specified in the fqdn parameter must be one which matches an entry in the calling application's 'com.apple.developer.associated-domains' entitlement.
+  ///
+  /// If matching shared password items are found, the credentials provided to the completionHandler will be a CFArrayRef containing CFDictionaryRef entries. Each dictionary entry will contain the following pairs (see Security/SecItem.h):
+  /// key: kSecAttrServer     value: CFStringRef (the website)
+  /// key: kSecAttrAccount    value: CFStringRef (the account)
+  /// key: kSecSharedPassword value: CFStringRef (the password)
+  ///
+  /// If the found item specifies a non-standard port number (i.e. other than 443 for https), the following key may also be present:
+  /// key: kSecAttrPort       value: CFNumberRef (the port number)
+  ///
+  /// Note: since a request involving shared web credentials may potentially require user interaction or other verification to be approved, this function is dispatched asynchronously; your code provides a completion handler that will be called once the results (if any) are available.
+  void SecRequestSharedWebCredential(
+    CFStringRef fqdn,
+    CFStringRef account,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return _SecRequestSharedWebCredential(
+      fqdn,
+      account,
+      completionHandler,
+    );
+  }
+
+  late final _SecRequestSharedWebCredentialPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFStringRef, CFStringRef,
+              ffi.Pointer<_ObjCBlock>)>>('SecRequestSharedWebCredential');
+  late final _SecRequestSharedWebCredential =
+      _SecRequestSharedWebCredentialPtr.asFunction<
+          void Function(CFStringRef, CFStringRef, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function SecCreateSharedWebCredentialPassword
+  /// @abstract Returns a randomly generated password.
+  /// @return CFStringRef password in the form xxx-xxx-xxx-xxx where x is taken from the sets "abcdefghkmnopqrstuvwxy", "ABCDEFGHJKLMNPQRSTUVWXYZ", "3456789" with at least one character from each set being present.
+  CFStringRef SecCreateSharedWebCredentialPassword() {
+    return _SecCreateSharedWebCredentialPassword();
+  }
+
+  late final _SecCreateSharedWebCredentialPasswordPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function()>>(
+          'SecCreateSharedWebCredentialPassword');
+  late final _SecCreateSharedWebCredentialPassword =
+      _SecCreateSharedWebCredentialPasswordPtr.asFunction<
+          CFStringRef Function()>();
+
+  ffi.Pointer<ffi.Void> sec_retain(
+    ffi.Pointer<ffi.Void> obj,
+  ) {
+    return _sec_retain(
+      obj,
+    );
+  }
+
+  late final _sec_retainPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>>('sec_retain');
+  late final _sec_retain = _sec_retainPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>();
+
+  void sec_release(
+    ffi.Pointer<ffi.Void> obj,
+  ) {
+    return _sec_release(
+      obj,
+    );
+  }
+
+  late final _sec_releasePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
+          'sec_release');
+  late final _sec_release =
+      _sec_releasePtr.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function sec_trust_create
+  ///
+  /// @abstract
+  /// Create an ARC-able `sec_trust_t` instance from a `SecTrustRef`.
+  ///
+  /// @param trust
+  /// A `SecTrustRef` instance.
+  ///
+  /// @return a `sec_trust_t` instance.
+  sec_trust_t sec_trust_create(
+    SecTrustRef trust,
+  ) {
+    return _sec_trust_create(
+      trust,
+    );
+  }
+
+  late final _sec_trust_createPtr =
+      _lookup<ffi.NativeFunction<sec_trust_t Function(SecTrustRef)>>(
+          'sec_trust_create');
+  late final _sec_trust_create =
+      _sec_trust_createPtr.asFunction<sec_trust_t Function(SecTrustRef)>();
+
+  /// !
+  /// @function sec_trust_copy_ref
+  ///
+  /// @abstract
+  /// Copy a retained reference to the underlying `SecTrustRef` instance.
+  ///
+  /// @param trust
+  /// A `sec_trust_t` instance.
+  ///
+  /// @return The underlying `SecTrustRef` instance.
+  SecTrustRef sec_trust_copy_ref(
+    sec_trust_t trust,
+  ) {
+    return _sec_trust_copy_ref(
+      trust,
+    );
+  }
+
+  late final _sec_trust_copy_refPtr =
+      _lookup<ffi.NativeFunction<SecTrustRef Function(sec_trust_t)>>(
+          'sec_trust_copy_ref');
+  late final _sec_trust_copy_ref =
+      _sec_trust_copy_refPtr.asFunction<SecTrustRef Function(sec_trust_t)>();
+
+  /// !
+  /// @function sec_identity_create
+  ///
+  /// @abstract
+  /// Create an ARC-able `sec_identity_t` instance from a `SecIdentityRef`.
+  ///
+  /// @param identity
+  /// A `SecIdentityRef` instance.
+  ///
+  /// @return a `sec_identity_t` instance.
+  sec_identity_t sec_identity_create(
+    SecIdentityRef identity,
+  ) {
+    return _sec_identity_create(
+      identity,
+    );
+  }
+
+  late final _sec_identity_createPtr =
+      _lookup<ffi.NativeFunction<sec_identity_t Function(SecIdentityRef)>>(
+          'sec_identity_create');
+  late final _sec_identity_create = _sec_identity_createPtr
+      .asFunction<sec_identity_t Function(SecIdentityRef)>();
+
+  /// !
+  /// @function sec_identity_create_with_certificates
+  ///
+  /// @abstract
+  /// Create an ARC-able `sec_identity_t` instance from a `SecIdentityRef` and
+  /// array of SecCertificateRef instances.
+  ///
+  /// @param identity
+  /// A `SecIdentityRef` instance.
+  ///
+  /// @param certificates
+  /// An array of `SecCertificateRef` instances.
+  ///
+  /// @return a `sec_identity_t` instance.
+  sec_identity_t sec_identity_create_with_certificates(
+    SecIdentityRef identity,
+    CFArrayRef certificates,
+  ) {
+    return _sec_identity_create_with_certificates(
+      identity,
+      certificates,
+    );
+  }
+
+  late final _sec_identity_create_with_certificatesPtr = _lookup<
+          ffi
+          .NativeFunction<sec_identity_t Function(SecIdentityRef, CFArrayRef)>>(
+      'sec_identity_create_with_certificates');
+  late final _sec_identity_create_with_certificates =
+      _sec_identity_create_with_certificatesPtr
+          .asFunction<sec_identity_t Function(SecIdentityRef, CFArrayRef)>();
+
+  /// !
+  /// @function sec_identity_access_certificates
+  ///
+  /// @abstract
+  /// Access the certificates associated with the `sec_identity_t` instance.
+  ///
+  /// @param identity
+  /// A `sec_identity_t` instance.
+  ///
+  /// @param handler
+  /// A block to invoke one or more times with `sec_certificate_t` instances.
+  ///
+  /// @return Returns true if the peer certificates were accessible, false otherwise.
+  bool sec_identity_access_certificates(
+    sec_identity_t identity,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _sec_identity_access_certificates(
+      identity,
+      handler,
+    );
+  }
+
+  late final _sec_identity_access_certificatesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(sec_identity_t,
+              ffi.Pointer<_ObjCBlock>)>>('sec_identity_access_certificates');
+  late final _sec_identity_access_certificates =
+      _sec_identity_access_certificatesPtr
+          .asFunction<bool Function(sec_identity_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function sec_identity_copy_ref
+  ///
+  /// @abstract
+  /// Copy a retained reference to the underlying `SecIdentityRef` instance.
+  ///
+  /// @param identity
+  /// A `sec_identity_t` instance.
+  ///
+  /// @return The underlying `SecIdentityRef` instance.
+  SecIdentityRef sec_identity_copy_ref(
+    sec_identity_t identity,
+  ) {
+    return _sec_identity_copy_ref(
+      identity,
+    );
+  }
+
+  late final _sec_identity_copy_refPtr =
+      _lookup<ffi.NativeFunction<SecIdentityRef Function(sec_identity_t)>>(
+          'sec_identity_copy_ref');
+  late final _sec_identity_copy_ref = _sec_identity_copy_refPtr
+      .asFunction<SecIdentityRef Function(sec_identity_t)>();
+
+  /// !
+  /// @function sec_identity_copy_certificates_ref
+  ///
+  /// @abstract
+  /// Copy a retained reference to the underlying `CFArrayRef` container of `SecCertificateRef` types.
+  ///
+  /// @param identity
+  /// A `sec_identity_t` instance.
+  ///
+  /// @return The underlying `CFArrayRef` container with `SecCertificateRef` instances.
+  CFArrayRef sec_identity_copy_certificates_ref(
+    sec_identity_t identity,
+  ) {
+    return _sec_identity_copy_certificates_ref(
+      identity,
+    );
+  }
+
+  late final _sec_identity_copy_certificates_refPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(sec_identity_t)>>(
+          'sec_identity_copy_certificates_ref');
+  late final _sec_identity_copy_certificates_ref =
+      _sec_identity_copy_certificates_refPtr
+          .asFunction<CFArrayRef Function(sec_identity_t)>();
+
+  /// !
+  /// @function sec_certificate_create
+  ///
+  /// @abstract
+  /// Create an ARC-able `sec_certificate_t` instance from a `SecCertificateRef`.
+  ///
+  /// @param certificate
+  /// A `SecCertificateRef` instance.
+  ///
+  /// @return a `sec_certificate_t` instance.
+  sec_certificate_t sec_certificate_create(
+    SecCertificateRef certificate,
+  ) {
+    return _sec_certificate_create(
+      certificate,
+    );
+  }
+
+  late final _sec_certificate_createPtr = _lookup<
+          ffi.NativeFunction<sec_certificate_t Function(SecCertificateRef)>>(
+      'sec_certificate_create');
+  late final _sec_certificate_create = _sec_certificate_createPtr
+      .asFunction<sec_certificate_t Function(SecCertificateRef)>();
+
+  /// !
+  /// @function sec_certificate_copy_ref
+  ///
+  /// @abstract
+  /// Copy a retained reference to the underlying `SecCertificateRef` instance.
+  ///
+  /// @param certificate
+  /// A `sec_certificate_t` instance.
+  ///
+  /// @return The underlying `SecCertificateRef` instance.
+  SecCertificateRef sec_certificate_copy_ref(
+    sec_certificate_t certificate,
+  ) {
+    return _sec_certificate_copy_ref(
+      certificate,
+    );
+  }
+
+  late final _sec_certificate_copy_refPtr = _lookup<
+          ffi.NativeFunction<SecCertificateRef Function(sec_certificate_t)>>(
+      'sec_certificate_copy_ref');
+  late final _sec_certificate_copy_ref = _sec_certificate_copy_refPtr
+      .asFunction<SecCertificateRef Function(sec_certificate_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_get_negotiated_protocol
+  ///
+  /// @abstract
+  /// Get the application protocol negotiated, e.g., via the TLS ALPN extension.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return A NULL-terminated string carrying the negotiated protocol.
+  ffi.Pointer<ffi.Char> sec_protocol_metadata_get_negotiated_protocol(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_get_negotiated_protocol(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_get_negotiated_protocolPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<ffi.Char> Function(sec_protocol_metadata_t)>>(
+      'sec_protocol_metadata_get_negotiated_protocol');
+  late final _sec_protocol_metadata_get_negotiated_protocol =
+      _sec_protocol_metadata_get_negotiated_protocolPtr.asFunction<
+          ffi.Pointer<ffi.Char> Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_copy_peer_public_key
+  ///
+  /// @abstract
+  /// Get the protocol instance peer's public key.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return A `dispatch_data_t` containing the peer's raw public key.
+  dispatch_data_t sec_protocol_metadata_copy_peer_public_key(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_copy_peer_public_key(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_copy_peer_public_keyPtr = _lookup<
+          ffi
+          .NativeFunction<dispatch_data_t Function(sec_protocol_metadata_t)>>(
+      'sec_protocol_metadata_copy_peer_public_key');
+  late final _sec_protocol_metadata_copy_peer_public_key =
+      _sec_protocol_metadata_copy_peer_public_keyPtr
+          .asFunction<dispatch_data_t Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_get_negotiated_tls_protocol_version
+  ///
+  /// @abstract
+  /// Get the negotiated TLS version.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return A `tls_protocol_version_t` value.
+  int sec_protocol_metadata_get_negotiated_tls_protocol_version(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_get_negotiated_tls_protocol_version(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_get_negotiated_tls_protocol_versionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(sec_protocol_metadata_t)>>(
+          'sec_protocol_metadata_get_negotiated_tls_protocol_version');
+  late final _sec_protocol_metadata_get_negotiated_tls_protocol_version =
+      _sec_protocol_metadata_get_negotiated_tls_protocol_versionPtr
+          .asFunction<int Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_get_negotiated_protocol_version
+  ///
+  /// @abstract
+  /// Get the negotiated TLS version.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return A SSLProtocol enum of the TLS version.
+  int sec_protocol_metadata_get_negotiated_protocol_version(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_get_negotiated_protocol_version(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_get_negotiated_protocol_versionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(sec_protocol_metadata_t)>>(
+          'sec_protocol_metadata_get_negotiated_protocol_version');
+  late final _sec_protocol_metadata_get_negotiated_protocol_version =
+      _sec_protocol_metadata_get_negotiated_protocol_versionPtr
+          .asFunction<int Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_get_negotiated_tls_ciphersuite
+  ///
+  /// @abstract
+  /// Get the negotiated TLS ciphersuite.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return A `tls_ciphersuite_t`.
+  int sec_protocol_metadata_get_negotiated_tls_ciphersuite(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_get_negotiated_tls_ciphersuite(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_get_negotiated_tls_ciphersuitePtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(sec_protocol_metadata_t)>>(
+          'sec_protocol_metadata_get_negotiated_tls_ciphersuite');
+  late final _sec_protocol_metadata_get_negotiated_tls_ciphersuite =
+      _sec_protocol_metadata_get_negotiated_tls_ciphersuitePtr
+          .asFunction<int Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_get_negotiated_ciphersuite
+  ///
+  /// @abstract
+  /// Get the negotiated TLS ciphersuite.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return A SSLCipherSuite.
+  int sec_protocol_metadata_get_negotiated_ciphersuite(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_get_negotiated_ciphersuite(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_get_negotiated_ciphersuitePtr = _lookup<
+          ffi.NativeFunction<SSLCipherSuite Function(sec_protocol_metadata_t)>>(
+      'sec_protocol_metadata_get_negotiated_ciphersuite');
+  late final _sec_protocol_metadata_get_negotiated_ciphersuite =
+      _sec_protocol_metadata_get_negotiated_ciphersuitePtr
+          .asFunction<int Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_get_early_data_accepted
+  ///
+  /// @abstract
+  /// Determine if early data was accepted by the peer.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return A bool indicating if early data was accepted.
+  bool sec_protocol_metadata_get_early_data_accepted(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_get_early_data_accepted(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_get_early_data_acceptedPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(sec_protocol_metadata_t)>>(
+          'sec_protocol_metadata_get_early_data_accepted');
+  late final _sec_protocol_metadata_get_early_data_accepted =
+      _sec_protocol_metadata_get_early_data_acceptedPtr
+          .asFunction<bool Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_access_peer_certificate_chain
+  ///
+  /// @abstract
+  /// Get the certificate chain of the protocol instance peer.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param handler
+  /// A block to invoke one or more times with sec_certificate_t objects
+  ///
+  /// @return Returns true if the peer certificates were accessible, false otherwise.
+  bool sec_protocol_metadata_access_peer_certificate_chain(
+    sec_protocol_metadata_t metadata,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _sec_protocol_metadata_access_peer_certificate_chain(
+      metadata,
+      handler,
+    );
+  }
+
+  late final _sec_protocol_metadata_access_peer_certificate_chainPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>>(
+      'sec_protocol_metadata_access_peer_certificate_chain');
+  late final _sec_protocol_metadata_access_peer_certificate_chain =
+      _sec_protocol_metadata_access_peer_certificate_chainPtr.asFunction<
+          bool Function(sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function sec_protocol_metadata_copy_ocsp_response
+  ///
+  /// @abstract
+  /// Get the OCSP response from the protocol instance peer.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param handler
+  /// A block to invoke one or more times with OCSP data
+  ///
+  /// @return Returns true if the OSCP response was accessible, false otherwise.
+  bool sec_protocol_metadata_access_ocsp_response(
+    sec_protocol_metadata_t metadata,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _sec_protocol_metadata_access_ocsp_response(
+      metadata,
+      handler,
+    );
+  }
+
+  late final _sec_protocol_metadata_access_ocsp_responsePtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>>(
+      'sec_protocol_metadata_access_ocsp_response');
+  late final _sec_protocol_metadata_access_ocsp_response =
+      _sec_protocol_metadata_access_ocsp_responsePtr.asFunction<
+          bool Function(sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function sec_protocol_metadata_access_supported_signature_algorithms
+  ///
+  /// @abstract
+  /// Get the signature algorithms supported by the peer. Clients may call this
+  /// in response to a challenge block.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param handler
+  /// A block to invoke one or more times with OCSP data
+  ///
+  /// @return Returns true if the supported signature list was accessible, false otherwise.
+  bool sec_protocol_metadata_access_supported_signature_algorithms(
+    sec_protocol_metadata_t metadata,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _sec_protocol_metadata_access_supported_signature_algorithms(
+      metadata,
+      handler,
+    );
+  }
+
+  late final _sec_protocol_metadata_access_supported_signature_algorithmsPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Bool Function(
+                      sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>>(
+          'sec_protocol_metadata_access_supported_signature_algorithms');
+  late final _sec_protocol_metadata_access_supported_signature_algorithms =
+      _sec_protocol_metadata_access_supported_signature_algorithmsPtr
+          .asFunction<
+              bool Function(
+                  sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function sec_protocol_metadata_access_distinguished_names
+  ///
+  /// @abstract
+  /// Get the X.509 Distinguished Names from the protocol instance peer.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param handler
+  /// A block to invoke one or more times with distinguished_name data
+  ///
+  /// @return Returns true if the distinguished names were accessible, false otherwise.
+  bool sec_protocol_metadata_access_distinguished_names(
+    sec_protocol_metadata_t metadata,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _sec_protocol_metadata_access_distinguished_names(
+      metadata,
+      handler,
+    );
+  }
+
+  late final _sec_protocol_metadata_access_distinguished_namesPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>>(
+      'sec_protocol_metadata_access_distinguished_names');
+  late final _sec_protocol_metadata_access_distinguished_names =
+      _sec_protocol_metadata_access_distinguished_namesPtr.asFunction<
+          bool Function(sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function sec_protocol_metadata_access_pre_shared_keys
+  ///
+  /// @abstract
+  /// Get the PSKs supported by the local instance.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param handler
+  /// A block to invoke one or more times with tuples of dispatch_data_t objects carrying PSKs and their corresponding identities.
+  ///
+  /// @return Returns true if the PSKs were accessible, false otherwise.
+  bool sec_protocol_metadata_access_pre_shared_keys(
+    sec_protocol_metadata_t metadata,
+    ffi.Pointer<_ObjCBlock> handler,
+  ) {
+    return _sec_protocol_metadata_access_pre_shared_keys(
+      metadata,
+      handler,
+    );
+  }
+
+  late final _sec_protocol_metadata_access_pre_shared_keysPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>>(
+      'sec_protocol_metadata_access_pre_shared_keys');
+  late final _sec_protocol_metadata_access_pre_shared_keys =
+      _sec_protocol_metadata_access_pre_shared_keysPtr.asFunction<
+          bool Function(sec_protocol_metadata_t, ffi.Pointer<_ObjCBlock>)>();
+
+  /// !
+  /// @function sec_protocol_metadata_get_server_name
+  ///
+  /// @abstract
+  /// Obtain the server name offered by a client or server during
+  /// connection establishmet. This is the value commonly carried
+  /// in the TLS SNI extesion.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return Returns A NULL-terminated string carrying the server name, or NULL
+  /// if none was provided.
+  ffi.Pointer<ffi.Char> sec_protocol_metadata_get_server_name(
+    sec_protocol_metadata_t metadata,
+  ) {
+    return _sec_protocol_metadata_get_server_name(
+      metadata,
+    );
+  }
+
+  late final _sec_protocol_metadata_get_server_namePtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Pointer<ffi.Char> Function(sec_protocol_metadata_t)>>(
+      'sec_protocol_metadata_get_server_name');
+  late final _sec_protocol_metadata_get_server_name =
+      _sec_protocol_metadata_get_server_namePtr.asFunction<
+          ffi.Pointer<ffi.Char> Function(sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_peers_are_equal
+  ///
+  /// @abstract
+  /// Compare peer information for two `sec_protocol_metadata` instances.
+  /// This comparison does not include protocol configuration options, e.g., ciphersuites.
+  ///
+  /// @param metadataA
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param metadataB
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return Returns true if both metadata values refer to the same peer, and false otherwise.
+  bool sec_protocol_metadata_peers_are_equal(
+    sec_protocol_metadata_t metadataA,
+    sec_protocol_metadata_t metadataB,
+  ) {
+    return _sec_protocol_metadata_peers_are_equal(
+      metadataA,
+      metadataB,
+    );
+  }
+
+  late final _sec_protocol_metadata_peers_are_equalPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  sec_protocol_metadata_t, sec_protocol_metadata_t)>>(
+      'sec_protocol_metadata_peers_are_equal');
+  late final _sec_protocol_metadata_peers_are_equal =
+      _sec_protocol_metadata_peers_are_equalPtr.asFunction<
+          bool Function(sec_protocol_metadata_t, sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_challenge_parameters_are_equal
+  ///
+  /// @abstract
+  /// Compare challenge-relevant information for two `sec_protocol_metadata` instances.
+  ///
+  /// This comparison includes all information relevant to a challenge request, including:
+  /// distinguished names, signature algorithms, and supported certificate types.
+  /// See Section 7.4.4 of RFC5246 for more details.
+  ///
+  /// @param metadataA
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param metadataB
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @return Returns true if both metadata values have the same challenge parameters.
+  bool sec_protocol_metadata_challenge_parameters_are_equal(
+    sec_protocol_metadata_t metadataA,
+    sec_protocol_metadata_t metadataB,
+  ) {
+    return _sec_protocol_metadata_challenge_parameters_are_equal(
+      metadataA,
+      metadataB,
+    );
+  }
+
+  late final _sec_protocol_metadata_challenge_parameters_are_equalPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  sec_protocol_metadata_t, sec_protocol_metadata_t)>>(
+      'sec_protocol_metadata_challenge_parameters_are_equal');
+  late final _sec_protocol_metadata_challenge_parameters_are_equal =
+      _sec_protocol_metadata_challenge_parameters_are_equalPtr.asFunction<
+          bool Function(sec_protocol_metadata_t, sec_protocol_metadata_t)>();
+
+  /// !
+  /// @function sec_protocol_metadata_create_secret
+  ///
+  /// @abstract
+  /// Export a secret, e.g., a cryptographic key, derived from the protocol metadata using a label string.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param label_len
+  /// Length of the KDF label string.
+  ///
+  /// @param label
+  /// KDF label string.
+  ///
+  /// @param exporter_length
+  /// Length of the secret to be exported.
+  ///
+  /// @return Returns a dispatch_data_t object carrying the exported secret.
+  dispatch_data_t sec_protocol_metadata_create_secret(
+    sec_protocol_metadata_t metadata,
+    int label_len,
+    ffi.Pointer<ffi.Char> label,
+    int exporter_length,
+  ) {
+    return _sec_protocol_metadata_create_secret(
+      metadata,
+      label_len,
+      label,
+      exporter_length,
+    );
+  }
+
+  late final _sec_protocol_metadata_create_secretPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_data_t Function(
+              sec_protocol_metadata_t,
+              ffi.Size,
+              ffi.Pointer<ffi.Char>,
+              ffi.Size)>>('sec_protocol_metadata_create_secret');
+  late final _sec_protocol_metadata_create_secret =
+      _sec_protocol_metadata_create_secretPtr.asFunction<
+          dispatch_data_t Function(
+              sec_protocol_metadata_t, int, ffi.Pointer<ffi.Char>, int)>();
+
+  /// !
+  /// @function sec_protocol_metadata_create_secret_with_context
+  ///
+  /// @abstract
+  /// Export a secret, e.g., a cryptographic key, derived from the protocol metadata using a label and context string.
+  ///
+  /// @param metadata
+  /// A `sec_protocol_metadata_t` instance.
+  ///
+  /// @param label_len
+  /// Length of the KDF label string.
+  ///
+  /// @param label
+  /// KDF label string.
+  ///
+  /// @param context_len
+  /// Length of the KDF context string.
+  ///
+  /// @param context
+  /// Constant opaque context value
+  ///
+  /// @param exporter_length
+  /// Length of the secret to be exported.
+  ///
+  /// @return Returns a dispatch_data_t object carrying the exported secret.
+  dispatch_data_t sec_protocol_metadata_create_secret_with_context(
+    sec_protocol_metadata_t metadata,
+    int label_len,
+    ffi.Pointer<ffi.Char> label,
+    int context_len,
+    ffi.Pointer<ffi.Uint8> context,
+    int exporter_length,
+  ) {
+    return _sec_protocol_metadata_create_secret_with_context(
+      metadata,
+      label_len,
+      label,
+      context_len,
+      context,
+      exporter_length,
+    );
+  }
+
+  late final _sec_protocol_metadata_create_secret_with_contextPtr = _lookup<
+      ffi.NativeFunction<
+          dispatch_data_t Function(
+              sec_protocol_metadata_t,
+              ffi.Size,
+              ffi.Pointer<ffi.Char>,
+              ffi.Size,
+              ffi.Pointer<ffi.Uint8>,
+              ffi.Size)>>('sec_protocol_metadata_create_secret_with_context');
+  late final _sec_protocol_metadata_create_secret_with_context =
+      _sec_protocol_metadata_create_secret_with_contextPtr.asFunction<
+          dispatch_data_t Function(sec_protocol_metadata_t, int,
+              ffi.Pointer<ffi.Char>, int, ffi.Pointer<ffi.Uint8>, int)>();
+
+  /// !
+  /// @function sec_protocol_options_are_equal
+  ///
+  /// @abstract
+  /// Compare two `sec_protocol_options_t` instances.
+  ///
+  /// @param optionsA
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param optionsB
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @return True if equal, and false otherwise.
+  bool sec_protocol_options_are_equal(
+    sec_protocol_options_t optionsA,
+    sec_protocol_options_t optionsB,
+  ) {
+    return _sec_protocol_options_are_equal(
+      optionsA,
+      optionsB,
+    );
+  }
+
+  late final _sec_protocol_options_are_equalPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(sec_protocol_options_t,
+              sec_protocol_options_t)>>('sec_protocol_options_are_equal');
+  late final _sec_protocol_options_are_equal =
+      _sec_protocol_options_are_equalPtr.asFunction<
+          bool Function(sec_protocol_options_t, sec_protocol_options_t)>();
+
+  /// !
+  /// @function sec_protocol_options_set_local_identity
+  ///
+  /// @abstract
+  /// Set the local identity to be used for this protocol instance.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param identity
+  /// A `sec_identity_t` instance carrying the private key and certificate.
+  void sec_protocol_options_set_local_identity(
+    sec_protocol_options_t options,
+    sec_identity_t identity,
+  ) {
+    return _sec_protocol_options_set_local_identity(
+      options,
+      identity,
+    );
+  }
+
+  late final _sec_protocol_options_set_local_identityPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              sec_identity_t)>>('sec_protocol_options_set_local_identity');
+  late final _sec_protocol_options_set_local_identity =
+      _sec_protocol_options_set_local_identityPtr
+          .asFunction<void Function(sec_protocol_options_t, sec_identity_t)>();
+
+  /// !
+  /// @function sec_protocol_options_append_tls_ciphersuite
+  ///
+  /// @abstract
+  /// Append a TLS ciphersuite to the set of enabled ciphersuites.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param ciphersuite
+  /// A `tls_ciphersuite_t` value.
+  void sec_protocol_options_append_tls_ciphersuite(
+    sec_protocol_options_t options,
+    int ciphersuite,
+  ) {
+    return _sec_protocol_options_append_tls_ciphersuite(
+      options,
+      ciphersuite,
+    );
+  }
+
+  late final _sec_protocol_options_append_tls_ciphersuitePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              ffi.Int32)>>('sec_protocol_options_append_tls_ciphersuite');
+  late final _sec_protocol_options_append_tls_ciphersuite =
+      _sec_protocol_options_append_tls_ciphersuitePtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_add_tls_ciphersuite
+  ///
+  /// @abstract
+  /// Add a TLS ciphersuite to the set of enabled ciphersuites.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param ciphersuite
+  /// A SSLCipherSuite value.
+  void sec_protocol_options_add_tls_ciphersuite(
+    sec_protocol_options_t options,
+    int ciphersuite,
+  ) {
+    return _sec_protocol_options_add_tls_ciphersuite(
+      options,
+      ciphersuite,
+    );
+  }
+
+  late final _sec_protocol_options_add_tls_ciphersuitePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              SSLCipherSuite)>>('sec_protocol_options_add_tls_ciphersuite');
+  late final _sec_protocol_options_add_tls_ciphersuite =
+      _sec_protocol_options_add_tls_ciphersuitePtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_append_tls_ciphersuite_group
+  ///
+  /// @abstract
+  /// Append a TLS ciphersuite group to the set of enabled ciphersuites.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param group
+  /// A tls_ciphersuite_group_t value.
+  void sec_protocol_options_append_tls_ciphersuite_group(
+    sec_protocol_options_t options,
+    int group,
+  ) {
+    return _sec_protocol_options_append_tls_ciphersuite_group(
+      options,
+      group,
+    );
+  }
+
+  late final _sec_protocol_options_append_tls_ciphersuite_groupPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              ffi.Int32)>>('sec_protocol_options_append_tls_ciphersuite_group');
+  late final _sec_protocol_options_append_tls_ciphersuite_group =
+      _sec_protocol_options_append_tls_ciphersuite_groupPtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_add_tls_ciphersuite_group
+  ///
+  /// @abstract
+  /// Add a TLS ciphersuite group to the set of enabled ciphersuites.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param group
+  /// A SSLCipherSuiteGroup value.
+  void sec_protocol_options_add_tls_ciphersuite_group(
+    sec_protocol_options_t options,
+    int group,
+  ) {
+    return _sec_protocol_options_add_tls_ciphersuite_group(
+      options,
+      group,
+    );
+  }
+
+  late final _sec_protocol_options_add_tls_ciphersuite_groupPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              ffi.Int32)>>('sec_protocol_options_add_tls_ciphersuite_group');
+  late final _sec_protocol_options_add_tls_ciphersuite_group =
+      _sec_protocol_options_add_tls_ciphersuite_groupPtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_min_version
+  ///
+  /// @abstract
+  /// Set the minimum support TLS version.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param version
+  /// A SSLProtocol enum value.
+  void sec_protocol_options_set_tls_min_version(
+    sec_protocol_options_t options,
+    int version,
+  ) {
+    return _sec_protocol_options_set_tls_min_version(
+      options,
+      version,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_min_versionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              ffi.Int32)>>('sec_protocol_options_set_tls_min_version');
+  late final _sec_protocol_options_set_tls_min_version =
+      _sec_protocol_options_set_tls_min_versionPtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_set_min_tls_protocol_version
+  ///
+  /// @abstract
+  /// Set the minimum support TLS version.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param version
+  /// A tls_protocol_version_t enum value.
+  void sec_protocol_options_set_min_tls_protocol_version(
+    sec_protocol_options_t options,
+    int version,
+  ) {
+    return _sec_protocol_options_set_min_tls_protocol_version(
+      options,
+      version,
+    );
+  }
+
+  late final _sec_protocol_options_set_min_tls_protocol_versionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              ffi.Int32)>>('sec_protocol_options_set_min_tls_protocol_version');
+  late final _sec_protocol_options_set_min_tls_protocol_version =
+      _sec_protocol_options_set_min_tls_protocol_versionPtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_get_default_min_tls_protocol_version
+  ///
+  /// @abstract
+  /// Get the system default minimum TLS protocol version.
+  ///
+  /// @return The default minimum TLS version.
+  int sec_protocol_options_get_default_min_tls_protocol_version() {
+    return _sec_protocol_options_get_default_min_tls_protocol_version();
+  }
+
+  late final _sec_protocol_options_get_default_min_tls_protocol_versionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>(
+          'sec_protocol_options_get_default_min_tls_protocol_version');
+  late final _sec_protocol_options_get_default_min_tls_protocol_version =
+      _sec_protocol_options_get_default_min_tls_protocol_versionPtr
+          .asFunction<int Function()>();
+
+  /// !
+  /// @function sec_protocol_options_get_default_min_dtls_protocol_version
+  ///
+  /// @abstract
+  /// Get the system default minimum DTLS protocol version.
+  ///
+  /// @return The default minimum DTLS version.
+  int sec_protocol_options_get_default_min_dtls_protocol_version() {
+    return _sec_protocol_options_get_default_min_dtls_protocol_version();
+  }
+
+  late final _sec_protocol_options_get_default_min_dtls_protocol_versionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>(
+          'sec_protocol_options_get_default_min_dtls_protocol_version');
+  late final _sec_protocol_options_get_default_min_dtls_protocol_version =
+      _sec_protocol_options_get_default_min_dtls_protocol_versionPtr
+          .asFunction<int Function()>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_max_version
+  ///
+  /// @abstract
+  /// Set the maximum support TLS version.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param version
+  /// A SSLProtocol enum value.
+  void sec_protocol_options_set_tls_max_version(
+    sec_protocol_options_t options,
+    int version,
+  ) {
+    return _sec_protocol_options_set_tls_max_version(
+      options,
+      version,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_max_versionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              ffi.Int32)>>('sec_protocol_options_set_tls_max_version');
+  late final _sec_protocol_options_set_tls_max_version =
+      _sec_protocol_options_set_tls_max_versionPtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_set_max_tls_protocol_version
+  ///
+  /// @abstract
+  /// Set the maximum support TLS version.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param version
+  /// A tls_protocol_version_t enum value.
+  void sec_protocol_options_set_max_tls_protocol_version(
+    sec_protocol_options_t options,
+    int version,
+  ) {
+    return _sec_protocol_options_set_max_tls_protocol_version(
+      options,
+      version,
+    );
+  }
+
+  late final _sec_protocol_options_set_max_tls_protocol_versionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t,
+              ffi.Int32)>>('sec_protocol_options_set_max_tls_protocol_version');
+  late final _sec_protocol_options_set_max_tls_protocol_version =
+      _sec_protocol_options_set_max_tls_protocol_versionPtr
+          .asFunction<void Function(sec_protocol_options_t, int)>();
+
+  /// !
+  /// @function sec_protocol_options_get_default_max_tls_protocol_version
+  ///
+  /// @abstract
+  /// Get the system default maximum TLS protocol version.
+  ///
+  /// @return The default maximum TLS version.
+  int sec_protocol_options_get_default_max_tls_protocol_version() {
+    return _sec_protocol_options_get_default_max_tls_protocol_version();
+  }
+
+  late final _sec_protocol_options_get_default_max_tls_protocol_versionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>(
+          'sec_protocol_options_get_default_max_tls_protocol_version');
+  late final _sec_protocol_options_get_default_max_tls_protocol_version =
+      _sec_protocol_options_get_default_max_tls_protocol_versionPtr
+          .asFunction<int Function()>();
+
+  /// !
+  /// @function sec_protocol_options_get_default_max_tls_protocol_version
+  ///
+  /// @abstract
+  /// Get the system default maximum DTLS protocol version.
+  ///
+  /// @return The default maximum DTLS version.
+  int sec_protocol_options_get_default_max_dtls_protocol_version() {
+    return _sec_protocol_options_get_default_max_dtls_protocol_version();
+  }
+
+  late final _sec_protocol_options_get_default_max_dtls_protocol_versionPtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function()>>(
+          'sec_protocol_options_get_default_max_dtls_protocol_version');
+  late final _sec_protocol_options_get_default_max_dtls_protocol_version =
+      _sec_protocol_options_get_default_max_dtls_protocol_versionPtr
+          .asFunction<int Function()>();
+
+  /// !
+  /// @function sec_protocol_options_get_enable_encrypted_client_hello
+  ///
+  /// @abstract
+  /// For experimental use only. Find out whether Encrypted Client Hello has been enabled.
+  ///
+  /// @return A boolean that indicates whether or not Encrypted Client Hello has been enabled.
+  bool sec_protocol_options_get_enable_encrypted_client_hello(
+    sec_protocol_options_t options,
+  ) {
+    return _sec_protocol_options_get_enable_encrypted_client_hello(
+      options,
+    );
+  }
+
+  late final _sec_protocol_options_get_enable_encrypted_client_helloPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(sec_protocol_options_t)>>(
+          'sec_protocol_options_get_enable_encrypted_client_hello');
+  late final _sec_protocol_options_get_enable_encrypted_client_hello =
+      _sec_protocol_options_get_enable_encrypted_client_helloPtr
+          .asFunction<bool Function(sec_protocol_options_t)>();
+
+  /// !
+  /// @function sec_protocol_options_get_quic_use_legacy_codepoint
+  ///
+  /// @abstract
+  /// Check whether the QUIC legacy codepoint has been enabled.
+  ///
+  /// @return A boolean that indicates whether or not the QUIC legacy codepoint has been
+  /// enabled.
+  bool sec_protocol_options_get_quic_use_legacy_codepoint(
+    sec_protocol_options_t options,
+  ) {
+    return _sec_protocol_options_get_quic_use_legacy_codepoint(
+      options,
+    );
+  }
+
+  late final _sec_protocol_options_get_quic_use_legacy_codepointPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(sec_protocol_options_t)>>(
+          'sec_protocol_options_get_quic_use_legacy_codepoint');
+  late final _sec_protocol_options_get_quic_use_legacy_codepoint =
+      _sec_protocol_options_get_quic_use_legacy_codepointPtr
+          .asFunction<bool Function(sec_protocol_options_t)>();
+
+  /// !
+  /// @function sec_protocol_options_add_tls_application_protocol
+  ///
+  /// @abstract
+  /// Add an application protocol supported by clients of this protocol instance.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param application_protocol
+  /// A NULL-terminated string defining the application protocol.
+  void sec_protocol_options_add_tls_application_protocol(
+    sec_protocol_options_t options,
+    ffi.Pointer<ffi.Char> application_protocol,
+  ) {
+    return _sec_protocol_options_add_tls_application_protocol(
+      options,
+      application_protocol,
+    );
+  }
+
+  late final _sec_protocol_options_add_tls_application_protocolPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  sec_protocol_options_t, ffi.Pointer<ffi.Char>)>>(
+      'sec_protocol_options_add_tls_application_protocol');
+  late final _sec_protocol_options_add_tls_application_protocol =
+      _sec_protocol_options_add_tls_application_protocolPtr.asFunction<
+          void Function(sec_protocol_options_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_server_name
+  ///
+  /// @abstract
+  /// Set the server name to be used when verifying the peer's certificate. This will override
+  /// the server name obtained from the endpoint.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param server_name
+  /// A NULL-terminated string carrying the server name.
+  void sec_protocol_options_set_tls_server_name(
+    sec_protocol_options_t options,
+    ffi.Pointer<ffi.Char> server_name,
+  ) {
+    return _sec_protocol_options_set_tls_server_name(
+      options,
+      server_name,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_server_namePtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  sec_protocol_options_t, ffi.Pointer<ffi.Char>)>>(
+      'sec_protocol_options_set_tls_server_name');
+  late final _sec_protocol_options_set_tls_server_name =
+      _sec_protocol_options_set_tls_server_namePtr.asFunction<
+          void Function(sec_protocol_options_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_diffie_hellman_parameters
+  ///
+  /// @abstract
+  /// Set the supported Diffie-Hellman parameters.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param params
+  /// A dispatch_data_t containing legacy Diffie-Hellman parameters.
+  void sec_protocol_options_set_tls_diffie_hellman_parameters(
+    sec_protocol_options_t options,
+    dispatch_data_t params,
+  ) {
+    return _sec_protocol_options_set_tls_diffie_hellman_parameters(
+      options,
+      params,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_diffie_hellman_parametersPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_options_t, dispatch_data_t)>>(
+          'sec_protocol_options_set_tls_diffie_hellman_parameters');
+  late final _sec_protocol_options_set_tls_diffie_hellman_parameters =
+      _sec_protocol_options_set_tls_diffie_hellman_parametersPtr
+          .asFunction<void Function(sec_protocol_options_t, dispatch_data_t)>();
+
+  /// !
+  /// @function sec_protocol_options_add_pre_shared_key
+  ///
+  /// @abstract
+  /// Add a pre-shared key (PSK) and its identity to the options.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param psk
+  /// A dispatch_data_t containing a PSK blob.
+  ///
+  /// @param psk_identity
+  /// A dispatch_data_t containing a PSK identity blob.
+  void sec_protocol_options_add_pre_shared_key(
+    sec_protocol_options_t options,
+    dispatch_data_t psk,
+    dispatch_data_t psk_identity,
+  ) {
+    return _sec_protocol_options_add_pre_shared_key(
+      options,
+      psk,
+      psk_identity,
+    );
+  }
+
+  late final _sec_protocol_options_add_pre_shared_keyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t, dispatch_data_t,
+              dispatch_data_t)>>('sec_protocol_options_add_pre_shared_key');
+  late final _sec_protocol_options_add_pre_shared_key =
+      _sec_protocol_options_add_pre_shared_keyPtr.asFunction<
+          void Function(
+              sec_protocol_options_t, dispatch_data_t, dispatch_data_t)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_pre_shared_key_identity_hint
+  ///
+  /// @abstract
+  /// Set the PSK identity hint to use by servers when negotiating a PSK ciphersuite.
+  /// See https://tools.ietf.org/html/rfc4279 for more details.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param psk_identity_hint
+  /// A dispatch_data_t containing a PSK identity hint.
+  void sec_protocol_options_set_tls_pre_shared_key_identity_hint(
+    sec_protocol_options_t options,
+    dispatch_data_t psk_identity_hint,
+  ) {
+    return _sec_protocol_options_set_tls_pre_shared_key_identity_hint(
+      options,
+      psk_identity_hint,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_pre_shared_key_identity_hintPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_options_t, dispatch_data_t)>>(
+          'sec_protocol_options_set_tls_pre_shared_key_identity_hint');
+  late final _sec_protocol_options_set_tls_pre_shared_key_identity_hint =
+      _sec_protocol_options_set_tls_pre_shared_key_identity_hintPtr
+          .asFunction<void Function(sec_protocol_options_t, dispatch_data_t)>();
+
+  /// !
+  /// @function sec_protocol_options_set_pre_shared_key_selection_block
+  ///
+  /// @abstract
+  /// Set the PSK selection block.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param psk_selection_block
+  /// A `sec_protocol_pre_shared_key_selection_t` block.
+  ///
+  /// @params psk_selection_queue
+  /// A `dispatch_queue_t` on which the PSK selection block should be called.
+  void sec_protocol_options_set_pre_shared_key_selection_block(
+    sec_protocol_options_t options,
+    sec_protocol_pre_shared_key_selection_t psk_selection_block,
+    dispatch_queue_t psk_selection_queue,
+  ) {
+    return _sec_protocol_options_set_pre_shared_key_selection_block(
+      options,
+      psk_selection_block,
+      psk_selection_queue,
+    );
+  }
+
+  late final _sec_protocol_options_set_pre_shared_key_selection_blockPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      sec_protocol_options_t,
+                      sec_protocol_pre_shared_key_selection_t,
+                      dispatch_queue_t)>>(
+          'sec_protocol_options_set_pre_shared_key_selection_block');
+  late final _sec_protocol_options_set_pre_shared_key_selection_block =
+      _sec_protocol_options_set_pre_shared_key_selection_blockPtr.asFunction<
+          void Function(sec_protocol_options_t,
+              sec_protocol_pre_shared_key_selection_t, dispatch_queue_t)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_tickets_enabled
+  ///
+  /// @abstract
+  /// Enable or disable TLS session ticket support.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param tickets_enabled
+  /// Flag to enable or disable TLS session ticket support.
+  void sec_protocol_options_set_tls_tickets_enabled(
+    sec_protocol_options_t options,
+    bool tickets_enabled,
+  ) {
+    return _sec_protocol_options_set_tls_tickets_enabled(
+      options,
+      tickets_enabled,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_tickets_enabledPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_tls_tickets_enabled');
+  late final _sec_protocol_options_set_tls_tickets_enabled =
+      _sec_protocol_options_set_tls_tickets_enabledPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_is_fallback_attempt
+  ///
+  /// @abstract
+  /// Signal if this is a TLS fallback attempt.
+  ///
+  /// A fallback attempt is one following a previously failed TLS connection
+  /// due to version or parameter incompatibility, e.g., when speaking to a server
+  /// that does not support a client-offered ciphersuite.
+  ///
+  /// Clients MUST NOT enable fallback for fresh connections.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param is_fallback_attempt
+  /// Set a flag indicating that this is a TLS fallback attempt.
+  void sec_protocol_options_set_tls_is_fallback_attempt(
+    sec_protocol_options_t options,
+    bool is_fallback_attempt,
+  ) {
+    return _sec_protocol_options_set_tls_is_fallback_attempt(
+      options,
+      is_fallback_attempt,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_is_fallback_attemptPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_tls_is_fallback_attempt');
+  late final _sec_protocol_options_set_tls_is_fallback_attempt =
+      _sec_protocol_options_set_tls_is_fallback_attemptPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_resumption_enabled
+  ///
+  /// @abstract
+  /// Enable or disable TLS session resumption.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param resumption_enabled
+  /// Flag to enable or disable TLS session resumption.
+  void sec_protocol_options_set_tls_resumption_enabled(
+    sec_protocol_options_t options,
+    bool resumption_enabled,
+  ) {
+    return _sec_protocol_options_set_tls_resumption_enabled(
+      options,
+      resumption_enabled,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_resumption_enabledPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_tls_resumption_enabled');
+  late final _sec_protocol_options_set_tls_resumption_enabled =
+      _sec_protocol_options_set_tls_resumption_enabledPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_false_start_enabled
+  ///
+  /// @abstract
+  /// Enable or disable TLS False Start.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param false_start_enabled
+  /// Flag to enable or disable TLS False Start.
+  void sec_protocol_options_set_tls_false_start_enabled(
+    sec_protocol_options_t options,
+    bool false_start_enabled,
+  ) {
+    return _sec_protocol_options_set_tls_false_start_enabled(
+      options,
+      false_start_enabled,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_false_start_enabledPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_tls_false_start_enabled');
+  late final _sec_protocol_options_set_tls_false_start_enabled =
+      _sec_protocol_options_set_tls_false_start_enabledPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function nw_protocol_options_set_tls_ocsp_enabled
+  ///
+  /// @abstract
+  /// Enable or disable OCSP support.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param ocsp_enabled
+  /// Flag to enable or disable OCSP support.
+  void sec_protocol_options_set_tls_ocsp_enabled(
+    sec_protocol_options_t options,
+    bool ocsp_enabled,
+  ) {
+    return _sec_protocol_options_set_tls_ocsp_enabled(
+      options,
+      ocsp_enabled,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_ocsp_enabledPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_tls_ocsp_enabled');
+  late final _sec_protocol_options_set_tls_ocsp_enabled =
+      _sec_protocol_options_set_tls_ocsp_enabledPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_sct_enabled
+  ///
+  /// @abstract
+  /// Enable or disable SCT (signed certificate timestamp) support.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param sct_enabled
+  /// Flag to enable or disable SCT support.
+  void sec_protocol_options_set_tls_sct_enabled(
+    sec_protocol_options_t options,
+    bool sct_enabled,
+  ) {
+    return _sec_protocol_options_set_tls_sct_enabled(
+      options,
+      sct_enabled,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_sct_enabledPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_tls_sct_enabled');
+  late final _sec_protocol_options_set_tls_sct_enabled =
+      _sec_protocol_options_set_tls_sct_enabledPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_tls_renegotiation_enabled
+  ///
+  /// @abstract
+  /// Enable or disable TLS (1.2 and prior) session renegotiation. This defaults to `true`.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param renegotiation_enabled
+  /// Flag to enable or disable TLS (1.2 and prior) session renegotiation.
+  void sec_protocol_options_set_tls_renegotiation_enabled(
+    sec_protocol_options_t options,
+    bool renegotiation_enabled,
+  ) {
+    return _sec_protocol_options_set_tls_renegotiation_enabled(
+      options,
+      renegotiation_enabled,
+    );
+  }
+
+  late final _sec_protocol_options_set_tls_renegotiation_enabledPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_tls_renegotiation_enabled');
+  late final _sec_protocol_options_set_tls_renegotiation_enabled =
+      _sec_protocol_options_set_tls_renegotiation_enabledPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_peer_authentication_required
+  ///
+  /// @abstract
+  /// Enable or disable peer authentication. Clients default to true, whereas servers default to false.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param peer_authentication_required
+  /// Flag to enable or disable mandatory peer authentication.
+  void sec_protocol_options_set_peer_authentication_required(
+    sec_protocol_options_t options,
+    bool peer_authentication_required,
+  ) {
+    return _sec_protocol_options_set_peer_authentication_required(
+      options,
+      peer_authentication_required,
+    );
+  }
+
+  late final _sec_protocol_options_set_peer_authentication_requiredPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+          'sec_protocol_options_set_peer_authentication_required');
+  late final _sec_protocol_options_set_peer_authentication_required =
+      _sec_protocol_options_set_peer_authentication_requiredPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_peer_authentication_optional
+  ///
+  /// @abstract
+  /// When this is enabled, the endpoint requests the peer certificate, but if none is provided, the
+  /// endpoint still proceeds with the connection. Default false for servers; always false for clients (clients ignore
+  /// this option). If peer_authentication_required is set to true via
+  /// sec_protocol_options_set_peer_authentication_required(), peer_authentication_optional will be disregarded
+  /// and the peer certificate will be required.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param peer_authentication_optional
+  /// Flag to enable or disable requested peer authentication.
+  void sec_protocol_options_set_peer_authentication_optional(
+    sec_protocol_options_t options,
+    bool peer_authentication_optional,
+  ) {
+    return _sec_protocol_options_set_peer_authentication_optional(
+      options,
+      peer_authentication_optional,
+    );
+  }
+
+  late final _sec_protocol_options_set_peer_authentication_optionalPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+          'sec_protocol_options_set_peer_authentication_optional');
+  late final _sec_protocol_options_set_peer_authentication_optional =
+      _sec_protocol_options_set_peer_authentication_optionalPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_enable_encrypted_client_hello
+  ///
+  /// @abstract
+  /// For experimental use only. When this is enabled, the Encrypted Client Hello extension will be sent on the Client
+  /// Hello if TLS 1.3 is among the supported TLS versions. Default false.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param peer_authentication_optional
+  /// Flag to enable or disable Encrypted Client Hello.
+  void sec_protocol_options_set_enable_encrypted_client_hello(
+    sec_protocol_options_t options,
+    bool enable_encrypted_client_hello,
+  ) {
+    return _sec_protocol_options_set_enable_encrypted_client_hello(
+      options,
+      enable_encrypted_client_hello,
+    );
+  }
+
+  late final _sec_protocol_options_set_enable_encrypted_client_helloPtr =
+      _lookup<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+          'sec_protocol_options_set_enable_encrypted_client_hello');
+  late final _sec_protocol_options_set_enable_encrypted_client_hello =
+      _sec_protocol_options_set_enable_encrypted_client_helloPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_quic_use_legacy_codepoint
+  ///
+  /// @abstract
+  /// Set QUIC to use the legacy codepoint. Defaults to true.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param quic_use_legacy_codepoint
+  /// A boolean to enable/disable the legacy codepoint.
+  void sec_protocol_options_set_quic_use_legacy_codepoint(
+    sec_protocol_options_t options,
+    bool quic_use_legacy_codepoint,
+  ) {
+    return _sec_protocol_options_set_quic_use_legacy_codepoint(
+      options,
+      quic_use_legacy_codepoint,
+    );
+  }
+
+  late final _sec_protocol_options_set_quic_use_legacy_codepointPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(sec_protocol_options_t, ffi.Bool)>>(
+      'sec_protocol_options_set_quic_use_legacy_codepoint');
+  late final _sec_protocol_options_set_quic_use_legacy_codepoint =
+      _sec_protocol_options_set_quic_use_legacy_codepointPtr
+          .asFunction<void Function(sec_protocol_options_t, bool)>();
+
+  /// !
+  /// @function sec_protocol_options_set_key_update_block
+  ///
+  /// @abstract
+  /// Set the key update block.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @param key_update_block
+  /// A `sec_protocol_key_update_t` block.
+  ///
+  /// @params key_update_queue
+  /// A `dispatch_queue_t` on which the key update block should be called.
+  void sec_protocol_options_set_key_update_block(
+    sec_protocol_options_t options,
+    sec_protocol_key_update_t key_update_block,
+    dispatch_queue_t key_update_queue,
+  ) {
+    return _sec_protocol_options_set_key_update_block(
+      options,
+      key_update_block,
+      key_update_queue,
+    );
+  }
+
+  late final _sec_protocol_options_set_key_update_blockPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t, sec_protocol_key_update_t,
+              dispatch_queue_t)>>('sec_protocol_options_set_key_update_block');
+  late final _sec_protocol_options_set_key_update_block =
+      _sec_protocol_options_set_key_update_blockPtr.asFunction<
+          void Function(sec_protocol_options_t, sec_protocol_key_update_t,
+              dispatch_queue_t)>();
+
+  /// !
+  /// @function sec_protocol_options_set_challenge_block
+  ///
+  /// @abstract
+  /// Set the challenge block.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @params challenge_block
+  /// A `sec_protocol_challenge_t` block.
+  ///
+  /// @params challenge_queue
+  /// A `dispatch_queue_t` on which the challenge block should be called.
+  void sec_protocol_options_set_challenge_block(
+    sec_protocol_options_t options,
+    sec_protocol_challenge_t challenge_block,
+    dispatch_queue_t challenge_queue,
+  ) {
+    return _sec_protocol_options_set_challenge_block(
+      options,
+      challenge_block,
+      challenge_queue,
+    );
+  }
+
+  late final _sec_protocol_options_set_challenge_blockPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t, sec_protocol_challenge_t,
+              dispatch_queue_t)>>('sec_protocol_options_set_challenge_block');
+  late final _sec_protocol_options_set_challenge_block =
+      _sec_protocol_options_set_challenge_blockPtr.asFunction<
+          void Function(sec_protocol_options_t, sec_protocol_challenge_t,
+              dispatch_queue_t)>();
+
+  /// !
+  /// @function sec_protocol_options_set_verify_block
+  ///
+  /// @abstract
+  /// Set the verify block.
+  ///
+  /// @param options
+  /// A `sec_protocol_options_t` instance.
+  ///
+  /// @params verify_block
+  /// A `sec_protocol_verify_t` block.
+  ///
+  /// @params verify_block_queue
+  /// A `dispatch_queue_t` on which the verify block should be called.
+  void sec_protocol_options_set_verify_block(
+    sec_protocol_options_t options,
+    sec_protocol_verify_t verify_block,
+    dispatch_queue_t verify_block_queue,
+  ) {
+    return _sec_protocol_options_set_verify_block(
+      options,
+      verify_block,
+      verify_block_queue,
+    );
+  }
+
+  late final _sec_protocol_options_set_verify_blockPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(sec_protocol_options_t, sec_protocol_verify_t,
+              dispatch_queue_t)>>('sec_protocol_options_set_verify_block');
+  late final _sec_protocol_options_set_verify_block =
+      _sec_protocol_options_set_verify_blockPtr.asFunction<
+          void Function(sec_protocol_options_t, sec_protocol_verify_t,
+              dispatch_queue_t)>();
+
+  late final _class_NSURLCredential1 = _getClass1("NSURLCredential");
+  late final _sel_persistence1 = _registerName1("persistence");
+  int _objc_msgSend_779(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_779(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_779Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_779 = __objc_msgSend_779Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_initWithUser_password_persistence_1 =
+      _registerName1("initWithUser:password:persistence:");
+  instancetype _objc_msgSend_780(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> user,
+    ffi.Pointer<ObjCObject> password,
+    int persistence,
+  ) {
+    return __objc_msgSend_780(
+      obj,
+      sel,
+      user,
+      password,
+      persistence,
+    );
+  }
+
+  late final __objc_msgSend_780Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_780 = __objc_msgSend_780Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_credentialWithUser_password_persistence_1 =
+      _registerName1("credentialWithUser:password:persistence:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_781(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> user,
+    ffi.Pointer<ObjCObject> password,
+    int persistence,
+  ) {
+    return __objc_msgSend_781(
+      obj,
+      sel,
+      user,
+      password,
+      persistence,
+    );
+  }
+
+  late final __objc_msgSend_781Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_781 = __objc_msgSend_781Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_hasPassword1 = _registerName1("hasPassword");
+  late final _sel_initWithIdentity_certificates_persistence_1 =
+      _registerName1("initWithIdentity:certificates:persistence:");
+  instancetype _objc_msgSend_782(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    SecIdentityRef identity,
+    ffi.Pointer<ObjCObject> certArray,
+    int persistence,
+  ) {
+    return __objc_msgSend_782(
+      obj,
+      sel,
+      identity,
+      certArray,
+      persistence,
+    );
+  }
+
+  late final __objc_msgSend_782Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              SecIdentityRef,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_782 = __objc_msgSend_782Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          SecIdentityRef, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _sel_credentialWithIdentity_certificates_persistence_1 =
+      _registerName1("credentialWithIdentity:certificates:persistence:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_783(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    SecIdentityRef identity,
+    ffi.Pointer<ObjCObject> certArray,
+    int persistence,
+  ) {
+    return __objc_msgSend_783(
+      obj,
+      sel,
+      identity,
+      certArray,
+      persistence,
+    );
+  }
+
+  late final __objc_msgSend_783Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              SecIdentityRef,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_783 = __objc_msgSend_783Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          SecIdentityRef,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_identity1 = _registerName1("identity");
+  SecIdentityRef _objc_msgSend_784(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_784(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_784Ptr = _lookup<
+      ffi.NativeFunction<
+          SecIdentityRef Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_784 = __objc_msgSend_784Ptr.asFunction<
+      SecIdentityRef Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_certificates1 = _registerName1("certificates");
+  late final _sel_initWithTrust_1 = _registerName1("initWithTrust:");
+  instancetype _objc_msgSend_785(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    SecTrustRef trust,
+  ) {
+    return __objc_msgSend_785(
+      obj,
+      sel,
+      trust,
+    );
+  }
+
+  late final __objc_msgSend_785Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              SecTrustRef)>>('objc_msgSend');
+  late final __objc_msgSend_785 = __objc_msgSend_785Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, SecTrustRef)>();
+
+  late final _sel_credentialForTrust_1 = _registerName1("credentialForTrust:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_786(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    SecTrustRef trust,
+  ) {
+    return __objc_msgSend_786(
+      obj,
+      sel,
+      trust,
+    );
+  }
+
+  late final __objc_msgSend_786Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, SecTrustRef)>>('objc_msgSend');
+  late final __objc_msgSend_786 = __objc_msgSend_786Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, SecTrustRef)>();
+
+  /// !
+  /// @const NSURLProtectionSpaceHTTP
+  /// @abstract The protocol for HTTP
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSURLProtectionSpaceHTTP =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLProtectionSpaceHTTP');
+
+  ffi.Pointer<ObjCObject> get NSURLProtectionSpaceHTTP =>
+      _NSURLProtectionSpaceHTTP.value;
+
+  set NSURLProtectionSpaceHTTP(ffi.Pointer<ObjCObject> value) =>
+      _NSURLProtectionSpaceHTTP.value = value;
+
+  /// !
+  /// @const NSURLProtectionSpaceHTTPS
+  /// @abstract The protocol for HTTPS
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSURLProtectionSpaceHTTPS =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLProtectionSpaceHTTPS');
+
+  ffi.Pointer<ObjCObject> get NSURLProtectionSpaceHTTPS =>
+      _NSURLProtectionSpaceHTTPS.value;
+
+  set NSURLProtectionSpaceHTTPS(ffi.Pointer<ObjCObject> value) =>
+      _NSURLProtectionSpaceHTTPS.value = value;
+
+  /// !
+  /// @const NSURLProtectionSpaceFTP
+  /// @abstract The protocol for FTP
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSURLProtectionSpaceFTP =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLProtectionSpaceFTP');
+
+  ffi.Pointer<ObjCObject> get NSURLProtectionSpaceFTP =>
+      _NSURLProtectionSpaceFTP.value;
+
+  set NSURLProtectionSpaceFTP(ffi.Pointer<ObjCObject> value) =>
+      _NSURLProtectionSpaceFTP.value = value;
+
+  /// !
+  /// @const NSURLProtectionSpaceHTTPProxy
+  /// @abstract The proxy type for http proxies
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLProtectionSpaceHTTPProxy =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLProtectionSpaceHTTPProxy');
+
+  ffi.Pointer<ObjCObject> get NSURLProtectionSpaceHTTPProxy =>
+      _NSURLProtectionSpaceHTTPProxy.value;
+
+  set NSURLProtectionSpaceHTTPProxy(ffi.Pointer<ObjCObject> value) =>
+      _NSURLProtectionSpaceHTTPProxy.value = value;
+
+  /// !
+  /// @const NSURLProtectionSpaceHTTPSProxy
+  /// @abstract The proxy type for https proxies
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLProtectionSpaceHTTPSProxy =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLProtectionSpaceHTTPSProxy');
+
+  ffi.Pointer<ObjCObject> get NSURLProtectionSpaceHTTPSProxy =>
+      _NSURLProtectionSpaceHTTPSProxy.value;
+
+  set NSURLProtectionSpaceHTTPSProxy(ffi.Pointer<ObjCObject> value) =>
+      _NSURLProtectionSpaceHTTPSProxy.value = value;
+
+  /// !
+  /// @const NSURLProtectionSpaceFTPProxy
+  /// @abstract The proxy type for ftp proxies
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLProtectionSpaceFTPProxy =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLProtectionSpaceFTPProxy');
+
+  ffi.Pointer<ObjCObject> get NSURLProtectionSpaceFTPProxy =>
+      _NSURLProtectionSpaceFTPProxy.value;
+
+  set NSURLProtectionSpaceFTPProxy(ffi.Pointer<ObjCObject> value) =>
+      _NSURLProtectionSpaceFTPProxy.value = value;
+
+  /// !
+  /// @const NSURLProtectionSpaceSOCKSProxy
+  /// @abstract The proxy type for SOCKS proxies
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLProtectionSpaceSOCKSProxy =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLProtectionSpaceSOCKSProxy');
+
+  ffi.Pointer<ObjCObject> get NSURLProtectionSpaceSOCKSProxy =>
+      _NSURLProtectionSpaceSOCKSProxy.value;
+
+  set NSURLProtectionSpaceSOCKSProxy(ffi.Pointer<ObjCObject> value) =>
+      _NSURLProtectionSpaceSOCKSProxy.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodDefault
+  /// @abstract The default authentication method for a protocol
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodDefault =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLAuthenticationMethodDefault');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodDefault =>
+      _NSURLAuthenticationMethodDefault.value;
+
+  set NSURLAuthenticationMethodDefault(ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodDefault.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodHTTPBasic
+  /// @abstract HTTP basic authentication. Equivalent to
+  /// NSURLAuthenticationMethodDefault for http.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodHTTPBasic =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLAuthenticationMethodHTTPBasic');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodHTTPBasic =>
+      _NSURLAuthenticationMethodHTTPBasic.value;
+
+  set NSURLAuthenticationMethodHTTPBasic(ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodHTTPBasic.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodHTTPDigest
+  /// @abstract HTTP digest authentication.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodHTTPDigest =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLAuthenticationMethodHTTPDigest');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodHTTPDigest =>
+      _NSURLAuthenticationMethodHTTPDigest.value;
+
+  set NSURLAuthenticationMethodHTTPDigest(ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodHTTPDigest.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodHTMLForm
+  /// @abstract HTML form authentication. Applies to any protocol.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodHTMLForm =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLAuthenticationMethodHTMLForm');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodHTMLForm =>
+      _NSURLAuthenticationMethodHTMLForm.value;
+
+  set NSURLAuthenticationMethodHTMLForm(ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodHTMLForm.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodNTLM
+  /// @abstract NTLM authentication.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodNTLM =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLAuthenticationMethodNTLM');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodNTLM =>
+      _NSURLAuthenticationMethodNTLM.value;
+
+  set NSURLAuthenticationMethodNTLM(ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodNTLM.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodNegotiate
+  /// @abstract Negotiate authentication.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodNegotiate =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLAuthenticationMethodNegotiate');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodNegotiate =>
+      _NSURLAuthenticationMethodNegotiate.value;
+
+  set NSURLAuthenticationMethodNegotiate(ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodNegotiate.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodClientCertificate
+  /// @abstract SSL Client certificate.  Applies to any protocol.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodClientCertificate =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSURLAuthenticationMethodClientCertificate');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodClientCertificate =>
+      _NSURLAuthenticationMethodClientCertificate.value;
+
+  set NSURLAuthenticationMethodClientCertificate(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodClientCertificate.value = value;
+
+  /// !
+  /// @const NSURLAuthenticationMethodServerTrust
+  /// @abstract SecTrustRef validation required.  Applies to any protocol.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLAuthenticationMethodServerTrust =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLAuthenticationMethodServerTrust');
+
+  ffi.Pointer<ObjCObject> get NSURLAuthenticationMethodServerTrust =>
+      _NSURLAuthenticationMethodServerTrust.value;
+
+  set NSURLAuthenticationMethodServerTrust(ffi.Pointer<ObjCObject> value) =>
+      _NSURLAuthenticationMethodServerTrust.value = value;
+
+  late final _class_NSURLProtectionSpace1 = _getClass1("NSURLProtectionSpace");
+  late final _sel_initWithHost_port_protocol_realm_authenticationMethod_1 =
+      _registerName1("initWithHost:port:protocol:realm:authenticationMethod:");
+  instancetype _objc_msgSend_787(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> host,
+    int port,
+    ffi.Pointer<ObjCObject> protocol,
+    ffi.Pointer<ObjCObject> realm,
+    ffi.Pointer<ObjCObject> authenticationMethod,
+  ) {
+    return __objc_msgSend_787(
+      obj,
+      sel,
+      host,
+      port,
+      protocol,
+      realm,
+      authenticationMethod,
+    );
+  }
+
+  late final __objc_msgSend_787Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSInteger,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_787 = __objc_msgSend_787Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          int,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithProxyHost_port_type_realm_authenticationMethod_1 =
+      _registerName1("initWithProxyHost:port:type:realm:authenticationMethod:");
+  late final _sel_realm1 = _registerName1("realm");
+  late final _sel_receivesCredentialSecurely1 =
+      _registerName1("receivesCredentialSecurely");
+  late final _sel_isProxy1 = _registerName1("isProxy");
+  late final _sel_proxyType1 = _registerName1("proxyType");
+  late final _sel_protocol1 = _registerName1("protocol");
+  late final _sel_authenticationMethod1 =
+      _registerName1("authenticationMethod");
+  late final _sel_distinguishedNames1 = _registerName1("distinguishedNames");
+  late final _sel_serverTrust1 = _registerName1("serverTrust");
+  SecTrustRef _objc_msgSend_788(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_788(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_788Ptr = _lookup<
+      ffi.NativeFunction<
+          SecTrustRef Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_788 = __objc_msgSend_788Ptr.asFunction<
+      SecTrustRef Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _class_NSURLCredentialStorage1 =
+      _getClass1("NSURLCredentialStorage");
+  late final _sel_sharedCredentialStorage1 =
+      _registerName1("sharedCredentialStorage");
+  ffi.Pointer<ObjCObject> _objc_msgSend_789(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_789(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_789Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_789 = __objc_msgSend_789Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_credentialsForProtectionSpace_1 =
+      _registerName1("credentialsForProtectionSpace:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_790(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> space,
+  ) {
+    return __objc_msgSend_790(
+      obj,
+      sel,
+      space,
+    );
+  }
+
+  late final __objc_msgSend_790Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_790 = __objc_msgSend_790Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_allCredentials1 = _registerName1("allCredentials");
+  late final _sel_setCredential_forProtectionSpace_1 =
+      _registerName1("setCredential:forProtectionSpace:");
+  void _objc_msgSend_791(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> credential,
+    ffi.Pointer<ObjCObject> space,
+  ) {
+    return __objc_msgSend_791(
+      obj,
+      sel,
+      credential,
+      space,
+    );
+  }
+
+  late final __objc_msgSend_791Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_791 = __objc_msgSend_791Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_removeCredential_forProtectionSpace_1 =
+      _registerName1("removeCredential:forProtectionSpace:");
+  late final _sel_removeCredential_forProtectionSpace_options_1 =
+      _registerName1("removeCredential:forProtectionSpace:options:");
+  void _objc_msgSend_792(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> credential,
+    ffi.Pointer<ObjCObject> space,
+    ffi.Pointer<ObjCObject> options,
+  ) {
+    return __objc_msgSend_792(
+      obj,
+      sel,
+      credential,
+      space,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_792Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_792 = __objc_msgSend_792Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_defaultCredentialForProtectionSpace_1 =
+      _registerName1("defaultCredentialForProtectionSpace:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_793(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> space,
+  ) {
+    return __objc_msgSend_793(
+      obj,
+      sel,
+      space,
+    );
+  }
+
+  late final __objc_msgSend_793Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_793 = __objc_msgSend_793Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setDefaultCredential_forProtectionSpace_1 =
+      _registerName1("setDefaultCredential:forProtectionSpace:");
+  late final _sel_getCredentialsForProtectionSpace_task_completionHandler_1 =
+      _registerName1(
+          "getCredentialsForProtectionSpace:task:completionHandler:");
+  void _objc_msgSend_794(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> protectionSpace,
+    ffi.Pointer<ObjCObject> task,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_794(
+      obj,
+      sel,
+      protectionSpace,
+      task,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_794Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_794 = __objc_msgSend_794Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_setCredential_forProtectionSpace_task_1 =
+      _registerName1("setCredential:forProtectionSpace:task:");
+  void _objc_msgSend_795(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> credential,
+    ffi.Pointer<ObjCObject> protectionSpace,
+    ffi.Pointer<ObjCObject> task,
+  ) {
+    return __objc_msgSend_795(
+      obj,
+      sel,
+      credential,
+      protectionSpace,
+      task,
+    );
+  }
+
+  late final __objc_msgSend_795Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_795 = __objc_msgSend_795Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_removeCredential_forProtectionSpace_options_task_1 =
+      _registerName1("removeCredential:forProtectionSpace:options:task:");
+  void _objc_msgSend_796(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> credential,
+    ffi.Pointer<ObjCObject> protectionSpace,
+    ffi.Pointer<ObjCObject> options,
+    ffi.Pointer<ObjCObject> task,
+  ) {
+    return __objc_msgSend_796(
+      obj,
+      sel,
+      credential,
+      protectionSpace,
+      options,
+      task,
+    );
+  }
+
+  late final __objc_msgSend_796Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_796 = __objc_msgSend_796Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_getDefaultCredentialForProtectionSpace_task_completionHandler_1 =
+      _registerName1(
+          "getDefaultCredentialForProtectionSpace:task:completionHandler:");
+  void _objc_msgSend_797(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> space,
+    ffi.Pointer<ObjCObject> task,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_797(
+      obj,
+      sel,
+      space,
+      task,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_797Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_797 = __objc_msgSend_797Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_setDefaultCredential_forProtectionSpace_task_1 =
+      _registerName1("setDefaultCredential:forProtectionSpace:task:");
+
+  /// !
+  /// @const NSURLCredentialStorageChangedNotification
+  /// @abstract This notification is sent on the main thread whenever
+  /// the set of stored credentials changes.
+  late final ffi.Pointer<NSNotificationName>
+      _NSURLCredentialStorageChangedNotification =
+      _lookup<NSNotificationName>('NSURLCredentialStorageChangedNotification');
+
+  NSNotificationName get NSURLCredentialStorageChangedNotification =>
+      _NSURLCredentialStorageChangedNotification.value;
+
+  set NSURLCredentialStorageChangedNotification(NSNotificationName value) =>
+      _NSURLCredentialStorageChangedNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLCredentialStorageRemoveSynchronizableCredentials =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSURLCredentialStorageRemoveSynchronizableCredentials');
+
+  ffi.Pointer<ObjCObject>
+      get NSURLCredentialStorageRemoveSynchronizableCredentials =>
+          _NSURLCredentialStorageRemoveSynchronizableCredentials.value;
+
+  set NSURLCredentialStorageRemoveSynchronizableCredentials(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSURLCredentialStorageRemoveSynchronizableCredentials.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorDomainCFNetwork =
+      _lookup<CFStringRef>('kCFErrorDomainCFNetwork');
+
+  CFStringRef get kCFErrorDomainCFNetwork => _kCFErrorDomainCFNetwork.value;
+
+  set kCFErrorDomainCFNetwork(CFStringRef value) =>
+      _kCFErrorDomainCFNetwork.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFErrorDomainWinSock =
+      _lookup<CFStringRef>('kCFErrorDomainWinSock');
+
+  CFStringRef get kCFErrorDomainWinSock => _kCFErrorDomainWinSock.value;
+
+  set kCFErrorDomainWinSock(CFStringRef value) =>
+      _kCFErrorDomainWinSock.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLErrorFailingURLErrorKey =
+      _lookup<CFStringRef>('kCFURLErrorFailingURLErrorKey');
+
+  CFStringRef get kCFURLErrorFailingURLErrorKey =>
+      _kCFURLErrorFailingURLErrorKey.value;
+
+  set kCFURLErrorFailingURLErrorKey(CFStringRef value) =>
+      _kCFURLErrorFailingURLErrorKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFURLErrorFailingURLStringErrorKey =
+      _lookup<CFStringRef>('kCFURLErrorFailingURLStringErrorKey');
+
+  CFStringRef get kCFURLErrorFailingURLStringErrorKey =>
+      _kCFURLErrorFailingURLStringErrorKey.value;
+
+  set kCFURLErrorFailingURLStringErrorKey(CFStringRef value) =>
+      _kCFURLErrorFailingURLStringErrorKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFGetAddrInfoFailureKey =
+      _lookup<CFStringRef>('kCFGetAddrInfoFailureKey');
+
+  CFStringRef get kCFGetAddrInfoFailureKey => _kCFGetAddrInfoFailureKey.value;
+
+  set kCFGetAddrInfoFailureKey(CFStringRef value) =>
+      _kCFGetAddrInfoFailureKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSOCKSStatusCodeKey =
+      _lookup<CFStringRef>('kCFSOCKSStatusCodeKey');
+
+  CFStringRef get kCFSOCKSStatusCodeKey => _kCFSOCKSStatusCodeKey.value;
+
+  set kCFSOCKSStatusCodeKey(CFStringRef value) =>
+      _kCFSOCKSStatusCodeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSOCKSVersionKey =
+      _lookup<CFStringRef>('kCFSOCKSVersionKey');
+
+  CFStringRef get kCFSOCKSVersionKey => _kCFSOCKSVersionKey.value;
+
+  set kCFSOCKSVersionKey(CFStringRef value) =>
+      _kCFSOCKSVersionKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFSOCKSNegotiationMethodKey =
+      _lookup<CFStringRef>('kCFSOCKSNegotiationMethodKey');
+
+  CFStringRef get kCFSOCKSNegotiationMethodKey =>
+      _kCFSOCKSNegotiationMethodKey.value;
+
+  set kCFSOCKSNegotiationMethodKey(CFStringRef value) =>
+      _kCFSOCKSNegotiationMethodKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFDNSServiceFailureKey =
+      _lookup<CFStringRef>('kCFDNSServiceFailureKey');
+
+  CFStringRef get kCFDNSServiceFailureKey => _kCFDNSServiceFailureKey.value;
+
+  set kCFDNSServiceFailureKey(CFStringRef value) =>
+      _kCFDNSServiceFailureKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPStatusCodeKey =
+      _lookup<CFStringRef>('kCFFTPStatusCodeKey');
+
+  CFStringRef get kCFFTPStatusCodeKey => _kCFFTPStatusCodeKey.value;
+
+  set kCFFTPStatusCodeKey(CFStringRef value) =>
+      _kCFFTPStatusCodeKey.value = value;
+
+  late final ffi.Pointer<SInt32> _kCFStreamErrorDomainNetDB =
+      _lookup<SInt32>('kCFStreamErrorDomainNetDB');
+
+  int get kCFStreamErrorDomainNetDB => _kCFStreamErrorDomainNetDB.value;
+
+  set kCFStreamErrorDomainNetDB(int value) =>
+      _kCFStreamErrorDomainNetDB.value = value;
+
+  late final ffi.Pointer<SInt32> _kCFStreamErrorDomainSystemConfiguration =
+      _lookup<SInt32>('kCFStreamErrorDomainSystemConfiguration');
+
+  int get kCFStreamErrorDomainSystemConfiguration =>
+      _kCFStreamErrorDomainSystemConfiguration.value;
+
+  set kCFStreamErrorDomainSystemConfiguration(int value) =>
+      _kCFStreamErrorDomainSystemConfiguration.value = value;
+
+  int CFHostGetTypeID() {
+    return _CFHostGetTypeID();
+  }
+
+  late final _CFHostGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFHostGetTypeID');
+  late final _CFHostGetTypeID =
+      _CFHostGetTypeIDPtr.asFunction<int Function()>();
+
+  CFHostRef CFHostCreateWithName(
+    CFAllocatorRef allocator,
+    CFStringRef hostname,
+  ) {
+    return _CFHostCreateWithName(
+      allocator,
+      hostname,
+    );
+  }
+
+  late final _CFHostCreateWithNamePtr = _lookup<
+          ffi.NativeFunction<CFHostRef Function(CFAllocatorRef, CFStringRef)>>(
+      'CFHostCreateWithName');
+  late final _CFHostCreateWithName = _CFHostCreateWithNamePtr.asFunction<
+      CFHostRef Function(CFAllocatorRef, CFStringRef)>();
+
+  CFHostRef CFHostCreateWithAddress(
+    CFAllocatorRef allocator,
+    CFDataRef addr,
+  ) {
+    return _CFHostCreateWithAddress(
+      allocator,
+      addr,
+    );
+  }
+
+  late final _CFHostCreateWithAddressPtr = _lookup<
+          ffi.NativeFunction<CFHostRef Function(CFAllocatorRef, CFDataRef)>>(
+      'CFHostCreateWithAddress');
+  late final _CFHostCreateWithAddress = _CFHostCreateWithAddressPtr.asFunction<
+      CFHostRef Function(CFAllocatorRef, CFDataRef)>();
+
+  CFHostRef CFHostCreateCopy(
+    CFAllocatorRef alloc,
+    CFHostRef host,
+  ) {
+    return _CFHostCreateCopy(
+      alloc,
+      host,
+    );
+  }
+
+  late final _CFHostCreateCopyPtr = _lookup<
+          ffi.NativeFunction<CFHostRef Function(CFAllocatorRef, CFHostRef)>>(
+      'CFHostCreateCopy');
+  late final _CFHostCreateCopy = _CFHostCreateCopyPtr.asFunction<
+      CFHostRef Function(CFAllocatorRef, CFHostRef)>();
+
+  int CFHostStartInfoResolution(
+    CFHostRef theHost,
+    int info,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFHostStartInfoResolution(
+      theHost,
+      info,
+      error,
+    );
+  }
+
+  late final _CFHostStartInfoResolutionPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFHostRef, ffi.Int32,
+              ffi.Pointer<CFStreamError>)>>('CFHostStartInfoResolution');
+  late final _CFHostStartInfoResolution = _CFHostStartInfoResolutionPtr
+      .asFunction<int Function(CFHostRef, int, ffi.Pointer<CFStreamError>)>();
+
+  CFArrayRef CFHostGetAddressing(
+    CFHostRef theHost,
+    ffi.Pointer<Boolean> hasBeenResolved,
+  ) {
+    return _CFHostGetAddressing(
+      theHost,
+      hasBeenResolved,
+    );
+  }
+
+  late final _CFHostGetAddressingPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(
+              CFHostRef, ffi.Pointer<Boolean>)>>('CFHostGetAddressing');
+  late final _CFHostGetAddressing = _CFHostGetAddressingPtr.asFunction<
+      CFArrayRef Function(CFHostRef, ffi.Pointer<Boolean>)>();
+
+  CFArrayRef CFHostGetNames(
+    CFHostRef theHost,
+    ffi.Pointer<Boolean> hasBeenResolved,
+  ) {
+    return _CFHostGetNames(
+      theHost,
+      hasBeenResolved,
+    );
+  }
+
+  late final _CFHostGetNamesPtr = _lookup<
+      ffi.NativeFunction<
+          CFArrayRef Function(
+              CFHostRef, ffi.Pointer<Boolean>)>>('CFHostGetNames');
+  late final _CFHostGetNames = _CFHostGetNamesPtr.asFunction<
+      CFArrayRef Function(CFHostRef, ffi.Pointer<Boolean>)>();
+
+  CFDataRef CFHostGetReachability(
+    CFHostRef theHost,
+    ffi.Pointer<Boolean> hasBeenResolved,
+  ) {
+    return _CFHostGetReachability(
+      theHost,
+      hasBeenResolved,
+    );
+  }
+
+  late final _CFHostGetReachabilityPtr = _lookup<
+          ffi
+          .NativeFunction<CFDataRef Function(CFHostRef, ffi.Pointer<Boolean>)>>(
+      'CFHostGetReachability');
+  late final _CFHostGetReachability = _CFHostGetReachabilityPtr.asFunction<
+      CFDataRef Function(CFHostRef, ffi.Pointer<Boolean>)>();
+
+  void CFHostCancelInfoResolution(
+    CFHostRef theHost,
+    int info,
+  ) {
+    return _CFHostCancelInfoResolution(
+      theHost,
+      info,
+    );
+  }
+
+  late final _CFHostCancelInfoResolutionPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFHostRef, ffi.Int32)>>(
+          'CFHostCancelInfoResolution');
+  late final _CFHostCancelInfoResolution = _CFHostCancelInfoResolutionPtr
+      .asFunction<void Function(CFHostRef, int)>();
+
+  int CFHostSetClient(
+    CFHostRef theHost,
+    CFHostClientCallBack clientCB,
+    ffi.Pointer<CFHostClientContext> clientContext,
+  ) {
+    return _CFHostSetClient(
+      theHost,
+      clientCB,
+      clientContext,
+    );
+  }
+
+  late final _CFHostSetClientPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFHostRef, CFHostClientCallBack,
+              ffi.Pointer<CFHostClientContext>)>>('CFHostSetClient');
+  late final _CFHostSetClient = _CFHostSetClientPtr.asFunction<
+      int Function(
+          CFHostRef, CFHostClientCallBack, ffi.Pointer<CFHostClientContext>)>();
+
+  void CFHostScheduleWithRunLoop(
+    CFHostRef theHost,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFHostScheduleWithRunLoop(
+      theHost,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFHostScheduleWithRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFHostRef, CFRunLoopRef,
+              CFStringRef)>>('CFHostScheduleWithRunLoop');
+  late final _CFHostScheduleWithRunLoop = _CFHostScheduleWithRunLoopPtr
+      .asFunction<void Function(CFHostRef, CFRunLoopRef, CFStringRef)>();
+
+  void CFHostUnscheduleFromRunLoop(
+    CFHostRef theHost,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFHostUnscheduleFromRunLoop(
+      theHost,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFHostUnscheduleFromRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFHostRef, CFRunLoopRef,
+              CFStringRef)>>('CFHostUnscheduleFromRunLoop');
+  late final _CFHostUnscheduleFromRunLoop = _CFHostUnscheduleFromRunLoopPtr
+      .asFunction<void Function(CFHostRef, CFRunLoopRef, CFStringRef)>();
+
+  late final ffi.Pointer<SInt32> _kCFStreamErrorDomainMach =
+      _lookup<SInt32>('kCFStreamErrorDomainMach');
+
+  int get kCFStreamErrorDomainMach => _kCFStreamErrorDomainMach.value;
+
+  set kCFStreamErrorDomainMach(int value) =>
+      _kCFStreamErrorDomainMach.value = value;
+
+  late final ffi.Pointer<SInt32> _kCFStreamErrorDomainNetServices =
+      _lookup<SInt32>('kCFStreamErrorDomainNetServices');
+
+  int get kCFStreamErrorDomainNetServices =>
+      _kCFStreamErrorDomainNetServices.value;
+
+  set kCFStreamErrorDomainNetServices(int value) =>
+      _kCFStreamErrorDomainNetServices.value = value;
+
+  int CFNetServiceGetTypeID() {
+    return _CFNetServiceGetTypeID();
+  }
+
+  late final _CFNetServiceGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('CFNetServiceGetTypeID');
+  late final _CFNetServiceGetTypeID =
+      _CFNetServiceGetTypeIDPtr.asFunction<int Function()>();
+
+  int CFNetServiceMonitorGetTypeID() {
+    return _CFNetServiceMonitorGetTypeID();
+  }
+
+  late final _CFNetServiceMonitorGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFNetServiceMonitorGetTypeID');
+  late final _CFNetServiceMonitorGetTypeID =
+      _CFNetServiceMonitorGetTypeIDPtr.asFunction<int Function()>();
+
+  int CFNetServiceBrowserGetTypeID() {
+    return _CFNetServiceBrowserGetTypeID();
+  }
+
+  late final _CFNetServiceBrowserGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFNetServiceBrowserGetTypeID');
+  late final _CFNetServiceBrowserGetTypeID =
+      _CFNetServiceBrowserGetTypeIDPtr.asFunction<int Function()>();
+
+  CFNetServiceRef CFNetServiceCreate(
+    CFAllocatorRef alloc,
+    CFStringRef domain,
+    CFStringRef serviceType,
+    CFStringRef name,
+    int port,
+  ) {
+    return _CFNetServiceCreate(
+      alloc,
+      domain,
+      serviceType,
+      name,
+      port,
+    );
+  }
+
+  late final _CFNetServiceCreatePtr = _lookup<
+      ffi.NativeFunction<
+          CFNetServiceRef Function(CFAllocatorRef, CFStringRef, CFStringRef,
+              CFStringRef, SInt32)>>('CFNetServiceCreate');
+  late final _CFNetServiceCreate = _CFNetServiceCreatePtr.asFunction<
+      CFNetServiceRef Function(
+          CFAllocatorRef, CFStringRef, CFStringRef, CFStringRef, int)>();
+
+  CFNetServiceRef CFNetServiceCreateCopy(
+    CFAllocatorRef alloc,
+    CFNetServiceRef service,
+  ) {
+    return _CFNetServiceCreateCopy(
+      alloc,
+      service,
+    );
+  }
+
+  late final _CFNetServiceCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFNetServiceRef Function(
+              CFAllocatorRef, CFNetServiceRef)>>('CFNetServiceCreateCopy');
+  late final _CFNetServiceCreateCopy = _CFNetServiceCreateCopyPtr.asFunction<
+      CFNetServiceRef Function(CFAllocatorRef, CFNetServiceRef)>();
+
+  CFStringRef CFNetServiceGetDomain(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceGetDomain(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceGetDomainPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFNetServiceRef)>>(
+          'CFNetServiceGetDomain');
+  late final _CFNetServiceGetDomain = _CFNetServiceGetDomainPtr.asFunction<
+      CFStringRef Function(CFNetServiceRef)>();
+
+  CFStringRef CFNetServiceGetType(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceGetType(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceGetTypePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFNetServiceRef)>>(
+          'CFNetServiceGetType');
+  late final _CFNetServiceGetType = _CFNetServiceGetTypePtr.asFunction<
+      CFStringRef Function(CFNetServiceRef)>();
+
+  CFStringRef CFNetServiceGetName(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceGetName(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceGetNamePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFNetServiceRef)>>(
+          'CFNetServiceGetName');
+  late final _CFNetServiceGetName = _CFNetServiceGetNamePtr.asFunction<
+      CFStringRef Function(CFNetServiceRef)>();
+
+  int CFNetServiceRegisterWithOptions(
+    CFNetServiceRef theService,
+    int options,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceRegisterWithOptions(
+      theService,
+      options,
+      error,
+    );
+  }
+
+  late final _CFNetServiceRegisterWithOptionsPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFNetServiceRef, CFOptionFlags,
+              ffi.Pointer<CFStreamError>)>>('CFNetServiceRegisterWithOptions');
+  late final _CFNetServiceRegisterWithOptions =
+      _CFNetServiceRegisterWithOptionsPtr.asFunction<
+          int Function(CFNetServiceRef, int, ffi.Pointer<CFStreamError>)>();
+
+  int CFNetServiceResolveWithTimeout(
+    CFNetServiceRef theService,
+    double timeout,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceResolveWithTimeout(
+      theService,
+      timeout,
+      error,
+    );
+  }
+
+  late final _CFNetServiceResolveWithTimeoutPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFNetServiceRef, CFTimeInterval,
+              ffi.Pointer<CFStreamError>)>>('CFNetServiceResolveWithTimeout');
+  late final _CFNetServiceResolveWithTimeout =
+      _CFNetServiceResolveWithTimeoutPtr.asFunction<
+          int Function(CFNetServiceRef, double, ffi.Pointer<CFStreamError>)>();
+
+  void CFNetServiceCancel(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceCancel(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceCancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFNetServiceRef)>>(
+          'CFNetServiceCancel');
+  late final _CFNetServiceCancel =
+      _CFNetServiceCancelPtr.asFunction<void Function(CFNetServiceRef)>();
+
+  CFStringRef CFNetServiceGetTargetHost(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceGetTargetHost(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceGetTargetHostPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFNetServiceRef)>>(
+          'CFNetServiceGetTargetHost');
+  late final _CFNetServiceGetTargetHost = _CFNetServiceGetTargetHostPtr
+      .asFunction<CFStringRef Function(CFNetServiceRef)>();
+
+  int CFNetServiceGetPortNumber(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceGetPortNumber(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceGetPortNumberPtr =
+      _lookup<ffi.NativeFunction<SInt32 Function(CFNetServiceRef)>>(
+          'CFNetServiceGetPortNumber');
+  late final _CFNetServiceGetPortNumber =
+      _CFNetServiceGetPortNumberPtr.asFunction<int Function(CFNetServiceRef)>();
+
+  CFArrayRef CFNetServiceGetAddressing(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceGetAddressing(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceGetAddressingPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFNetServiceRef)>>(
+          'CFNetServiceGetAddressing');
+  late final _CFNetServiceGetAddressing = _CFNetServiceGetAddressingPtr
+      .asFunction<CFArrayRef Function(CFNetServiceRef)>();
+
+  CFDataRef CFNetServiceGetTXTData(
+    CFNetServiceRef theService,
+  ) {
+    return _CFNetServiceGetTXTData(
+      theService,
+    );
+  }
+
+  late final _CFNetServiceGetTXTDataPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(CFNetServiceRef)>>(
+          'CFNetServiceGetTXTData');
+  late final _CFNetServiceGetTXTData = _CFNetServiceGetTXTDataPtr.asFunction<
+      CFDataRef Function(CFNetServiceRef)>();
+
+  int CFNetServiceSetTXTData(
+    CFNetServiceRef theService,
+    CFDataRef txtRecord,
+  ) {
+    return _CFNetServiceSetTXTData(
+      theService,
+      txtRecord,
+    );
+  }
+
+  late final _CFNetServiceSetTXTDataPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFNetServiceRef, CFDataRef)>>(
+          'CFNetServiceSetTXTData');
+  late final _CFNetServiceSetTXTData = _CFNetServiceSetTXTDataPtr.asFunction<
+      int Function(CFNetServiceRef, CFDataRef)>();
+
+  CFDictionaryRef CFNetServiceCreateDictionaryWithTXTData(
+    CFAllocatorRef alloc,
+    CFDataRef txtRecord,
+  ) {
+    return _CFNetServiceCreateDictionaryWithTXTData(
+      alloc,
+      txtRecord,
+    );
+  }
+
+  late final _CFNetServiceCreateDictionaryWithTXTDataPtr = _lookup<
+          ffi
+          .NativeFunction<CFDictionaryRef Function(CFAllocatorRef, CFDataRef)>>(
+      'CFNetServiceCreateDictionaryWithTXTData');
+  late final _CFNetServiceCreateDictionaryWithTXTData =
+      _CFNetServiceCreateDictionaryWithTXTDataPtr.asFunction<
+          CFDictionaryRef Function(CFAllocatorRef, CFDataRef)>();
+
+  CFDataRef CFNetServiceCreateTXTDataWithDictionary(
+    CFAllocatorRef alloc,
+    CFDictionaryRef keyValuePairs,
+  ) {
+    return _CFNetServiceCreateTXTDataWithDictionary(
+      alloc,
+      keyValuePairs,
+    );
+  }
+
+  late final _CFNetServiceCreateTXTDataWithDictionaryPtr = _lookup<
+          ffi
+          .NativeFunction<CFDataRef Function(CFAllocatorRef, CFDictionaryRef)>>(
+      'CFNetServiceCreateTXTDataWithDictionary');
+  late final _CFNetServiceCreateTXTDataWithDictionary =
+      _CFNetServiceCreateTXTDataWithDictionaryPtr.asFunction<
+          CFDataRef Function(CFAllocatorRef, CFDictionaryRef)>();
+
+  int CFNetServiceSetClient(
+    CFNetServiceRef theService,
+    CFNetServiceClientCallBack clientCB,
+    ffi.Pointer<CFNetServiceClientContext> clientContext,
+  ) {
+    return _CFNetServiceSetClient(
+      theService,
+      clientCB,
+      clientContext,
+    );
+  }
+
+  late final _CFNetServiceSetClientPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFNetServiceRef, CFNetServiceClientCallBack,
+                  ffi.Pointer<CFNetServiceClientContext>)>>(
+      'CFNetServiceSetClient');
+  late final _CFNetServiceSetClient = _CFNetServiceSetClientPtr.asFunction<
+      int Function(CFNetServiceRef, CFNetServiceClientCallBack,
+          ffi.Pointer<CFNetServiceClientContext>)>();
+
+  void CFNetServiceScheduleWithRunLoop(
+    CFNetServiceRef theService,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFNetServiceScheduleWithRunLoop(
+      theService,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFNetServiceScheduleWithRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceRef, CFRunLoopRef,
+              CFStringRef)>>('CFNetServiceScheduleWithRunLoop');
+  late final _CFNetServiceScheduleWithRunLoop =
+      _CFNetServiceScheduleWithRunLoopPtr.asFunction<
+          void Function(CFNetServiceRef, CFRunLoopRef, CFStringRef)>();
+
+  void CFNetServiceUnscheduleFromRunLoop(
+    CFNetServiceRef theService,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFNetServiceUnscheduleFromRunLoop(
+      theService,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFNetServiceUnscheduleFromRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceRef, CFRunLoopRef,
+              CFStringRef)>>('CFNetServiceUnscheduleFromRunLoop');
+  late final _CFNetServiceUnscheduleFromRunLoop =
+      _CFNetServiceUnscheduleFromRunLoopPtr.asFunction<
+          void Function(CFNetServiceRef, CFRunLoopRef, CFStringRef)>();
+
+  CFNetServiceMonitorRef CFNetServiceMonitorCreate(
+    CFAllocatorRef alloc,
+    CFNetServiceRef theService,
+    CFNetServiceMonitorClientCallBack clientCB,
+    ffi.Pointer<CFNetServiceClientContext> clientContext,
+  ) {
+    return _CFNetServiceMonitorCreate(
+      alloc,
+      theService,
+      clientCB,
+      clientContext,
+    );
+  }
+
+  late final _CFNetServiceMonitorCreatePtr = _lookup<
+          ffi.NativeFunction<
+              CFNetServiceMonitorRef Function(
+                  CFAllocatorRef,
+                  CFNetServiceRef,
+                  CFNetServiceMonitorClientCallBack,
+                  ffi.Pointer<CFNetServiceClientContext>)>>(
+      'CFNetServiceMonitorCreate');
+  late final _CFNetServiceMonitorCreate =
+      _CFNetServiceMonitorCreatePtr.asFunction<
+          CFNetServiceMonitorRef Function(
+              CFAllocatorRef,
+              CFNetServiceRef,
+              CFNetServiceMonitorClientCallBack,
+              ffi.Pointer<CFNetServiceClientContext>)>();
+
+  void CFNetServiceMonitorInvalidate(
+    CFNetServiceMonitorRef monitor,
+  ) {
+    return _CFNetServiceMonitorInvalidate(
+      monitor,
+    );
+  }
+
+  late final _CFNetServiceMonitorInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFNetServiceMonitorRef)>>(
+          'CFNetServiceMonitorInvalidate');
+  late final _CFNetServiceMonitorInvalidate = _CFNetServiceMonitorInvalidatePtr
+      .asFunction<void Function(CFNetServiceMonitorRef)>();
+
+  int CFNetServiceMonitorStart(
+    CFNetServiceMonitorRef monitor,
+    int recordType,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceMonitorStart(
+      monitor,
+      recordType,
+      error,
+    );
+  }
+
+  late final _CFNetServiceMonitorStartPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFNetServiceMonitorRef, ffi.Int32,
+              ffi.Pointer<CFStreamError>)>>('CFNetServiceMonitorStart');
+  late final _CFNetServiceMonitorStart =
+      _CFNetServiceMonitorStartPtr.asFunction<
+          int Function(
+              CFNetServiceMonitorRef, int, ffi.Pointer<CFStreamError>)>();
+
+  void CFNetServiceMonitorStop(
+    CFNetServiceMonitorRef monitor,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceMonitorStop(
+      monitor,
+      error,
+    );
+  }
+
+  late final _CFNetServiceMonitorStopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceMonitorRef,
+              ffi.Pointer<CFStreamError>)>>('CFNetServiceMonitorStop');
+  late final _CFNetServiceMonitorStop = _CFNetServiceMonitorStopPtr.asFunction<
+      void Function(CFNetServiceMonitorRef, ffi.Pointer<CFStreamError>)>();
+
+  void CFNetServiceMonitorScheduleWithRunLoop(
+    CFNetServiceMonitorRef monitor,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFNetServiceMonitorScheduleWithRunLoop(
+      monitor,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFNetServiceMonitorScheduleWithRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceMonitorRef, CFRunLoopRef,
+              CFStringRef)>>('CFNetServiceMonitorScheduleWithRunLoop');
+  late final _CFNetServiceMonitorScheduleWithRunLoop =
+      _CFNetServiceMonitorScheduleWithRunLoopPtr.asFunction<
+          void Function(CFNetServiceMonitorRef, CFRunLoopRef, CFStringRef)>();
+
+  void CFNetServiceMonitorUnscheduleFromRunLoop(
+    CFNetServiceMonitorRef monitor,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFNetServiceMonitorUnscheduleFromRunLoop(
+      monitor,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFNetServiceMonitorUnscheduleFromRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceMonitorRef, CFRunLoopRef,
+              CFStringRef)>>('CFNetServiceMonitorUnscheduleFromRunLoop');
+  late final _CFNetServiceMonitorUnscheduleFromRunLoop =
+      _CFNetServiceMonitorUnscheduleFromRunLoopPtr.asFunction<
+          void Function(CFNetServiceMonitorRef, CFRunLoopRef, CFStringRef)>();
+
+  CFNetServiceBrowserRef CFNetServiceBrowserCreate(
+    CFAllocatorRef alloc,
+    CFNetServiceBrowserClientCallBack clientCB,
+    ffi.Pointer<CFNetServiceClientContext> clientContext,
+  ) {
+    return _CFNetServiceBrowserCreate(
+      alloc,
+      clientCB,
+      clientContext,
+    );
+  }
+
+  late final _CFNetServiceBrowserCreatePtr = _lookup<
+          ffi.NativeFunction<
+              CFNetServiceBrowserRef Function(
+                  CFAllocatorRef,
+                  CFNetServiceBrowserClientCallBack,
+                  ffi.Pointer<CFNetServiceClientContext>)>>(
+      'CFNetServiceBrowserCreate');
+  late final _CFNetServiceBrowserCreate =
+      _CFNetServiceBrowserCreatePtr.asFunction<
+          CFNetServiceBrowserRef Function(
+              CFAllocatorRef,
+              CFNetServiceBrowserClientCallBack,
+              ffi.Pointer<CFNetServiceClientContext>)>();
+
+  void CFNetServiceBrowserInvalidate(
+    CFNetServiceBrowserRef browser,
+  ) {
+    return _CFNetServiceBrowserInvalidate(
+      browser,
+    );
+  }
+
+  late final _CFNetServiceBrowserInvalidatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(CFNetServiceBrowserRef)>>(
+          'CFNetServiceBrowserInvalidate');
+  late final _CFNetServiceBrowserInvalidate = _CFNetServiceBrowserInvalidatePtr
+      .asFunction<void Function(CFNetServiceBrowserRef)>();
+
+  int CFNetServiceBrowserSearchForDomains(
+    CFNetServiceBrowserRef browser,
+    int registrationDomains,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceBrowserSearchForDomains(
+      browser,
+      registrationDomains,
+      error,
+    );
+  }
+
+  late final _CFNetServiceBrowserSearchForDomainsPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFNetServiceBrowserRef, Boolean,
+                  ffi.Pointer<CFStreamError>)>>(
+      'CFNetServiceBrowserSearchForDomains');
+  late final _CFNetServiceBrowserSearchForDomains =
+      _CFNetServiceBrowserSearchForDomainsPtr.asFunction<
+          int Function(
+              CFNetServiceBrowserRef, int, ffi.Pointer<CFStreamError>)>();
+
+  int CFNetServiceBrowserSearchForServices(
+    CFNetServiceBrowserRef browser,
+    CFStringRef domain,
+    CFStringRef serviceType,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceBrowserSearchForServices(
+      browser,
+      domain,
+      serviceType,
+      error,
+    );
+  }
+
+  late final _CFNetServiceBrowserSearchForServicesPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFNetServiceBrowserRef, CFStringRef, CFStringRef,
+                  ffi.Pointer<CFStreamError>)>>(
+      'CFNetServiceBrowserSearchForServices');
+  late final _CFNetServiceBrowserSearchForServices =
+      _CFNetServiceBrowserSearchForServicesPtr.asFunction<
+          int Function(CFNetServiceBrowserRef, CFStringRef, CFStringRef,
+              ffi.Pointer<CFStreamError>)>();
+
+  void CFNetServiceBrowserStopSearch(
+    CFNetServiceBrowserRef browser,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceBrowserStopSearch(
+      browser,
+      error,
+    );
+  }
+
+  late final _CFNetServiceBrowserStopSearchPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceBrowserRef,
+              ffi.Pointer<CFStreamError>)>>('CFNetServiceBrowserStopSearch');
+  late final _CFNetServiceBrowserStopSearch =
+      _CFNetServiceBrowserStopSearchPtr.asFunction<
+          void Function(CFNetServiceBrowserRef, ffi.Pointer<CFStreamError>)>();
+
+  void CFNetServiceBrowserScheduleWithRunLoop(
+    CFNetServiceBrowserRef browser,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFNetServiceBrowserScheduleWithRunLoop(
+      browser,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFNetServiceBrowserScheduleWithRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceBrowserRef, CFRunLoopRef,
+              CFStringRef)>>('CFNetServiceBrowserScheduleWithRunLoop');
+  late final _CFNetServiceBrowserScheduleWithRunLoop =
+      _CFNetServiceBrowserScheduleWithRunLoopPtr.asFunction<
+          void Function(CFNetServiceBrowserRef, CFRunLoopRef, CFStringRef)>();
+
+  void CFNetServiceBrowserUnscheduleFromRunLoop(
+    CFNetServiceBrowserRef browser,
+    CFRunLoopRef runLoop,
+    CFStringRef runLoopMode,
+  ) {
+    return _CFNetServiceBrowserUnscheduleFromRunLoop(
+      browser,
+      runLoop,
+      runLoopMode,
+    );
+  }
+
+  late final _CFNetServiceBrowserUnscheduleFromRunLoopPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFNetServiceBrowserRef, CFRunLoopRef,
+              CFStringRef)>>('CFNetServiceBrowserUnscheduleFromRunLoop');
+  late final _CFNetServiceBrowserUnscheduleFromRunLoop =
+      _CFNetServiceBrowserUnscheduleFromRunLoopPtr.asFunction<
+          void Function(CFNetServiceBrowserRef, CFRunLoopRef, CFStringRef)>();
+
+  int CFNetServiceRegister(
+    CFNetServiceRef theService,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceRegister(
+      theService,
+      error,
+    );
+  }
+
+  late final _CFNetServiceRegisterPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFNetServiceRef,
+              ffi.Pointer<CFStreamError>)>>('CFNetServiceRegister');
+  late final _CFNetServiceRegister = _CFNetServiceRegisterPtr.asFunction<
+      int Function(CFNetServiceRef, ffi.Pointer<CFStreamError>)>();
+
+  int CFNetServiceResolve(
+    CFNetServiceRef theService,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFNetServiceResolve(
+      theService,
+      error,
+    );
+  }
+
+  late final _CFNetServiceResolvePtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFNetServiceRef,
+              ffi.Pointer<CFStreamError>)>>('CFNetServiceResolve');
+  late final _CFNetServiceResolve = _CFNetServiceResolvePtr.asFunction<
+      int Function(CFNetServiceRef, ffi.Pointer<CFStreamError>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySSLContext =
+      _lookup<CFStringRef>('kCFStreamPropertySSLContext');
+
+  CFStringRef get kCFStreamPropertySSLContext =>
+      _kCFStreamPropertySSLContext.value;
+
+  set kCFStreamPropertySSLContext(CFStringRef value) =>
+      _kCFStreamPropertySSLContext.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySSLPeerTrust =
+      _lookup<CFStringRef>('kCFStreamPropertySSLPeerTrust');
+
+  CFStringRef get kCFStreamPropertySSLPeerTrust =>
+      _kCFStreamPropertySSLPeerTrust.value;
+
+  set kCFStreamPropertySSLPeerTrust(CFStringRef value) =>
+      _kCFStreamPropertySSLPeerTrust.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLValidatesCertificateChain =
+      _lookup<CFStringRef>('kCFStreamSSLValidatesCertificateChain');
+
+  CFStringRef get kCFStreamSSLValidatesCertificateChain =>
+      _kCFStreamSSLValidatesCertificateChain.value;
+
+  set kCFStreamSSLValidatesCertificateChain(CFStringRef value) =>
+      _kCFStreamSSLValidatesCertificateChain.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySSLSettings =
+      _lookup<CFStringRef>('kCFStreamPropertySSLSettings');
+
+  CFStringRef get kCFStreamPropertySSLSettings =>
+      _kCFStreamPropertySSLSettings.value;
+
+  set kCFStreamPropertySSLSettings(CFStringRef value) =>
+      _kCFStreamPropertySSLSettings.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLLevel =
+      _lookup<CFStringRef>('kCFStreamSSLLevel');
+
+  CFStringRef get kCFStreamSSLLevel => _kCFStreamSSLLevel.value;
+
+  set kCFStreamSSLLevel(CFStringRef value) => _kCFStreamSSLLevel.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLPeerName =
+      _lookup<CFStringRef>('kCFStreamSSLPeerName');
+
+  CFStringRef get kCFStreamSSLPeerName => _kCFStreamSSLPeerName.value;
+
+  set kCFStreamSSLPeerName(CFStringRef value) =>
+      _kCFStreamSSLPeerName.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLCertificates =
+      _lookup<CFStringRef>('kCFStreamSSLCertificates');
+
+  CFStringRef get kCFStreamSSLCertificates => _kCFStreamSSLCertificates.value;
+
+  set kCFStreamSSLCertificates(CFStringRef value) =>
+      _kCFStreamSSLCertificates.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLIsServer =
+      _lookup<CFStringRef>('kCFStreamSSLIsServer');
+
+  CFStringRef get kCFStreamSSLIsServer => _kCFStreamSSLIsServer.value;
+
+  set kCFStreamSSLIsServer(CFStringRef value) =>
+      _kCFStreamSSLIsServer.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamNetworkServiceType =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceType');
+
+  CFStringRef get kCFStreamNetworkServiceType =>
+      _kCFStreamNetworkServiceType.value;
+
+  set kCFStreamNetworkServiceType(CFStringRef value) =>
+      _kCFStreamNetworkServiceType.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamNetworkServiceTypeVideo =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeVideo');
+
+  CFStringRef get kCFStreamNetworkServiceTypeVideo =>
+      _kCFStreamNetworkServiceTypeVideo.value;
+
+  set kCFStreamNetworkServiceTypeVideo(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeVideo.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamNetworkServiceTypeVoice =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeVoice');
+
+  CFStringRef get kCFStreamNetworkServiceTypeVoice =>
+      _kCFStreamNetworkServiceTypeVoice.value;
+
+  set kCFStreamNetworkServiceTypeVoice(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeVoice.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamNetworkServiceTypeBackground =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeBackground');
+
+  CFStringRef get kCFStreamNetworkServiceTypeBackground =>
+      _kCFStreamNetworkServiceTypeBackground.value;
+
+  set kCFStreamNetworkServiceTypeBackground(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeBackground.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamNetworkServiceTypeResponsiveData =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeResponsiveData');
+
+  CFStringRef get kCFStreamNetworkServiceTypeResponsiveData =>
+      _kCFStreamNetworkServiceTypeResponsiveData.value;
+
+  set kCFStreamNetworkServiceTypeResponsiveData(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeResponsiveData.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamNetworkServiceTypeCallSignaling =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeCallSignaling');
+
+  CFStringRef get kCFStreamNetworkServiceTypeCallSignaling =>
+      _kCFStreamNetworkServiceTypeCallSignaling.value;
+
+  set kCFStreamNetworkServiceTypeCallSignaling(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeCallSignaling.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamNetworkServiceTypeAVStreaming =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeAVStreaming');
+
+  CFStringRef get kCFStreamNetworkServiceTypeAVStreaming =>
+      _kCFStreamNetworkServiceTypeAVStreaming.value;
+
+  set kCFStreamNetworkServiceTypeAVStreaming(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeAVStreaming.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamNetworkServiceTypeResponsiveAV =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeResponsiveAV');
+
+  CFStringRef get kCFStreamNetworkServiceTypeResponsiveAV =>
+      _kCFStreamNetworkServiceTypeResponsiveAV.value;
+
+  set kCFStreamNetworkServiceTypeResponsiveAV(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeResponsiveAV.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamNetworkServiceTypeVoIP =
+      _lookup<CFStringRef>('kCFStreamNetworkServiceTypeVoIP');
+
+  CFStringRef get kCFStreamNetworkServiceTypeVoIP =>
+      _kCFStreamNetworkServiceTypeVoIP.value;
+
+  set kCFStreamNetworkServiceTypeVoIP(CFStringRef value) =>
+      _kCFStreamNetworkServiceTypeVoIP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyNoCellular =
+      _lookup<CFStringRef>('kCFStreamPropertyNoCellular');
+
+  CFStringRef get kCFStreamPropertyNoCellular =>
+      _kCFStreamPropertyNoCellular.value;
+
+  set kCFStreamPropertyNoCellular(CFStringRef value) =>
+      _kCFStreamPropertyNoCellular.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyConnectionIsCellular =
+      _lookup<CFStringRef>('kCFStreamPropertyConnectionIsCellular');
+
+  CFStringRef get kCFStreamPropertyConnectionIsCellular =>
+      _kCFStreamPropertyConnectionIsCellular.value;
+
+  set kCFStreamPropertyConnectionIsCellular(CFStringRef value) =>
+      _kCFStreamPropertyConnectionIsCellular.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamPropertyAllowExpensiveNetworkAccess =
+      _lookup<CFStringRef>('kCFStreamPropertyAllowExpensiveNetworkAccess');
+
+  CFStringRef get kCFStreamPropertyAllowExpensiveNetworkAccess =>
+      _kCFStreamPropertyAllowExpensiveNetworkAccess.value;
+
+  set kCFStreamPropertyAllowExpensiveNetworkAccess(CFStringRef value) =>
+      _kCFStreamPropertyAllowExpensiveNetworkAccess.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyConnectionIsExpensive =
+      _lookup<CFStringRef>('kCFStreamPropertyConnectionIsExpensive');
+
+  CFStringRef get kCFStreamPropertyConnectionIsExpensive =>
+      _kCFStreamPropertyConnectionIsExpensive.value;
+
+  set kCFStreamPropertyConnectionIsExpensive(CFStringRef value) =>
+      _kCFStreamPropertyConnectionIsExpensive.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamPropertyAllowConstrainedNetworkAccess =
+      _lookup<CFStringRef>('kCFStreamPropertyAllowConstrainedNetworkAccess');
+
+  CFStringRef get kCFStreamPropertyAllowConstrainedNetworkAccess =>
+      _kCFStreamPropertyAllowConstrainedNetworkAccess.value;
+
+  set kCFStreamPropertyAllowConstrainedNetworkAccess(CFStringRef value) =>
+      _kCFStreamPropertyAllowConstrainedNetworkAccess.value = value;
+
+  late final ffi.Pointer<CFIndex> _kCFStreamErrorDomainWinSock =
+      _lookup<CFIndex>('kCFStreamErrorDomainWinSock');
+
+  int get kCFStreamErrorDomainWinSock => _kCFStreamErrorDomainWinSock.value;
+
+  set kCFStreamErrorDomainWinSock(int value) =>
+      _kCFStreamErrorDomainWinSock.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyProxyLocalBypass =
+      _lookup<CFStringRef>('kCFStreamPropertyProxyLocalBypass');
+
+  CFStringRef get kCFStreamPropertyProxyLocalBypass =>
+      _kCFStreamPropertyProxyLocalBypass.value;
+
+  set kCFStreamPropertyProxyLocalBypass(CFStringRef value) =>
+      _kCFStreamPropertyProxyLocalBypass.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySocketRemoteHost =
+      _lookup<CFStringRef>('kCFStreamPropertySocketRemoteHost');
+
+  CFStringRef get kCFStreamPropertySocketRemoteHost =>
+      _kCFStreamPropertySocketRemoteHost.value;
+
+  set kCFStreamPropertySocketRemoteHost(CFStringRef value) =>
+      _kCFStreamPropertySocketRemoteHost.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySocketRemoteNetService =
+      _lookup<CFStringRef>('kCFStreamPropertySocketRemoteNetService');
+
+  CFStringRef get kCFStreamPropertySocketRemoteNetService =>
+      _kCFStreamPropertySocketRemoteNetService.value;
+
+  set kCFStreamPropertySocketRemoteNetService(CFStringRef value) =>
+      _kCFStreamPropertySocketRemoteNetService.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamPropertySocketExtendedBackgroundIdleMode =
+      _lookup<CFStringRef>('kCFStreamPropertySocketExtendedBackgroundIdleMode');
+
+  CFStringRef get kCFStreamPropertySocketExtendedBackgroundIdleMode =>
+      _kCFStreamPropertySocketExtendedBackgroundIdleMode.value;
+
+  set kCFStreamPropertySocketExtendedBackgroundIdleMode(CFStringRef value) =>
+      _kCFStreamPropertySocketExtendedBackgroundIdleMode.value = value;
+
+  void CFStreamCreatePairWithSocketToCFHost(
+    CFAllocatorRef alloc,
+    CFHostRef host,
+    int port,
+    ffi.Pointer<CFReadStreamRef> readStream,
+    ffi.Pointer<CFWriteStreamRef> writeStream,
+  ) {
+    return _CFStreamCreatePairWithSocketToCFHost(
+      alloc,
+      host,
+      port,
+      readStream,
+      writeStream,
+    );
+  }
+
+  late final _CFStreamCreatePairWithSocketToCFHostPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFAllocatorRef,
+                  CFHostRef,
+                  SInt32,
+                  ffi.Pointer<CFReadStreamRef>,
+                  ffi.Pointer<CFWriteStreamRef>)>>(
+      'CFStreamCreatePairWithSocketToCFHost');
+  late final _CFStreamCreatePairWithSocketToCFHost =
+      _CFStreamCreatePairWithSocketToCFHostPtr.asFunction<
+          void Function(CFAllocatorRef, CFHostRef, int,
+              ffi.Pointer<CFReadStreamRef>, ffi.Pointer<CFWriteStreamRef>)>();
+
+  void CFStreamCreatePairWithSocketToNetService(
+    CFAllocatorRef alloc,
+    CFNetServiceRef service,
+    ffi.Pointer<CFReadStreamRef> readStream,
+    ffi.Pointer<CFWriteStreamRef> writeStream,
+  ) {
+    return _CFStreamCreatePairWithSocketToNetService(
+      alloc,
+      service,
+      readStream,
+      writeStream,
+    );
+  }
+
+  late final _CFStreamCreatePairWithSocketToNetServicePtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  CFAllocatorRef,
+                  CFNetServiceRef,
+                  ffi.Pointer<CFReadStreamRef>,
+                  ffi.Pointer<CFWriteStreamRef>)>>(
+      'CFStreamCreatePairWithSocketToNetService');
+  late final _CFStreamCreatePairWithSocketToNetService =
+      _CFStreamCreatePairWithSocketToNetServicePtr.asFunction<
+          void Function(CFAllocatorRef, CFNetServiceRef,
+              ffi.Pointer<CFReadStreamRef>, ffi.Pointer<CFWriteStreamRef>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertySSLPeerCertificates =
+      _lookup<CFStringRef>('kCFStreamPropertySSLPeerCertificates');
+
+  CFStringRef get kCFStreamPropertySSLPeerCertificates =>
+      _kCFStreamPropertySSLPeerCertificates.value;
+
+  set kCFStreamPropertySSLPeerCertificates(CFStringRef value) =>
+      _kCFStreamPropertySSLPeerCertificates.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLAllowsExpiredCertificates =
+      _lookup<CFStringRef>('kCFStreamSSLAllowsExpiredCertificates');
+
+  CFStringRef get kCFStreamSSLAllowsExpiredCertificates =>
+      _kCFStreamSSLAllowsExpiredCertificates.value;
+
+  set kCFStreamSSLAllowsExpiredCertificates(CFStringRef value) =>
+      _kCFStreamSSLAllowsExpiredCertificates.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLAllowsExpiredRoots =
+      _lookup<CFStringRef>('kCFStreamSSLAllowsExpiredRoots');
+
+  CFStringRef get kCFStreamSSLAllowsExpiredRoots =>
+      _kCFStreamSSLAllowsExpiredRoots.value;
+
+  set kCFStreamSSLAllowsExpiredRoots(CFStringRef value) =>
+      _kCFStreamSSLAllowsExpiredRoots.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamSSLAllowsAnyRoot =
+      _lookup<CFStringRef>('kCFStreamSSLAllowsAnyRoot');
+
+  CFStringRef get kCFStreamSSLAllowsAnyRoot => _kCFStreamSSLAllowsAnyRoot.value;
+
+  set kCFStreamSSLAllowsAnyRoot(CFStringRef value) =>
+      _kCFStreamSSLAllowsAnyRoot.value = value;
+
+  late final ffi.Pointer<SInt32> _kCFStreamErrorDomainFTP =
+      _lookup<SInt32>('kCFStreamErrorDomainFTP');
+
+  int get kCFStreamErrorDomainFTP => _kCFStreamErrorDomainFTP.value;
+
+  set kCFStreamErrorDomainFTP(int value) =>
+      _kCFStreamErrorDomainFTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPUserName =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPUserName');
+
+  CFStringRef get kCFStreamPropertyFTPUserName =>
+      _kCFStreamPropertyFTPUserName.value;
+
+  set kCFStreamPropertyFTPUserName(CFStringRef value) =>
+      _kCFStreamPropertyFTPUserName.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPPassword =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPPassword');
+
+  CFStringRef get kCFStreamPropertyFTPPassword =>
+      _kCFStreamPropertyFTPPassword.value;
+
+  set kCFStreamPropertyFTPPassword(CFStringRef value) =>
+      _kCFStreamPropertyFTPPassword.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPUsePassiveMode =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPUsePassiveMode');
+
+  CFStringRef get kCFStreamPropertyFTPUsePassiveMode =>
+      _kCFStreamPropertyFTPUsePassiveMode.value;
+
+  set kCFStreamPropertyFTPUsePassiveMode(CFStringRef value) =>
+      _kCFStreamPropertyFTPUsePassiveMode.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPResourceSize =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPResourceSize');
+
+  CFStringRef get kCFStreamPropertyFTPResourceSize =>
+      _kCFStreamPropertyFTPResourceSize.value;
+
+  set kCFStreamPropertyFTPResourceSize(CFStringRef value) =>
+      _kCFStreamPropertyFTPResourceSize.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPFetchResourceInfo =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPFetchResourceInfo');
+
+  CFStringRef get kCFStreamPropertyFTPFetchResourceInfo =>
+      _kCFStreamPropertyFTPFetchResourceInfo.value;
+
+  set kCFStreamPropertyFTPFetchResourceInfo(CFStringRef value) =>
+      _kCFStreamPropertyFTPFetchResourceInfo.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPFileTransferOffset =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPFileTransferOffset');
+
+  CFStringRef get kCFStreamPropertyFTPFileTransferOffset =>
+      _kCFStreamPropertyFTPFileTransferOffset.value;
+
+  set kCFStreamPropertyFTPFileTransferOffset(CFStringRef value) =>
+      _kCFStreamPropertyFTPFileTransferOffset.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamPropertyFTPAttemptPersistentConnection =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPAttemptPersistentConnection');
+
+  CFStringRef get kCFStreamPropertyFTPAttemptPersistentConnection =>
+      _kCFStreamPropertyFTPAttemptPersistentConnection.value;
+
+  set kCFStreamPropertyFTPAttemptPersistentConnection(CFStringRef value) =>
+      _kCFStreamPropertyFTPAttemptPersistentConnection.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPProxy =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPProxy');
+
+  CFStringRef get kCFStreamPropertyFTPProxy => _kCFStreamPropertyFTPProxy.value;
+
+  set kCFStreamPropertyFTPProxy(CFStringRef value) =>
+      _kCFStreamPropertyFTPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPProxyHost =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPProxyHost');
+
+  CFStringRef get kCFStreamPropertyFTPProxyHost =>
+      _kCFStreamPropertyFTPProxyHost.value;
+
+  set kCFStreamPropertyFTPProxyHost(CFStringRef value) =>
+      _kCFStreamPropertyFTPProxyHost.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPProxyPort =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPProxyPort');
+
+  CFStringRef get kCFStreamPropertyFTPProxyPort =>
+      _kCFStreamPropertyFTPProxyPort.value;
+
+  set kCFStreamPropertyFTPProxyPort(CFStringRef value) =>
+      _kCFStreamPropertyFTPProxyPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPProxyUser =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPProxyUser');
+
+  CFStringRef get kCFStreamPropertyFTPProxyUser =>
+      _kCFStreamPropertyFTPProxyUser.value;
+
+  set kCFStreamPropertyFTPProxyUser(CFStringRef value) =>
+      _kCFStreamPropertyFTPProxyUser.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyFTPProxyPassword =
+      _lookup<CFStringRef>('kCFStreamPropertyFTPProxyPassword');
+
+  CFStringRef get kCFStreamPropertyFTPProxyPassword =>
+      _kCFStreamPropertyFTPProxyPassword.value;
+
+  set kCFStreamPropertyFTPProxyPassword(CFStringRef value) =>
+      _kCFStreamPropertyFTPProxyPassword.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceMode =
+      _lookup<CFStringRef>('kCFFTPResourceMode');
+
+  CFStringRef get kCFFTPResourceMode => _kCFFTPResourceMode.value;
+
+  set kCFFTPResourceMode(CFStringRef value) =>
+      _kCFFTPResourceMode.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceName =
+      _lookup<CFStringRef>('kCFFTPResourceName');
+
+  CFStringRef get kCFFTPResourceName => _kCFFTPResourceName.value;
+
+  set kCFFTPResourceName(CFStringRef value) =>
+      _kCFFTPResourceName.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceOwner =
+      _lookup<CFStringRef>('kCFFTPResourceOwner');
+
+  CFStringRef get kCFFTPResourceOwner => _kCFFTPResourceOwner.value;
+
+  set kCFFTPResourceOwner(CFStringRef value) =>
+      _kCFFTPResourceOwner.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceGroup =
+      _lookup<CFStringRef>('kCFFTPResourceGroup');
+
+  CFStringRef get kCFFTPResourceGroup => _kCFFTPResourceGroup.value;
+
+  set kCFFTPResourceGroup(CFStringRef value) =>
+      _kCFFTPResourceGroup.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceLink =
+      _lookup<CFStringRef>('kCFFTPResourceLink');
+
+  CFStringRef get kCFFTPResourceLink => _kCFFTPResourceLink.value;
+
+  set kCFFTPResourceLink(CFStringRef value) =>
+      _kCFFTPResourceLink.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceSize =
+      _lookup<CFStringRef>('kCFFTPResourceSize');
+
+  CFStringRef get kCFFTPResourceSize => _kCFFTPResourceSize.value;
+
+  set kCFFTPResourceSize(CFStringRef value) =>
+      _kCFFTPResourceSize.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceType =
+      _lookup<CFStringRef>('kCFFTPResourceType');
+
+  CFStringRef get kCFFTPResourceType => _kCFFTPResourceType.value;
+
+  set kCFFTPResourceType(CFStringRef value) =>
+      _kCFFTPResourceType.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFFTPResourceModDate =
+      _lookup<CFStringRef>('kCFFTPResourceModDate');
+
+  CFStringRef get kCFFTPResourceModDate => _kCFFTPResourceModDate.value;
+
+  set kCFFTPResourceModDate(CFStringRef value) =>
+      _kCFFTPResourceModDate.value = value;
+
+  CFReadStreamRef CFReadStreamCreateWithFTPURL(
+    CFAllocatorRef alloc,
+    CFURLRef ftpURL,
+  ) {
+    return _CFReadStreamCreateWithFTPURL(
+      alloc,
+      ftpURL,
+    );
+  }
+
+  late final _CFReadStreamCreateWithFTPURLPtr = _lookup<
+          ffi
+          .NativeFunction<CFReadStreamRef Function(CFAllocatorRef, CFURLRef)>>(
+      'CFReadStreamCreateWithFTPURL');
+  late final _CFReadStreamCreateWithFTPURL = _CFReadStreamCreateWithFTPURLPtr
+      .asFunction<CFReadStreamRef Function(CFAllocatorRef, CFURLRef)>();
+
+  int CFFTPCreateParsedResourceListing(
+    CFAllocatorRef alloc,
+    ffi.Pointer<UInt8> buffer,
+    int bufferLength,
+    ffi.Pointer<CFDictionaryRef> parsed,
+  ) {
+    return _CFFTPCreateParsedResourceListing(
+      alloc,
+      buffer,
+      bufferLength,
+      parsed,
+    );
+  }
+
+  late final _CFFTPCreateParsedResourceListingPtr = _lookup<
+          ffi.NativeFunction<
+              CFIndex Function(CFAllocatorRef, ffi.Pointer<UInt8>, CFIndex,
+                  ffi.Pointer<CFDictionaryRef>)>>(
+      'CFFTPCreateParsedResourceListing');
+  late final _CFFTPCreateParsedResourceListing =
+      _CFFTPCreateParsedResourceListingPtr.asFunction<
+          int Function(CFAllocatorRef, ffi.Pointer<UInt8>, int,
+              ffi.Pointer<CFDictionaryRef>)>();
+
+  CFWriteStreamRef CFWriteStreamCreateWithFTPURL(
+    CFAllocatorRef alloc,
+    CFURLRef ftpURL,
+  ) {
+    return _CFWriteStreamCreateWithFTPURL(
+      alloc,
+      ftpURL,
+    );
+  }
+
+  late final _CFWriteStreamCreateWithFTPURLPtr = _lookup<
+          ffi
+          .NativeFunction<CFWriteStreamRef Function(CFAllocatorRef, CFURLRef)>>(
+      'CFWriteStreamCreateWithFTPURL');
+  late final _CFWriteStreamCreateWithFTPURL = _CFWriteStreamCreateWithFTPURLPtr
+      .asFunction<CFWriteStreamRef Function(CFAllocatorRef, CFURLRef)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPVersion1_0 =
+      _lookup<CFStringRef>('kCFHTTPVersion1_0');
+
+  CFStringRef get kCFHTTPVersion1_0 => _kCFHTTPVersion1_0.value;
+
+  set kCFHTTPVersion1_0(CFStringRef value) => _kCFHTTPVersion1_0.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPVersion1_1 =
+      _lookup<CFStringRef>('kCFHTTPVersion1_1');
+
+  CFStringRef get kCFHTTPVersion1_1 => _kCFHTTPVersion1_1.value;
+
+  set kCFHTTPVersion1_1(CFStringRef value) => _kCFHTTPVersion1_1.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPVersion2_0 =
+      _lookup<CFStringRef>('kCFHTTPVersion2_0');
+
+  CFStringRef get kCFHTTPVersion2_0 => _kCFHTTPVersion2_0.value;
+
+  set kCFHTTPVersion2_0(CFStringRef value) => _kCFHTTPVersion2_0.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPVersion3_0 =
+      _lookup<CFStringRef>('kCFHTTPVersion3_0');
+
+  CFStringRef get kCFHTTPVersion3_0 => _kCFHTTPVersion3_0.value;
+
+  set kCFHTTPVersion3_0(CFStringRef value) => _kCFHTTPVersion3_0.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationSchemeBasic =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationSchemeBasic');
+
+  CFStringRef get kCFHTTPAuthenticationSchemeBasic =>
+      _kCFHTTPAuthenticationSchemeBasic.value;
+
+  set kCFHTTPAuthenticationSchemeBasic(CFStringRef value) =>
+      _kCFHTTPAuthenticationSchemeBasic.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationSchemeDigest =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationSchemeDigest');
+
+  CFStringRef get kCFHTTPAuthenticationSchemeDigest =>
+      _kCFHTTPAuthenticationSchemeDigest.value;
+
+  set kCFHTTPAuthenticationSchemeDigest(CFStringRef value) =>
+      _kCFHTTPAuthenticationSchemeDigest.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationSchemeNTLM =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationSchemeNTLM');
+
+  CFStringRef get kCFHTTPAuthenticationSchemeNTLM =>
+      _kCFHTTPAuthenticationSchemeNTLM.value;
+
+  set kCFHTTPAuthenticationSchemeNTLM(CFStringRef value) =>
+      _kCFHTTPAuthenticationSchemeNTLM.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationSchemeKerberos =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationSchemeKerberos');
+
+  CFStringRef get kCFHTTPAuthenticationSchemeKerberos =>
+      _kCFHTTPAuthenticationSchemeKerberos.value;
+
+  set kCFHTTPAuthenticationSchemeKerberos(CFStringRef value) =>
+      _kCFHTTPAuthenticationSchemeKerberos.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationSchemeNegotiate =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationSchemeNegotiate');
+
+  CFStringRef get kCFHTTPAuthenticationSchemeNegotiate =>
+      _kCFHTTPAuthenticationSchemeNegotiate.value;
+
+  set kCFHTTPAuthenticationSchemeNegotiate(CFStringRef value) =>
+      _kCFHTTPAuthenticationSchemeNegotiate.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationSchemeNegotiate2 =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationSchemeNegotiate2');
+
+  CFStringRef get kCFHTTPAuthenticationSchemeNegotiate2 =>
+      _kCFHTTPAuthenticationSchemeNegotiate2.value;
+
+  set kCFHTTPAuthenticationSchemeNegotiate2(CFStringRef value) =>
+      _kCFHTTPAuthenticationSchemeNegotiate2.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFHTTPAuthenticationSchemeXMobileMeAuthToken =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationSchemeXMobileMeAuthToken');
+
+  CFStringRef get kCFHTTPAuthenticationSchemeXMobileMeAuthToken =>
+      _kCFHTTPAuthenticationSchemeXMobileMeAuthToken.value;
+
+  set kCFHTTPAuthenticationSchemeXMobileMeAuthToken(CFStringRef value) =>
+      _kCFHTTPAuthenticationSchemeXMobileMeAuthToken.value = value;
+
+  int CFHTTPMessageGetTypeID() {
+    return _CFHTTPMessageGetTypeID();
+  }
+
+  late final _CFHTTPMessageGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFHTTPMessageGetTypeID');
+  late final _CFHTTPMessageGetTypeID =
+      _CFHTTPMessageGetTypeIDPtr.asFunction<int Function()>();
+
+  CFHTTPMessageRef CFHTTPMessageCreateRequest(
+    CFAllocatorRef alloc,
+    CFStringRef requestMethod,
+    CFURLRef url,
+    CFStringRef httpVersion,
+  ) {
+    return _CFHTTPMessageCreateRequest(
+      alloc,
+      requestMethod,
+      url,
+      httpVersion,
+    );
+  }
+
+  late final _CFHTTPMessageCreateRequestPtr = _lookup<
+      ffi.NativeFunction<
+          CFHTTPMessageRef Function(CFAllocatorRef, CFStringRef, CFURLRef,
+              CFStringRef)>>('CFHTTPMessageCreateRequest');
+  late final _CFHTTPMessageCreateRequest =
+      _CFHTTPMessageCreateRequestPtr.asFunction<
+          CFHTTPMessageRef Function(
+              CFAllocatorRef, CFStringRef, CFURLRef, CFStringRef)>();
+
+  CFHTTPMessageRef CFHTTPMessageCreateResponse(
+    CFAllocatorRef alloc,
+    int statusCode,
+    CFStringRef statusDescription,
+    CFStringRef httpVersion,
+  ) {
+    return _CFHTTPMessageCreateResponse(
+      alloc,
+      statusCode,
+      statusDescription,
+      httpVersion,
+    );
+  }
+
+  late final _CFHTTPMessageCreateResponsePtr = _lookup<
+      ffi.NativeFunction<
+          CFHTTPMessageRef Function(CFAllocatorRef, CFIndex, CFStringRef,
+              CFStringRef)>>('CFHTTPMessageCreateResponse');
+  late final _CFHTTPMessageCreateResponse =
+      _CFHTTPMessageCreateResponsePtr.asFunction<
+          CFHTTPMessageRef Function(
+              CFAllocatorRef, int, CFStringRef, CFStringRef)>();
+
+  CFHTTPMessageRef CFHTTPMessageCreateEmpty(
+    CFAllocatorRef alloc,
+    int isRequest,
+  ) {
+    return _CFHTTPMessageCreateEmpty(
+      alloc,
+      isRequest,
+    );
+  }
+
+  late final _CFHTTPMessageCreateEmptyPtr = _lookup<
+          ffi
+          .NativeFunction<CFHTTPMessageRef Function(CFAllocatorRef, Boolean)>>(
+      'CFHTTPMessageCreateEmpty');
+  late final _CFHTTPMessageCreateEmpty = _CFHTTPMessageCreateEmptyPtr
+      .asFunction<CFHTTPMessageRef Function(CFAllocatorRef, int)>();
+
+  CFHTTPMessageRef CFHTTPMessageCreateCopy(
+    CFAllocatorRef alloc,
+    CFHTTPMessageRef message,
+  ) {
+    return _CFHTTPMessageCreateCopy(
+      alloc,
+      message,
+    );
+  }
+
+  late final _CFHTTPMessageCreateCopyPtr = _lookup<
+      ffi.NativeFunction<
+          CFHTTPMessageRef Function(
+              CFAllocatorRef, CFHTTPMessageRef)>>('CFHTTPMessageCreateCopy');
+  late final _CFHTTPMessageCreateCopy = _CFHTTPMessageCreateCopyPtr.asFunction<
+      CFHTTPMessageRef Function(CFAllocatorRef, CFHTTPMessageRef)>();
+
+  int CFHTTPMessageIsRequest(
+    CFHTTPMessageRef message,
+  ) {
+    return _CFHTTPMessageIsRequest(
+      message,
+    );
+  }
+
+  late final _CFHTTPMessageIsRequestPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageIsRequest');
+  late final _CFHTTPMessageIsRequest =
+      _CFHTTPMessageIsRequestPtr.asFunction<int Function(CFHTTPMessageRef)>();
+
+  CFStringRef CFHTTPMessageCopyVersion(
+    CFHTTPMessageRef message,
+  ) {
+    return _CFHTTPMessageCopyVersion(
+      message,
+    );
+  }
+
+  late final _CFHTTPMessageCopyVersionPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageCopyVersion');
+  late final _CFHTTPMessageCopyVersion = _CFHTTPMessageCopyVersionPtr
+      .asFunction<CFStringRef Function(CFHTTPMessageRef)>();
+
+  CFDataRef CFHTTPMessageCopyBody(
+    CFHTTPMessageRef message,
+  ) {
+    return _CFHTTPMessageCopyBody(
+      message,
+    );
+  }
+
+  late final _CFHTTPMessageCopyBodyPtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageCopyBody');
+  late final _CFHTTPMessageCopyBody = _CFHTTPMessageCopyBodyPtr.asFunction<
+      CFDataRef Function(CFHTTPMessageRef)>();
+
+  void CFHTTPMessageSetBody(
+    CFHTTPMessageRef message,
+    CFDataRef bodyData,
+  ) {
+    return _CFHTTPMessageSetBody(
+      message,
+      bodyData,
+    );
+  }
+
+  late final _CFHTTPMessageSetBodyPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(CFHTTPMessageRef, CFDataRef)>>(
+      'CFHTTPMessageSetBody');
+  late final _CFHTTPMessageSetBody = _CFHTTPMessageSetBodyPtr.asFunction<
+      void Function(CFHTTPMessageRef, CFDataRef)>();
+
+  CFStringRef CFHTTPMessageCopyHeaderFieldValue(
+    CFHTTPMessageRef message,
+    CFStringRef headerField,
+  ) {
+    return _CFHTTPMessageCopyHeaderFieldValue(
+      message,
+      headerField,
+    );
+  }
+
+  late final _CFHTTPMessageCopyHeaderFieldValuePtr = _lookup<
+          ffi
+          .NativeFunction<CFStringRef Function(CFHTTPMessageRef, CFStringRef)>>(
+      'CFHTTPMessageCopyHeaderFieldValue');
+  late final _CFHTTPMessageCopyHeaderFieldValue =
+      _CFHTTPMessageCopyHeaderFieldValuePtr.asFunction<
+          CFStringRef Function(CFHTTPMessageRef, CFStringRef)>();
+
+  CFDictionaryRef CFHTTPMessageCopyAllHeaderFields(
+    CFHTTPMessageRef message,
+  ) {
+    return _CFHTTPMessageCopyAllHeaderFields(
+      message,
+    );
+  }
+
+  late final _CFHTTPMessageCopyAllHeaderFieldsPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageCopyAllHeaderFields');
+  late final _CFHTTPMessageCopyAllHeaderFields =
+      _CFHTTPMessageCopyAllHeaderFieldsPtr.asFunction<
+          CFDictionaryRef Function(CFHTTPMessageRef)>();
+
+  void CFHTTPMessageSetHeaderFieldValue(
+    CFHTTPMessageRef message,
+    CFStringRef headerField,
+    CFStringRef value,
+  ) {
+    return _CFHTTPMessageSetHeaderFieldValue(
+      message,
+      headerField,
+      value,
+    );
+  }
+
+  late final _CFHTTPMessageSetHeaderFieldValuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(CFHTTPMessageRef, CFStringRef,
+              CFStringRef)>>('CFHTTPMessageSetHeaderFieldValue');
+  late final _CFHTTPMessageSetHeaderFieldValue =
+      _CFHTTPMessageSetHeaderFieldValuePtr.asFunction<
+          void Function(CFHTTPMessageRef, CFStringRef, CFStringRef)>();
+
+  int CFHTTPMessageAppendBytes(
+    CFHTTPMessageRef message,
+    ffi.Pointer<UInt8> newBytes,
+    int numBytes,
+  ) {
+    return _CFHTTPMessageAppendBytes(
+      message,
+      newBytes,
+      numBytes,
+    );
+  }
+
+  late final _CFHTTPMessageAppendBytesPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFHTTPMessageRef, ffi.Pointer<UInt8>,
+              CFIndex)>>('CFHTTPMessageAppendBytes');
+  late final _CFHTTPMessageAppendBytes = _CFHTTPMessageAppendBytesPtr
+      .asFunction<int Function(CFHTTPMessageRef, ffi.Pointer<UInt8>, int)>();
+
+  int CFHTTPMessageIsHeaderComplete(
+    CFHTTPMessageRef message,
+  ) {
+    return _CFHTTPMessageIsHeaderComplete(
+      message,
+    );
+  }
+
+  late final _CFHTTPMessageIsHeaderCompletePtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageIsHeaderComplete');
+  late final _CFHTTPMessageIsHeaderComplete = _CFHTTPMessageIsHeaderCompletePtr
+      .asFunction<int Function(CFHTTPMessageRef)>();
+
+  CFDataRef CFHTTPMessageCopySerializedMessage(
+    CFHTTPMessageRef message,
+  ) {
+    return _CFHTTPMessageCopySerializedMessage(
+      message,
+    );
+  }
+
+  late final _CFHTTPMessageCopySerializedMessagePtr =
+      _lookup<ffi.NativeFunction<CFDataRef Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageCopySerializedMessage');
+  late final _CFHTTPMessageCopySerializedMessage =
+      _CFHTTPMessageCopySerializedMessagePtr.asFunction<
+          CFDataRef Function(CFHTTPMessageRef)>();
+
+  /// /
+  CFURLRef CFHTTPMessageCopyRequestURL(
+    CFHTTPMessageRef request,
+  ) {
+    return _CFHTTPMessageCopyRequestURL(
+      request,
+    );
+  }
+
+  late final _CFHTTPMessageCopyRequestURLPtr =
+      _lookup<ffi.NativeFunction<CFURLRef Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageCopyRequestURL');
+  late final _CFHTTPMessageCopyRequestURL = _CFHTTPMessageCopyRequestURLPtr
+      .asFunction<CFURLRef Function(CFHTTPMessageRef)>();
+
+  CFStringRef CFHTTPMessageCopyRequestMethod(
+    CFHTTPMessageRef request,
+  ) {
+    return _CFHTTPMessageCopyRequestMethod(
+      request,
+    );
+  }
+
+  late final _CFHTTPMessageCopyRequestMethodPtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageCopyRequestMethod');
+  late final _CFHTTPMessageCopyRequestMethod =
+      _CFHTTPMessageCopyRequestMethodPtr.asFunction<
+          CFStringRef Function(CFHTTPMessageRef)>();
+
+  int CFHTTPMessageAddAuthentication(
+    CFHTTPMessageRef request,
+    CFHTTPMessageRef authenticationFailureResponse,
+    CFStringRef username,
+    CFStringRef password,
+    CFStringRef authenticationScheme,
+    int forProxy,
+  ) {
+    return _CFHTTPMessageAddAuthentication(
+      request,
+      authenticationFailureResponse,
+      username,
+      password,
+      authenticationScheme,
+      forProxy,
+    );
+  }
+
+  late final _CFHTTPMessageAddAuthenticationPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFHTTPMessageRef,
+              CFHTTPMessageRef,
+              CFStringRef,
+              CFStringRef,
+              CFStringRef,
+              Boolean)>>('CFHTTPMessageAddAuthentication');
+  late final _CFHTTPMessageAddAuthentication =
+      _CFHTTPMessageAddAuthenticationPtr.asFunction<
+          int Function(CFHTTPMessageRef, CFHTTPMessageRef, CFStringRef,
+              CFStringRef, CFStringRef, int)>();
+
+  /// /
+  int CFHTTPMessageGetResponseStatusCode(
+    CFHTTPMessageRef response,
+  ) {
+    return _CFHTTPMessageGetResponseStatusCode(
+      response,
+    );
+  }
+
+  late final _CFHTTPMessageGetResponseStatusCodePtr =
+      _lookup<ffi.NativeFunction<CFIndex Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageGetResponseStatusCode');
+  late final _CFHTTPMessageGetResponseStatusCode =
+      _CFHTTPMessageGetResponseStatusCodePtr.asFunction<
+          int Function(CFHTTPMessageRef)>();
+
+  CFStringRef CFHTTPMessageCopyResponseStatusLine(
+    CFHTTPMessageRef response,
+  ) {
+    return _CFHTTPMessageCopyResponseStatusLine(
+      response,
+    );
+  }
+
+  late final _CFHTTPMessageCopyResponseStatusLinePtr =
+      _lookup<ffi.NativeFunction<CFStringRef Function(CFHTTPMessageRef)>>(
+          'CFHTTPMessageCopyResponseStatusLine');
+  late final _CFHTTPMessageCopyResponseStatusLine =
+      _CFHTTPMessageCopyResponseStatusLinePtr.asFunction<
+          CFStringRef Function(CFHTTPMessageRef)>();
+
+  late final ffi.Pointer<SInt32> _kCFStreamErrorDomainHTTP =
+      _lookup<SInt32>('kCFStreamErrorDomainHTTP');
+
+  int get kCFStreamErrorDomainHTTP => _kCFStreamErrorDomainHTTP.value;
+
+  set kCFStreamErrorDomainHTTP(int value) =>
+      _kCFStreamErrorDomainHTTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPResponseHeader =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPResponseHeader');
+
+  CFStringRef get kCFStreamPropertyHTTPResponseHeader =>
+      _kCFStreamPropertyHTTPResponseHeader.value;
+
+  set kCFStreamPropertyHTTPResponseHeader(CFStringRef value) =>
+      _kCFStreamPropertyHTTPResponseHeader.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPFinalURL =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPFinalURL');
+
+  CFStringRef get kCFStreamPropertyHTTPFinalURL =>
+      _kCFStreamPropertyHTTPFinalURL.value;
+
+  set kCFStreamPropertyHTTPFinalURL(CFStringRef value) =>
+      _kCFStreamPropertyHTTPFinalURL.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPFinalRequest =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPFinalRequest');
+
+  CFStringRef get kCFStreamPropertyHTTPFinalRequest =>
+      _kCFStreamPropertyHTTPFinalRequest.value;
+
+  set kCFStreamPropertyHTTPFinalRequest(CFStringRef value) =>
+      _kCFStreamPropertyHTTPFinalRequest.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPProxy =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPProxy');
+
+  CFStringRef get kCFStreamPropertyHTTPProxy =>
+      _kCFStreamPropertyHTTPProxy.value;
+
+  set kCFStreamPropertyHTTPProxy(CFStringRef value) =>
+      _kCFStreamPropertyHTTPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPProxyHost =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPProxyHost');
+
+  CFStringRef get kCFStreamPropertyHTTPProxyHost =>
+      _kCFStreamPropertyHTTPProxyHost.value;
+
+  set kCFStreamPropertyHTTPProxyHost(CFStringRef value) =>
+      _kCFStreamPropertyHTTPProxyHost.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPProxyPort =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPProxyPort');
+
+  CFStringRef get kCFStreamPropertyHTTPProxyPort =>
+      _kCFStreamPropertyHTTPProxyPort.value;
+
+  set kCFStreamPropertyHTTPProxyPort(CFStringRef value) =>
+      _kCFStreamPropertyHTTPProxyPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPSProxyHost =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPSProxyHost');
+
+  CFStringRef get kCFStreamPropertyHTTPSProxyHost =>
+      _kCFStreamPropertyHTTPSProxyHost.value;
+
+  set kCFStreamPropertyHTTPSProxyHost(CFStringRef value) =>
+      _kCFStreamPropertyHTTPSProxyHost.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPSProxyPort =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPSProxyPort');
+
+  CFStringRef get kCFStreamPropertyHTTPSProxyPort =>
+      _kCFStreamPropertyHTTPSProxyPort.value;
+
+  set kCFStreamPropertyHTTPSProxyPort(CFStringRef value) =>
+      _kCFStreamPropertyHTTPSProxyPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFStreamPropertyHTTPShouldAutoredirect =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPShouldAutoredirect');
+
+  CFStringRef get kCFStreamPropertyHTTPShouldAutoredirect =>
+      _kCFStreamPropertyHTTPShouldAutoredirect.value;
+
+  set kCFStreamPropertyHTTPShouldAutoredirect(CFStringRef value) =>
+      _kCFStreamPropertyHTTPShouldAutoredirect.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamPropertyHTTPAttemptPersistentConnection =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPAttemptPersistentConnection');
+
+  CFStringRef get kCFStreamPropertyHTTPAttemptPersistentConnection =>
+      _kCFStreamPropertyHTTPAttemptPersistentConnection.value;
+
+  set kCFStreamPropertyHTTPAttemptPersistentConnection(CFStringRef value) =>
+      _kCFStreamPropertyHTTPAttemptPersistentConnection.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFStreamPropertyHTTPRequestBytesWrittenCount =
+      _lookup<CFStringRef>('kCFStreamPropertyHTTPRequestBytesWrittenCount');
+
+  CFStringRef get kCFStreamPropertyHTTPRequestBytesWrittenCount =>
+      _kCFStreamPropertyHTTPRequestBytesWrittenCount.value;
+
+  set kCFStreamPropertyHTTPRequestBytesWrittenCount(CFStringRef value) =>
+      _kCFStreamPropertyHTTPRequestBytesWrittenCount.value = value;
+
+  CFReadStreamRef CFReadStreamCreateForHTTPRequest(
+    CFAllocatorRef alloc,
+    CFHTTPMessageRef request,
+  ) {
+    return _CFReadStreamCreateForHTTPRequest(
+      alloc,
+      request,
+    );
+  }
+
+  late final _CFReadStreamCreateForHTTPRequestPtr = _lookup<
+      ffi.NativeFunction<
+          CFReadStreamRef Function(CFAllocatorRef,
+              CFHTTPMessageRef)>>('CFReadStreamCreateForHTTPRequest');
+  late final _CFReadStreamCreateForHTTPRequest =
+      _CFReadStreamCreateForHTTPRequestPtr.asFunction<
+          CFReadStreamRef Function(CFAllocatorRef, CFHTTPMessageRef)>();
+
+  CFReadStreamRef CFReadStreamCreateForStreamedHTTPRequest(
+    CFAllocatorRef alloc,
+    CFHTTPMessageRef requestHeaders,
+    CFReadStreamRef requestBody,
+  ) {
+    return _CFReadStreamCreateForStreamedHTTPRequest(
+      alloc,
+      requestHeaders,
+      requestBody,
+    );
+  }
+
+  late final _CFReadStreamCreateForStreamedHTTPRequestPtr = _lookup<
+      ffi.NativeFunction<
+          CFReadStreamRef Function(CFAllocatorRef, CFHTTPMessageRef,
+              CFReadStreamRef)>>('CFReadStreamCreateForStreamedHTTPRequest');
+  late final _CFReadStreamCreateForStreamedHTTPRequest =
+      _CFReadStreamCreateForStreamedHTTPRequestPtr.asFunction<
+          CFReadStreamRef Function(
+              CFAllocatorRef, CFHTTPMessageRef, CFReadStreamRef)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationUsername =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationUsername');
+
+  CFStringRef get kCFHTTPAuthenticationUsername =>
+      _kCFHTTPAuthenticationUsername.value;
+
+  set kCFHTTPAuthenticationUsername(CFStringRef value) =>
+      _kCFHTTPAuthenticationUsername.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationPassword =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationPassword');
+
+  CFStringRef get kCFHTTPAuthenticationPassword =>
+      _kCFHTTPAuthenticationPassword.value;
+
+  set kCFHTTPAuthenticationPassword(CFStringRef value) =>
+      _kCFHTTPAuthenticationPassword.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFHTTPAuthenticationAccountDomain =
+      _lookup<CFStringRef>('kCFHTTPAuthenticationAccountDomain');
+
+  CFStringRef get kCFHTTPAuthenticationAccountDomain =>
+      _kCFHTTPAuthenticationAccountDomain.value;
+
+  set kCFHTTPAuthenticationAccountDomain(CFStringRef value) =>
+      _kCFHTTPAuthenticationAccountDomain.value = value;
+
+  int CFHTTPAuthenticationGetTypeID() {
+    return _CFHTTPAuthenticationGetTypeID();
+  }
+
+  late final _CFHTTPAuthenticationGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>(
+          'CFHTTPAuthenticationGetTypeID');
+  late final _CFHTTPAuthenticationGetTypeID =
+      _CFHTTPAuthenticationGetTypeIDPtr.asFunction<int Function()>();
+
+  CFHTTPAuthenticationRef CFHTTPAuthenticationCreateFromResponse(
+    CFAllocatorRef alloc,
+    CFHTTPMessageRef response,
+  ) {
+    return _CFHTTPAuthenticationCreateFromResponse(
+      alloc,
+      response,
+    );
+  }
+
+  late final _CFHTTPAuthenticationCreateFromResponsePtr = _lookup<
+      ffi.NativeFunction<
+          CFHTTPAuthenticationRef Function(CFAllocatorRef,
+              CFHTTPMessageRef)>>('CFHTTPAuthenticationCreateFromResponse');
+  late final _CFHTTPAuthenticationCreateFromResponse =
+      _CFHTTPAuthenticationCreateFromResponsePtr.asFunction<
+          CFHTTPAuthenticationRef Function(CFAllocatorRef, CFHTTPMessageRef)>();
+
+  int CFHTTPAuthenticationIsValid(
+    CFHTTPAuthenticationRef auth,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFHTTPAuthenticationIsValid(
+      auth,
+      error,
+    );
+  }
+
+  late final _CFHTTPAuthenticationIsValidPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFHTTPAuthenticationRef,
+              ffi.Pointer<CFStreamError>)>>('CFHTTPAuthenticationIsValid');
+  late final _CFHTTPAuthenticationIsValid =
+      _CFHTTPAuthenticationIsValidPtr.asFunction<
+          int Function(CFHTTPAuthenticationRef, ffi.Pointer<CFStreamError>)>();
+
+  int CFHTTPAuthenticationAppliesToRequest(
+    CFHTTPAuthenticationRef auth,
+    CFHTTPMessageRef request,
+  ) {
+    return _CFHTTPAuthenticationAppliesToRequest(
+      auth,
+      request,
+    );
+  }
+
+  late final _CFHTTPAuthenticationAppliesToRequestPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(CFHTTPAuthenticationRef,
+              CFHTTPMessageRef)>>('CFHTTPAuthenticationAppliesToRequest');
+  late final _CFHTTPAuthenticationAppliesToRequest =
+      _CFHTTPAuthenticationAppliesToRequestPtr.asFunction<
+          int Function(CFHTTPAuthenticationRef, CFHTTPMessageRef)>();
+
+  int CFHTTPAuthenticationRequiresOrderedRequests(
+    CFHTTPAuthenticationRef auth,
+  ) {
+    return _CFHTTPAuthenticationRequiresOrderedRequests(
+      auth,
+    );
+  }
+
+  late final _CFHTTPAuthenticationRequiresOrderedRequestsPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFHTTPAuthenticationRef)>>(
+          'CFHTTPAuthenticationRequiresOrderedRequests');
+  late final _CFHTTPAuthenticationRequiresOrderedRequests =
+      _CFHTTPAuthenticationRequiresOrderedRequestsPtr.asFunction<
+          int Function(CFHTTPAuthenticationRef)>();
+
+  int CFHTTPMessageApplyCredentials(
+    CFHTTPMessageRef request,
+    CFHTTPAuthenticationRef auth,
+    CFStringRef username,
+    CFStringRef password,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFHTTPMessageApplyCredentials(
+      request,
+      auth,
+      username,
+      password,
+      error,
+    );
+  }
+
+  late final _CFHTTPMessageApplyCredentialsPtr = _lookup<
+      ffi.NativeFunction<
+          Boolean Function(
+              CFHTTPMessageRef,
+              CFHTTPAuthenticationRef,
+              CFStringRef,
+              CFStringRef,
+              ffi.Pointer<CFStreamError>)>>('CFHTTPMessageApplyCredentials');
+  late final _CFHTTPMessageApplyCredentials =
+      _CFHTTPMessageApplyCredentialsPtr.asFunction<
+          int Function(CFHTTPMessageRef, CFHTTPAuthenticationRef, CFStringRef,
+              CFStringRef, ffi.Pointer<CFStreamError>)>();
+
+  int CFHTTPMessageApplyCredentialDictionary(
+    CFHTTPMessageRef request,
+    CFHTTPAuthenticationRef auth,
+    CFDictionaryRef dict,
+    ffi.Pointer<CFStreamError> error,
+  ) {
+    return _CFHTTPMessageApplyCredentialDictionary(
+      request,
+      auth,
+      dict,
+      error,
+    );
+  }
+
+  late final _CFHTTPMessageApplyCredentialDictionaryPtr = _lookup<
+          ffi.NativeFunction<
+              Boolean Function(CFHTTPMessageRef, CFHTTPAuthenticationRef,
+                  CFDictionaryRef, ffi.Pointer<CFStreamError>)>>(
+      'CFHTTPMessageApplyCredentialDictionary');
+  late final _CFHTTPMessageApplyCredentialDictionary =
+      _CFHTTPMessageApplyCredentialDictionaryPtr.asFunction<
+          int Function(CFHTTPMessageRef, CFHTTPAuthenticationRef,
+              CFDictionaryRef, ffi.Pointer<CFStreamError>)>();
+
+  CFStringRef CFHTTPAuthenticationCopyRealm(
+    CFHTTPAuthenticationRef auth,
+  ) {
+    return _CFHTTPAuthenticationCopyRealm(
+      auth,
+    );
+  }
+
+  late final _CFHTTPAuthenticationCopyRealmPtr = _lookup<
+          ffi.NativeFunction<CFStringRef Function(CFHTTPAuthenticationRef)>>(
+      'CFHTTPAuthenticationCopyRealm');
+  late final _CFHTTPAuthenticationCopyRealm = _CFHTTPAuthenticationCopyRealmPtr
+      .asFunction<CFStringRef Function(CFHTTPAuthenticationRef)>();
+
+  CFArrayRef CFHTTPAuthenticationCopyDomains(
+    CFHTTPAuthenticationRef auth,
+  ) {
+    return _CFHTTPAuthenticationCopyDomains(
+      auth,
+    );
+  }
+
+  late final _CFHTTPAuthenticationCopyDomainsPtr =
+      _lookup<ffi.NativeFunction<CFArrayRef Function(CFHTTPAuthenticationRef)>>(
+          'CFHTTPAuthenticationCopyDomains');
+  late final _CFHTTPAuthenticationCopyDomains =
+      _CFHTTPAuthenticationCopyDomainsPtr.asFunction<
+          CFArrayRef Function(CFHTTPAuthenticationRef)>();
+
+  CFStringRef CFHTTPAuthenticationCopyMethod(
+    CFHTTPAuthenticationRef auth,
+  ) {
+    return _CFHTTPAuthenticationCopyMethod(
+      auth,
+    );
+  }
+
+  late final _CFHTTPAuthenticationCopyMethodPtr = _lookup<
+          ffi.NativeFunction<CFStringRef Function(CFHTTPAuthenticationRef)>>(
+      'CFHTTPAuthenticationCopyMethod');
+  late final _CFHTTPAuthenticationCopyMethod =
+      _CFHTTPAuthenticationCopyMethodPtr.asFunction<
+          CFStringRef Function(CFHTTPAuthenticationRef)>();
+
+  int CFHTTPAuthenticationRequiresUserNameAndPassword(
+    CFHTTPAuthenticationRef auth,
+  ) {
+    return _CFHTTPAuthenticationRequiresUserNameAndPassword(
+      auth,
+    );
+  }
+
+  late final _CFHTTPAuthenticationRequiresUserNameAndPasswordPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFHTTPAuthenticationRef)>>(
+          'CFHTTPAuthenticationRequiresUserNameAndPassword');
+  late final _CFHTTPAuthenticationRequiresUserNameAndPassword =
+      _CFHTTPAuthenticationRequiresUserNameAndPasswordPtr.asFunction<
+          int Function(CFHTTPAuthenticationRef)>();
+
+  int CFHTTPAuthenticationRequiresAccountDomain(
+    CFHTTPAuthenticationRef auth,
+  ) {
+    return _CFHTTPAuthenticationRequiresAccountDomain(
+      auth,
+    );
+  }
+
+  late final _CFHTTPAuthenticationRequiresAccountDomainPtr =
+      _lookup<ffi.NativeFunction<Boolean Function(CFHTTPAuthenticationRef)>>(
+          'CFHTTPAuthenticationRequiresAccountDomain');
+  late final _CFHTTPAuthenticationRequiresAccountDomain =
+      _CFHTTPAuthenticationRequiresAccountDomainPtr.asFunction<
+          int Function(CFHTTPAuthenticationRef)>();
+
+  CFNetDiagnosticRef CFNetDiagnosticCreateWithStreams(
+    CFAllocatorRef alloc,
+    CFReadStreamRef readStream,
+    CFWriteStreamRef writeStream,
+  ) {
+    return _CFNetDiagnosticCreateWithStreams(
+      alloc,
+      readStream,
+      writeStream,
+    );
+  }
+
+  late final _CFNetDiagnosticCreateWithStreamsPtr = _lookup<
+      ffi.NativeFunction<
+          CFNetDiagnosticRef Function(CFAllocatorRef, CFReadStreamRef,
+              CFWriteStreamRef)>>('CFNetDiagnosticCreateWithStreams');
+  late final _CFNetDiagnosticCreateWithStreams =
+      _CFNetDiagnosticCreateWithStreamsPtr.asFunction<
+          CFNetDiagnosticRef Function(
+              CFAllocatorRef, CFReadStreamRef, CFWriteStreamRef)>();
+
+  CFNetDiagnosticRef CFNetDiagnosticCreateWithURL(
+    CFAllocatorRef alloc,
+    CFURLRef url,
+  ) {
+    return _CFNetDiagnosticCreateWithURL(
+      alloc,
+      url,
+    );
+  }
+
+  late final _CFNetDiagnosticCreateWithURLPtr = _lookup<
+      ffi.NativeFunction<
+          CFNetDiagnosticRef Function(
+              CFAllocatorRef, CFURLRef)>>('CFNetDiagnosticCreateWithURL');
+  late final _CFNetDiagnosticCreateWithURL = _CFNetDiagnosticCreateWithURLPtr
+      .asFunction<CFNetDiagnosticRef Function(CFAllocatorRef, CFURLRef)>();
+
+  void CFNetDiagnosticSetName(
+    CFNetDiagnosticRef details,
+    CFStringRef name,
+  ) {
+    return _CFNetDiagnosticSetName(
+      details,
+      name,
+    );
+  }
+
+  late final _CFNetDiagnosticSetNamePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(CFNetDiagnosticRef, CFStringRef)>>(
+      'CFNetDiagnosticSetName');
+  late final _CFNetDiagnosticSetName = _CFNetDiagnosticSetNamePtr.asFunction<
+      void Function(CFNetDiagnosticRef, CFStringRef)>();
+
+  int CFNetDiagnosticDiagnoseProblemInteractively(
+    CFNetDiagnosticRef details,
+  ) {
+    return _CFNetDiagnosticDiagnoseProblemInteractively(
+      details,
+    );
+  }
+
+  late final _CFNetDiagnosticDiagnoseProblemInteractivelyPtr = _lookup<
+          ffi
+          .NativeFunction<CFNetDiagnosticStatus Function(CFNetDiagnosticRef)>>(
+      'CFNetDiagnosticDiagnoseProblemInteractively');
+  late final _CFNetDiagnosticDiagnoseProblemInteractively =
+      _CFNetDiagnosticDiagnoseProblemInteractivelyPtr.asFunction<
+          int Function(CFNetDiagnosticRef)>();
+
+  int CFNetDiagnosticCopyNetworkStatusPassively(
+    CFNetDiagnosticRef details,
+    ffi.Pointer<CFStringRef> description,
+  ) {
+    return _CFNetDiagnosticCopyNetworkStatusPassively(
+      details,
+      description,
+    );
+  }
+
+  late final _CFNetDiagnosticCopyNetworkStatusPassivelyPtr = _lookup<
+          ffi.NativeFunction<
+              CFNetDiagnosticStatus Function(
+                  CFNetDiagnosticRef, ffi.Pointer<CFStringRef>)>>(
+      'CFNetDiagnosticCopyNetworkStatusPassively');
+  late final _CFNetDiagnosticCopyNetworkStatusPassively =
+      _CFNetDiagnosticCopyNetworkStatusPassivelyPtr.asFunction<
+          int Function(CFNetDiagnosticRef, ffi.Pointer<CFStringRef>)>();
+
+  /// !
+  /// @function CFNetworkCopySystemProxySettings
+  /// @discussion Returns a CFDictionary containing the current system internet proxy settings.
+  /// @result Returns a dictionary containing key-value pairs that represent
+  /// the current internet proxy settings.  See below for definitions of the keys and
+  /// values.
+  /// NULL if no proxy settings have been defined or if an error
+  /// was encountered.
+  /// The caller is responsible for releasing the returned dictionary.
+  CFDictionaryRef CFNetworkCopySystemProxySettings() {
+    return _CFNetworkCopySystemProxySettings();
+  }
+
+  late final _CFNetworkCopySystemProxySettingsPtr =
+      _lookup<ffi.NativeFunction<CFDictionaryRef Function()>>(
+          'CFNetworkCopySystemProxySettings');
+  late final _CFNetworkCopySystemProxySettings =
+      _CFNetworkCopySystemProxySettingsPtr.asFunction<
+          CFDictionaryRef Function()>();
+
+  CFArrayRef CFNetworkCopyProxiesForURL(
+    CFURLRef url,
+    CFDictionaryRef proxySettings,
+  ) {
+    return _CFNetworkCopyProxiesForURL(
+      url,
+      proxySettings,
+    );
+  }
+
+  late final _CFNetworkCopyProxiesForURLPtr = _lookup<
+          ffi.NativeFunction<CFArrayRef Function(CFURLRef, CFDictionaryRef)>>(
+      'CFNetworkCopyProxiesForURL');
+  late final _CFNetworkCopyProxiesForURL = _CFNetworkCopyProxiesForURLPtr
+      .asFunction<CFArrayRef Function(CFURLRef, CFDictionaryRef)>();
+
+  CFArrayRef CFNetworkCopyProxiesForAutoConfigurationScript(
+    CFStringRef proxyAutoConfigurationScript,
+    CFURLRef targetURL,
+    ffi.Pointer<CFErrorRef> error,
+  ) {
+    return _CFNetworkCopyProxiesForAutoConfigurationScript(
+      proxyAutoConfigurationScript,
+      targetURL,
+      error,
+    );
+  }
+
+  late final _CFNetworkCopyProxiesForAutoConfigurationScriptPtr = _lookup<
+          ffi.NativeFunction<
+              CFArrayRef Function(
+                  CFStringRef, CFURLRef, ffi.Pointer<CFErrorRef>)>>(
+      'CFNetworkCopyProxiesForAutoConfigurationScript');
+  late final _CFNetworkCopyProxiesForAutoConfigurationScript =
+      _CFNetworkCopyProxiesForAutoConfigurationScriptPtr.asFunction<
+          CFArrayRef Function(
+              CFStringRef, CFURLRef, ffi.Pointer<CFErrorRef>)>();
+
+  CFRunLoopSourceRef CFNetworkExecuteProxyAutoConfigurationScript(
+    CFStringRef proxyAutoConfigurationScript,
+    CFURLRef targetURL,
+    CFProxyAutoConfigurationResultCallback cb,
+    ffi.Pointer<CFStreamClientContext> clientContext,
+  ) {
+    return _CFNetworkExecuteProxyAutoConfigurationScript(
+      proxyAutoConfigurationScript,
+      targetURL,
+      cb,
+      clientContext,
+    );
+  }
+
+  late final _CFNetworkExecuteProxyAutoConfigurationScriptPtr = _lookup<
+          ffi.NativeFunction<
+              CFRunLoopSourceRef Function(
+                  CFStringRef,
+                  CFURLRef,
+                  CFProxyAutoConfigurationResultCallback,
+                  ffi.Pointer<CFStreamClientContext>)>>(
+      'CFNetworkExecuteProxyAutoConfigurationScript');
+  late final _CFNetworkExecuteProxyAutoConfigurationScript =
+      _CFNetworkExecuteProxyAutoConfigurationScriptPtr.asFunction<
+          CFRunLoopSourceRef Function(
+              CFStringRef,
+              CFURLRef,
+              CFProxyAutoConfigurationResultCallback,
+              ffi.Pointer<CFStreamClientContext>)>();
+
+  CFRunLoopSourceRef CFNetworkExecuteProxyAutoConfigurationURL(
+    CFURLRef proxyAutoConfigURL,
+    CFURLRef targetURL,
+    CFProxyAutoConfigurationResultCallback cb,
+    ffi.Pointer<CFStreamClientContext> clientContext,
+  ) {
+    return _CFNetworkExecuteProxyAutoConfigurationURL(
+      proxyAutoConfigURL,
+      targetURL,
+      cb,
+      clientContext,
+    );
+  }
+
+  late final _CFNetworkExecuteProxyAutoConfigurationURLPtr = _lookup<
+          ffi.NativeFunction<
+              CFRunLoopSourceRef Function(
+                  CFURLRef,
+                  CFURLRef,
+                  CFProxyAutoConfigurationResultCallback,
+                  ffi.Pointer<CFStreamClientContext>)>>(
+      'CFNetworkExecuteProxyAutoConfigurationURL');
+  late final _CFNetworkExecuteProxyAutoConfigurationURL =
+      _CFNetworkExecuteProxyAutoConfigurationURLPtr.asFunction<
+          CFRunLoopSourceRef Function(
+              CFURLRef,
+              CFURLRef,
+              CFProxyAutoConfigurationResultCallback,
+              ffi.Pointer<CFStreamClientContext>)>();
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeKey =
+      _lookup<CFStringRef>('kCFProxyTypeKey');
+
+  CFStringRef get kCFProxyTypeKey => _kCFProxyTypeKey.value;
+
+  set kCFProxyTypeKey(CFStringRef value) => _kCFProxyTypeKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyHostNameKey =
+      _lookup<CFStringRef>('kCFProxyHostNameKey');
+
+  CFStringRef get kCFProxyHostNameKey => _kCFProxyHostNameKey.value;
+
+  set kCFProxyHostNameKey(CFStringRef value) =>
+      _kCFProxyHostNameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyPortNumberKey =
+      _lookup<CFStringRef>('kCFProxyPortNumberKey');
+
+  CFStringRef get kCFProxyPortNumberKey => _kCFProxyPortNumberKey.value;
+
+  set kCFProxyPortNumberKey(CFStringRef value) =>
+      _kCFProxyPortNumberKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyAutoConfigurationURLKey =
+      _lookup<CFStringRef>('kCFProxyAutoConfigurationURLKey');
+
+  CFStringRef get kCFProxyAutoConfigurationURLKey =>
+      _kCFProxyAutoConfigurationURLKey.value;
+
+  set kCFProxyAutoConfigurationURLKey(CFStringRef value) =>
+      _kCFProxyAutoConfigurationURLKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyAutoConfigurationJavaScriptKey =
+      _lookup<CFStringRef>('kCFProxyAutoConfigurationJavaScriptKey');
+
+  CFStringRef get kCFProxyAutoConfigurationJavaScriptKey =>
+      _kCFProxyAutoConfigurationJavaScriptKey.value;
+
+  set kCFProxyAutoConfigurationJavaScriptKey(CFStringRef value) =>
+      _kCFProxyAutoConfigurationJavaScriptKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyUsernameKey =
+      _lookup<CFStringRef>('kCFProxyUsernameKey');
+
+  CFStringRef get kCFProxyUsernameKey => _kCFProxyUsernameKey.value;
+
+  set kCFProxyUsernameKey(CFStringRef value) =>
+      _kCFProxyUsernameKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyPasswordKey =
+      _lookup<CFStringRef>('kCFProxyPasswordKey');
+
+  CFStringRef get kCFProxyPasswordKey => _kCFProxyPasswordKey.value;
+
+  set kCFProxyPasswordKey(CFStringRef value) =>
+      _kCFProxyPasswordKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeNone =
+      _lookup<CFStringRef>('kCFProxyTypeNone');
+
+  CFStringRef get kCFProxyTypeNone => _kCFProxyTypeNone.value;
+
+  set kCFProxyTypeNone(CFStringRef value) => _kCFProxyTypeNone.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeHTTP =
+      _lookup<CFStringRef>('kCFProxyTypeHTTP');
+
+  CFStringRef get kCFProxyTypeHTTP => _kCFProxyTypeHTTP.value;
+
+  set kCFProxyTypeHTTP(CFStringRef value) => _kCFProxyTypeHTTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeHTTPS =
+      _lookup<CFStringRef>('kCFProxyTypeHTTPS');
+
+  CFStringRef get kCFProxyTypeHTTPS => _kCFProxyTypeHTTPS.value;
+
+  set kCFProxyTypeHTTPS(CFStringRef value) => _kCFProxyTypeHTTPS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeSOCKS =
+      _lookup<CFStringRef>('kCFProxyTypeSOCKS');
+
+  CFStringRef get kCFProxyTypeSOCKS => _kCFProxyTypeSOCKS.value;
+
+  set kCFProxyTypeSOCKS(CFStringRef value) => _kCFProxyTypeSOCKS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeFTP =
+      _lookup<CFStringRef>('kCFProxyTypeFTP');
+
+  CFStringRef get kCFProxyTypeFTP => _kCFProxyTypeFTP.value;
+
+  set kCFProxyTypeFTP(CFStringRef value) => _kCFProxyTypeFTP.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeAutoConfigurationURL =
+      _lookup<CFStringRef>('kCFProxyTypeAutoConfigurationURL');
+
+  CFStringRef get kCFProxyTypeAutoConfigurationURL =>
+      _kCFProxyTypeAutoConfigurationURL.value;
+
+  set kCFProxyTypeAutoConfigurationURL(CFStringRef value) =>
+      _kCFProxyTypeAutoConfigurationURL.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFProxyTypeAutoConfigurationJavaScript =
+      _lookup<CFStringRef>('kCFProxyTypeAutoConfigurationJavaScript');
+
+  CFStringRef get kCFProxyTypeAutoConfigurationJavaScript =>
+      _kCFProxyTypeAutoConfigurationJavaScript.value;
+
+  set kCFProxyTypeAutoConfigurationJavaScript(CFStringRef value) =>
+      _kCFProxyTypeAutoConfigurationJavaScript.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFProxyAutoConfigurationHTTPResponseKey =
+      _lookup<CFStringRef>('kCFProxyAutoConfigurationHTTPResponseKey');
+
+  CFStringRef get kCFProxyAutoConfigurationHTTPResponseKey =>
+      _kCFProxyAutoConfigurationHTTPResponseKey.value;
+
+  set kCFProxyAutoConfigurationHTTPResponseKey(CFStringRef value) =>
+      _kCFProxyAutoConfigurationHTTPResponseKey.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesExceptionsList =
+      _lookup<CFStringRef>('kCFNetworkProxiesExceptionsList');
+
+  CFStringRef get kCFNetworkProxiesExceptionsList =>
+      _kCFNetworkProxiesExceptionsList.value;
+
+  set kCFNetworkProxiesExceptionsList(CFStringRef value) =>
+      _kCFNetworkProxiesExceptionsList.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesExcludeSimpleHostnames =
+      _lookup<CFStringRef>('kCFNetworkProxiesExcludeSimpleHostnames');
+
+  CFStringRef get kCFNetworkProxiesExcludeSimpleHostnames =>
+      _kCFNetworkProxiesExcludeSimpleHostnames.value;
+
+  set kCFNetworkProxiesExcludeSimpleHostnames(CFStringRef value) =>
+      _kCFNetworkProxiesExcludeSimpleHostnames.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesFTPEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesFTPEnable');
+
+  CFStringRef get kCFNetworkProxiesFTPEnable =>
+      _kCFNetworkProxiesFTPEnable.value;
+
+  set kCFNetworkProxiesFTPEnable(CFStringRef value) =>
+      _kCFNetworkProxiesFTPEnable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesFTPPassive =
+      _lookup<CFStringRef>('kCFNetworkProxiesFTPPassive');
+
+  CFStringRef get kCFNetworkProxiesFTPPassive =>
+      _kCFNetworkProxiesFTPPassive.value;
+
+  set kCFNetworkProxiesFTPPassive(CFStringRef value) =>
+      _kCFNetworkProxiesFTPPassive.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesFTPPort =
+      _lookup<CFStringRef>('kCFNetworkProxiesFTPPort');
+
+  CFStringRef get kCFNetworkProxiesFTPPort => _kCFNetworkProxiesFTPPort.value;
+
+  set kCFNetworkProxiesFTPPort(CFStringRef value) =>
+      _kCFNetworkProxiesFTPPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesFTPProxy =
+      _lookup<CFStringRef>('kCFNetworkProxiesFTPProxy');
+
+  CFStringRef get kCFNetworkProxiesFTPProxy => _kCFNetworkProxiesFTPProxy.value;
+
+  set kCFNetworkProxiesFTPProxy(CFStringRef value) =>
+      _kCFNetworkProxiesFTPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesGopherEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesGopherEnable');
+
+  CFStringRef get kCFNetworkProxiesGopherEnable =>
+      _kCFNetworkProxiesGopherEnable.value;
+
+  set kCFNetworkProxiesGopherEnable(CFStringRef value) =>
+      _kCFNetworkProxiesGopherEnable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesGopherPort =
+      _lookup<CFStringRef>('kCFNetworkProxiesGopherPort');
+
+  CFStringRef get kCFNetworkProxiesGopherPort =>
+      _kCFNetworkProxiesGopherPort.value;
+
+  set kCFNetworkProxiesGopherPort(CFStringRef value) =>
+      _kCFNetworkProxiesGopherPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesGopherProxy =
+      _lookup<CFStringRef>('kCFNetworkProxiesGopherProxy');
+
+  CFStringRef get kCFNetworkProxiesGopherProxy =>
+      _kCFNetworkProxiesGopherProxy.value;
+
+  set kCFNetworkProxiesGopherProxy(CFStringRef value) =>
+      _kCFNetworkProxiesGopherProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesHTTPEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesHTTPEnable');
+
+  CFStringRef get kCFNetworkProxiesHTTPEnable =>
+      _kCFNetworkProxiesHTTPEnable.value;
+
+  set kCFNetworkProxiesHTTPEnable(CFStringRef value) =>
+      _kCFNetworkProxiesHTTPEnable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesHTTPPort =
+      _lookup<CFStringRef>('kCFNetworkProxiesHTTPPort');
+
+  CFStringRef get kCFNetworkProxiesHTTPPort => _kCFNetworkProxiesHTTPPort.value;
+
+  set kCFNetworkProxiesHTTPPort(CFStringRef value) =>
+      _kCFNetworkProxiesHTTPPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesHTTPProxy =
+      _lookup<CFStringRef>('kCFNetworkProxiesHTTPProxy');
+
+  CFStringRef get kCFNetworkProxiesHTTPProxy =>
+      _kCFNetworkProxiesHTTPProxy.value;
+
+  set kCFNetworkProxiesHTTPProxy(CFStringRef value) =>
+      _kCFNetworkProxiesHTTPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesHTTPSEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesHTTPSEnable');
+
+  CFStringRef get kCFNetworkProxiesHTTPSEnable =>
+      _kCFNetworkProxiesHTTPSEnable.value;
+
+  set kCFNetworkProxiesHTTPSEnable(CFStringRef value) =>
+      _kCFNetworkProxiesHTTPSEnable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesHTTPSPort =
+      _lookup<CFStringRef>('kCFNetworkProxiesHTTPSPort');
+
+  CFStringRef get kCFNetworkProxiesHTTPSPort =>
+      _kCFNetworkProxiesHTTPSPort.value;
+
+  set kCFNetworkProxiesHTTPSPort(CFStringRef value) =>
+      _kCFNetworkProxiesHTTPSPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesHTTPSProxy =
+      _lookup<CFStringRef>('kCFNetworkProxiesHTTPSProxy');
+
+  CFStringRef get kCFNetworkProxiesHTTPSProxy =>
+      _kCFNetworkProxiesHTTPSProxy.value;
+
+  set kCFNetworkProxiesHTTPSProxy(CFStringRef value) =>
+      _kCFNetworkProxiesHTTPSProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesRTSPEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesRTSPEnable');
+
+  CFStringRef get kCFNetworkProxiesRTSPEnable =>
+      _kCFNetworkProxiesRTSPEnable.value;
+
+  set kCFNetworkProxiesRTSPEnable(CFStringRef value) =>
+      _kCFNetworkProxiesRTSPEnable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesRTSPPort =
+      _lookup<CFStringRef>('kCFNetworkProxiesRTSPPort');
+
+  CFStringRef get kCFNetworkProxiesRTSPPort => _kCFNetworkProxiesRTSPPort.value;
+
+  set kCFNetworkProxiesRTSPPort(CFStringRef value) =>
+      _kCFNetworkProxiesRTSPPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesRTSPProxy =
+      _lookup<CFStringRef>('kCFNetworkProxiesRTSPProxy');
+
+  CFStringRef get kCFNetworkProxiesRTSPProxy =>
+      _kCFNetworkProxiesRTSPProxy.value;
+
+  set kCFNetworkProxiesRTSPProxy(CFStringRef value) =>
+      _kCFNetworkProxiesRTSPProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesSOCKSEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesSOCKSEnable');
+
+  CFStringRef get kCFNetworkProxiesSOCKSEnable =>
+      _kCFNetworkProxiesSOCKSEnable.value;
+
+  set kCFNetworkProxiesSOCKSEnable(CFStringRef value) =>
+      _kCFNetworkProxiesSOCKSEnable.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesSOCKSPort =
+      _lookup<CFStringRef>('kCFNetworkProxiesSOCKSPort');
+
+  CFStringRef get kCFNetworkProxiesSOCKSPort =>
+      _kCFNetworkProxiesSOCKSPort.value;
+
+  set kCFNetworkProxiesSOCKSPort(CFStringRef value) =>
+      _kCFNetworkProxiesSOCKSPort.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesSOCKSProxy =
+      _lookup<CFStringRef>('kCFNetworkProxiesSOCKSProxy');
+
+  CFStringRef get kCFNetworkProxiesSOCKSProxy =>
+      _kCFNetworkProxiesSOCKSProxy.value;
+
+  set kCFNetworkProxiesSOCKSProxy(CFStringRef value) =>
+      _kCFNetworkProxiesSOCKSProxy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kCFNetworkProxiesProxyAutoConfigEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesProxyAutoConfigEnable');
+
+  CFStringRef get kCFNetworkProxiesProxyAutoConfigEnable =>
+      _kCFNetworkProxiesProxyAutoConfigEnable.value;
+
+  set kCFNetworkProxiesProxyAutoConfigEnable(CFStringRef value) =>
+      _kCFNetworkProxiesProxyAutoConfigEnable.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFNetworkProxiesProxyAutoConfigURLString =
+      _lookup<CFStringRef>('kCFNetworkProxiesProxyAutoConfigURLString');
+
+  CFStringRef get kCFNetworkProxiesProxyAutoConfigURLString =>
+      _kCFNetworkProxiesProxyAutoConfigURLString.value;
+
+  set kCFNetworkProxiesProxyAutoConfigURLString(CFStringRef value) =>
+      _kCFNetworkProxiesProxyAutoConfigURLString.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFNetworkProxiesProxyAutoConfigJavaScript =
+      _lookup<CFStringRef>('kCFNetworkProxiesProxyAutoConfigJavaScript');
+
+  CFStringRef get kCFNetworkProxiesProxyAutoConfigJavaScript =>
+      _kCFNetworkProxiesProxyAutoConfigJavaScript.value;
+
+  set kCFNetworkProxiesProxyAutoConfigJavaScript(CFStringRef value) =>
+      _kCFNetworkProxiesProxyAutoConfigJavaScript.value = value;
+
+  late final ffi.Pointer<CFStringRef>
+      _kCFNetworkProxiesProxyAutoDiscoveryEnable =
+      _lookup<CFStringRef>('kCFNetworkProxiesProxyAutoDiscoveryEnable');
+
+  CFStringRef get kCFNetworkProxiesProxyAutoDiscoveryEnable =>
+      _kCFNetworkProxiesProxyAutoDiscoveryEnable.value;
+
+  set kCFNetworkProxiesProxyAutoDiscoveryEnable(CFStringRef value) =>
+      _kCFNetworkProxiesProxyAutoDiscoveryEnable.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSURLErrorDomain =
+      _lookup<NSErrorDomain>('NSURLErrorDomain');
+
+  NSErrorDomain get NSURLErrorDomain => _NSURLErrorDomain.value;
+
+  set NSURLErrorDomain(NSErrorDomain value) => _NSURLErrorDomain.value = value;
+
+  /// !
+  /// @const NSURLErrorFailingURLErrorKey
+  /// @abstract The NSError userInfo dictionary key used to store and retrieve the URL which caused a load to fail.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLErrorFailingURLErrorKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLErrorFailingURLErrorKey');
+
+  ffi.Pointer<ObjCObject> get NSURLErrorFailingURLErrorKey =>
+      _NSURLErrorFailingURLErrorKey.value;
+
+  set NSURLErrorFailingURLErrorKey(ffi.Pointer<ObjCObject> value) =>
+      _NSURLErrorFailingURLErrorKey.value = value;
+
+  /// !
+  /// @const NSURLErrorFailingURLStringErrorKey
+  /// @abstract The NSError userInfo dictionary key used to store and retrieve the NSString object for the URL which caused a load to fail.
+  /// @discussion This constant supersedes NSErrorFailingURLStringKey, which was deprecated in Mac OS X 10.6.  Both constants refer to the same value for backward-compatibility, but this symbol name has a better prefix.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLErrorFailingURLStringErrorKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLErrorFailingURLStringErrorKey');
+
+  ffi.Pointer<ObjCObject> get NSURLErrorFailingURLStringErrorKey =>
+      _NSURLErrorFailingURLStringErrorKey.value;
+
+  set NSURLErrorFailingURLStringErrorKey(ffi.Pointer<ObjCObject> value) =>
+      _NSURLErrorFailingURLStringErrorKey.value = value;
+
+  /// !
+  /// @const NSErrorFailingURLStringKey
+  /// @abstract The NSError userInfo dictionary key used to store and retrieve the NSString object for the URL which caused a load to fail.
+  /// @discussion This constant is deprecated in Mac OS X 10.6, and is superseded by NSURLErrorFailingURLStringErrorKey.  Both constants refer to the same value for backward-compatibility, but the new symbol name has a better prefix.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSErrorFailingURLStringKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSErrorFailingURLStringKey');
+
+  ffi.Pointer<ObjCObject> get NSErrorFailingURLStringKey =>
+      _NSErrorFailingURLStringKey.value;
+
+  set NSErrorFailingURLStringKey(ffi.Pointer<ObjCObject> value) =>
+      _NSErrorFailingURLStringKey.value = value;
+
+  /// !
+  /// @const NSURLErrorFailingURLPeerTrustErrorKey
+  /// @abstract The NSError userInfo dictionary key used to store and retrieve the SecTrustRef object representing the state of a failed SSL handshake.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLErrorFailingURLPeerTrustErrorKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLErrorFailingURLPeerTrustErrorKey');
+
+  ffi.Pointer<ObjCObject> get NSURLErrorFailingURLPeerTrustErrorKey =>
+      _NSURLErrorFailingURLPeerTrustErrorKey.value;
+
+  set NSURLErrorFailingURLPeerTrustErrorKey(ffi.Pointer<ObjCObject> value) =>
+      _NSURLErrorFailingURLPeerTrustErrorKey.value = value;
+
+  /// !
+  /// @const NSURLErrorBackgroundTaskCancelledReasonKey
+  /// @abstract The NSError userInfo dictionary key used to store and retrieve the NSNumber corresponding to the reason why a background
+  /// NSURLSessionTask was cancelled
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLErrorBackgroundTaskCancelledReasonKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSURLErrorBackgroundTaskCancelledReasonKey');
+
+  ffi.Pointer<ObjCObject> get NSURLErrorBackgroundTaskCancelledReasonKey =>
+      _NSURLErrorBackgroundTaskCancelledReasonKey.value;
+
+  set NSURLErrorBackgroundTaskCancelledReasonKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSURLErrorBackgroundTaskCancelledReasonKey.value = value;
+
+  /// !
+  /// @const NSURLErrorNetworkUnavailableReasonKey
+  /// @abstract The NSErrorUserInfoKey used to store and retrieve the NSNumber object corresponding to the reason why the network is unavailable when the task failed due to unsatisfiable network constraints.  See the NSURLErrorNetworkUnavailableReason enum for details.
+  late final ffi.Pointer<NSErrorUserInfoKey>
+      _NSURLErrorNetworkUnavailableReasonKey =
+      _lookup<NSErrorUserInfoKey>('NSURLErrorNetworkUnavailableReasonKey');
+
+  NSErrorUserInfoKey get NSURLErrorNetworkUnavailableReasonKey =>
+      _NSURLErrorNetworkUnavailableReasonKey.value;
+
+  set NSURLErrorNetworkUnavailableReasonKey(NSErrorUserInfoKey value) =>
+      _NSURLErrorNetworkUnavailableReasonKey.value = value;
+
+  late final _class_NSURLProtocol1 = _getClass1("NSURLProtocol");
+  late final _sel_initWithRequest_cachedResponse_client_1 =
+      _registerName1("initWithRequest:cachedResponse:client:");
+  instancetype _objc_msgSend_798(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> cachedResponse,
+    ffi.Pointer<ObjCObject> client,
+  ) {
+    return __objc_msgSend_798(
+      obj,
+      sel,
+      request,
+      cachedResponse,
+      client,
+    );
+  }
+
+  late final __objc_msgSend_798Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_798 = __objc_msgSend_798Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_client1 = _registerName1("client");
+  late final _sel_request1 = _registerName1("request");
+  late final _sel_cachedResponse1 = _registerName1("cachedResponse");
+  ffi.Pointer<ObjCObject> _objc_msgSend_799(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_799(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_799Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_799 = __objc_msgSend_799Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_canInitWithRequest_1 = _registerName1("canInitWithRequest:");
+  late final _sel_canonicalRequestForRequest_1 =
+      _registerName1("canonicalRequestForRequest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_800(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_800(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_800Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_800 = __objc_msgSend_800Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_requestIsCacheEquivalent_toRequest_1 =
+      _registerName1("requestIsCacheEquivalent:toRequest:");
+  bool _objc_msgSend_801(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> a,
+    ffi.Pointer<ObjCObject> b,
+  ) {
+    return __objc_msgSend_801(
+      obj,
+      sel,
+      a,
+      b,
+    );
+  }
+
+  late final __objc_msgSend_801Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_801 = __objc_msgSend_801Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_startLoading1 = _registerName1("startLoading");
+  late final _sel_stopLoading1 = _registerName1("stopLoading");
+  late final _sel_propertyForKey_inRequest_1 =
+      _registerName1("propertyForKey:inRequest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_802(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_802(
+      obj,
+      sel,
+      key,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_802Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_802 = __objc_msgSend_802Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSMutableURLRequest1 = _getClass1("NSMutableURLRequest");
+  late final _sel_setURL_1 = _registerName1("setURL:");
+  late final _sel_setCachePolicy_1 = _registerName1("setCachePolicy:");
+  void _objc_msgSend_803(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_803(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_803Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_803 = __objc_msgSend_803Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_setTimeoutInterval_1 = _registerName1("setTimeoutInterval:");
+  late final _sel_setMainDocumentURL_1 = _registerName1("setMainDocumentURL:");
+  late final _sel_setNetworkServiceType_1 =
+      _registerName1("setNetworkServiceType:");
+  void _objc_msgSend_804(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_804(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_804Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_804 = __objc_msgSend_804Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_setAllowsCellularAccess_1 =
+      _registerName1("setAllowsCellularAccess:");
+  late final _sel_setAllowsExpensiveNetworkAccess_1 =
+      _registerName1("setAllowsExpensiveNetworkAccess:");
+  late final _sel_setAllowsConstrainedNetworkAccess_1 =
+      _registerName1("setAllowsConstrainedNetworkAccess:");
+  late final _sel_setAssumesHTTP3Capable_1 =
+      _registerName1("setAssumesHTTP3Capable:");
+  late final _sel_setAttribution_1 = _registerName1("setAttribution:");
+  void _objc_msgSend_805(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_805(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_805Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_805 = __objc_msgSend_805Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_setRequiresDNSSECValidation_1 =
+      _registerName1("setRequiresDNSSECValidation:");
+  late final _sel_setHTTPMethod_1 = _registerName1("setHTTPMethod:");
+  late final _sel_setAllHTTPHeaderFields_1 =
+      _registerName1("setAllHTTPHeaderFields:");
+  late final _sel_setValue_forHTTPHeaderField_1 =
+      _registerName1("setValue:forHTTPHeaderField:");
+  late final _sel_addValue_forHTTPHeaderField_1 =
+      _registerName1("addValue:forHTTPHeaderField:");
+  late final _sel_setHTTPBody_1 = _registerName1("setHTTPBody:");
+  void _objc_msgSend_806(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_806(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_806Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_806 = __objc_msgSend_806Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setHTTPBodyStream_1 = _registerName1("setHTTPBodyStream:");
+  void _objc_msgSend_807(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_807(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_807Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_807 = __objc_msgSend_807Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_setHTTPShouldHandleCookies_1 =
+      _registerName1("setHTTPShouldHandleCookies:");
+  late final _sel_setHTTPShouldUsePipelining_1 =
+      _registerName1("setHTTPShouldUsePipelining:");
+  late final _sel_setProperty_forKey_inRequest_1 =
+      _registerName1("setProperty:forKey:inRequest:");
+  void _objc_msgSend_808(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_808(
+      obj,
+      sel,
+      value,
+      key,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_808Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_808 = __objc_msgSend_808Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_removePropertyForKey_inRequest_1 =
+      _registerName1("removePropertyForKey:inRequest:");
+  void _objc_msgSend_809(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> key,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_809(
+      obj,
+      sel,
+      key,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_809Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_809 = __objc_msgSend_809Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_registerClass_1 = _registerName1("registerClass:");
+  late final _sel_unregisterClass_1 = _registerName1("unregisterClass:");
+  late final _sel_canInitWithTask_1 = _registerName1("canInitWithTask:");
+  bool _objc_msgSend_810(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> task,
+  ) {
+    return __objc_msgSend_810(
+      obj,
+      sel,
+      task,
+    );
+  }
+
+  late final __objc_msgSend_810Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_810 = __objc_msgSend_810Ptr.asFunction<
+      bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_initWithTask_cachedResponse_client_1 =
+      _registerName1("initWithTask:cachedResponse:client:");
+  instancetype _objc_msgSend_811(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> task,
+    ffi.Pointer<ObjCObject> cachedResponse,
+    ffi.Pointer<ObjCObject> client,
+  ) {
+    return __objc_msgSend_811(
+      obj,
+      sel,
+      task,
+      cachedResponse,
+      client,
+    );
+  }
+
+  late final __objc_msgSend_811Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_811 = __objc_msgSend_811Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_task1 = _registerName1("task");
+  ffi.Pointer<ObjCObject> _objc_msgSend_812(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_812(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_812Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_812 = __objc_msgSend_812Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  /// NSGlobalDomain identifies a domain shared between all applications for a given user. NSGlobalDomain is automatically included in all search lists, after the entries for the search list's domain.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSGlobalDomain =
+      _lookup<ffi.Pointer<ObjCObject>>('NSGlobalDomain');
+
+  ffi.Pointer<ObjCObject> get NSGlobalDomain => _NSGlobalDomain.value;
+
+  set NSGlobalDomain(ffi.Pointer<ObjCObject> value) =>
+      _NSGlobalDomain.value = value;
+
+  /// NSArgumentDomain identifies a search list entry containing the commandline arguments the application was launched with, if any. Arguments must be formatted as '-key plistvalue'. NSArgumentDomain is automatically included in all search lists, after forced defaults, but before all other entries. This can be useful for testing purposes.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSArgumentDomain =
+      _lookup<ffi.Pointer<ObjCObject>>('NSArgumentDomain');
+
+  ffi.Pointer<ObjCObject> get NSArgumentDomain => _NSArgumentDomain.value;
+
+  set NSArgumentDomain(ffi.Pointer<ObjCObject> value) =>
+      _NSArgumentDomain.value = value;
+
+  /// NSRegistrationDomain identifies a search list entry containing all defaults set with -registerDefaults:, if any. NSRegistrationDomain is automatically included as the final entry of all search lists.
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSRegistrationDomain =
+      _lookup<ffi.Pointer<ObjCObject>>('NSRegistrationDomain');
+
+  ffi.Pointer<ObjCObject> get NSRegistrationDomain =>
+      _NSRegistrationDomain.value;
+
+  set NSRegistrationDomain(ffi.Pointer<ObjCObject> value) =>
+      _NSRegistrationDomain.value = value;
+
+  /// !
+  /// NSUserDefaultsSizeLimitExceededNotification is posted on the main queue when more data is stored in user defaults than is allowed. Currently there is no limit for local user defaults except on tvOS, where a warning notification will be posted at 512kB, and the process terminated at 1MB. For ubiquitous defaults, the limit depends on the logged in iCloud user.
+  late final ffi.Pointer<NSNotificationName>
+      _NSUserDefaultsSizeLimitExceededNotification =
+      _lookup<NSNotificationName>(
+          'NSUserDefaultsSizeLimitExceededNotification');
+
+  NSNotificationName get NSUserDefaultsSizeLimitExceededNotification =>
+      _NSUserDefaultsSizeLimitExceededNotification.value;
+
+  set NSUserDefaultsSizeLimitExceededNotification(NSNotificationName value) =>
+      _NSUserDefaultsSizeLimitExceededNotification.value = value;
+
+  /// !
+  /// NSUbiquitousUserDefaultsNoCloudAccountNotification is posted on the main queue to the default notification center when a cloud default is set, but no iCloud user is logged in.
+  ///
+  /// This is not necessarily an error: ubiquitous defaults set when no iCloud user is logged in will be uploaded the next time one is available if configured to do so.
+  late final ffi.Pointer<NSNotificationName>
+      _NSUbiquitousUserDefaultsNoCloudAccountNotification =
+      _lookup<NSNotificationName>(
+          'NSUbiquitousUserDefaultsNoCloudAccountNotification');
+
+  NSNotificationName get NSUbiquitousUserDefaultsNoCloudAccountNotification =>
+      _NSUbiquitousUserDefaultsNoCloudAccountNotification.value;
+
+  set NSUbiquitousUserDefaultsNoCloudAccountNotification(
+          NSNotificationName value) =>
+      _NSUbiquitousUserDefaultsNoCloudAccountNotification.value = value;
+
+  /// !
+  /// NSUbiquitousUserDefaultsDidChangeAccountsNotification is posted on the main queue to the default notification center when the user changes the primary iCloud account. The keys and values in the local key-value store have been replaced with those from the new account, regardless of the relative timestamps.
+  late final ffi.Pointer<NSNotificationName>
+      _NSUbiquitousUserDefaultsDidChangeAccountsNotification =
+      _lookup<NSNotificationName>(
+          'NSUbiquitousUserDefaultsDidChangeAccountsNotification');
+
+  NSNotificationName
+      get NSUbiquitousUserDefaultsDidChangeAccountsNotification =>
+          _NSUbiquitousUserDefaultsDidChangeAccountsNotification.value;
+
+  set NSUbiquitousUserDefaultsDidChangeAccountsNotification(
+          NSNotificationName value) =>
+      _NSUbiquitousUserDefaultsDidChangeAccountsNotification.value = value;
+
+  /// !
+  /// NSUbiquitousUserDefaultsCompletedInitialSyncNotification is posted on the main queue when ubiquitous defaults finish downloading the first time a device is connected to an iCloud account, and when a user switches their primary iCloud account.
+  late final ffi.Pointer<NSNotificationName>
+      _NSUbiquitousUserDefaultsCompletedInitialSyncNotification =
+      _lookup<NSNotificationName>(
+          'NSUbiquitousUserDefaultsCompletedInitialSyncNotification');
+
+  NSNotificationName
+      get NSUbiquitousUserDefaultsCompletedInitialSyncNotification =>
+          _NSUbiquitousUserDefaultsCompletedInitialSyncNotification.value;
+
+  set NSUbiquitousUserDefaultsCompletedInitialSyncNotification(
+          NSNotificationName value) =>
+      _NSUbiquitousUserDefaultsCompletedInitialSyncNotification.value = value;
+
+  /// !
+  /// NSUserDefaultsDidChangeNotification is posted whenever any user defaults changed within the current process, but is not posted when ubiquitous defaults change, or when an outside process changes defaults. Using key-value observing to register observers for the specific keys of interest will inform you of all updates, regardless of where they're from.
+  late final ffi.Pointer<NSNotificationName>
+      _NSUserDefaultsDidChangeNotification =
+      _lookup<NSNotificationName>('NSUserDefaultsDidChangeNotification');
+
+  NSNotificationName get NSUserDefaultsDidChangeNotification =>
+      _NSUserDefaultsDidChangeNotification.value;
+
+  set NSUserDefaultsDidChangeNotification(NSNotificationName value) =>
+      _NSUserDefaultsDidChangeNotification.value = value;
+
+  late final ffi.Pointer<NSValueTransformerName>
+      _NSNegateBooleanTransformerName =
+      _lookup<NSValueTransformerName>('NSNegateBooleanTransformerName');
+
+  NSValueTransformerName get NSNegateBooleanTransformerName =>
+      _NSNegateBooleanTransformerName.value;
+
+  set NSNegateBooleanTransformerName(NSValueTransformerName value) =>
+      _NSNegateBooleanTransformerName.value = value;
+
+  late final ffi.Pointer<NSValueTransformerName> _NSIsNilTransformerName =
+      _lookup<NSValueTransformerName>('NSIsNilTransformerName');
+
+  NSValueTransformerName get NSIsNilTransformerName =>
+      _NSIsNilTransformerName.value;
+
+  set NSIsNilTransformerName(NSValueTransformerName value) =>
+      _NSIsNilTransformerName.value = value;
+
+  late final ffi.Pointer<NSValueTransformerName> _NSIsNotNilTransformerName =
+      _lookup<NSValueTransformerName>('NSIsNotNilTransformerName');
+
+  NSValueTransformerName get NSIsNotNilTransformerName =>
+      _NSIsNotNilTransformerName.value;
+
+  set NSIsNotNilTransformerName(NSValueTransformerName value) =>
+      _NSIsNotNilTransformerName.value = value;
+
+  late final ffi.Pointer<NSValueTransformerName>
+      _NSUnarchiveFromDataTransformerName =
+      _lookup<NSValueTransformerName>('NSUnarchiveFromDataTransformerName');
+
+  NSValueTransformerName get NSUnarchiveFromDataTransformerName =>
+      _NSUnarchiveFromDataTransformerName.value;
+
+  set NSUnarchiveFromDataTransformerName(NSValueTransformerName value) =>
+      _NSUnarchiveFromDataTransformerName.value = value;
+
+  late final ffi.Pointer<NSValueTransformerName>
+      _NSKeyedUnarchiveFromDataTransformerName =
+      _lookup<NSValueTransformerName>(
+          'NSKeyedUnarchiveFromDataTransformerName');
+
+  NSValueTransformerName get NSKeyedUnarchiveFromDataTransformerName =>
+      _NSKeyedUnarchiveFromDataTransformerName.value;
+
+  set NSKeyedUnarchiveFromDataTransformerName(NSValueTransformerName value) =>
+      _NSKeyedUnarchiveFromDataTransformerName.value = value;
+
+  late final ffi.Pointer<NSValueTransformerName>
+      _NSSecureUnarchiveFromDataTransformerName =
+      _lookup<NSValueTransformerName>(
+          'NSSecureUnarchiveFromDataTransformerName');
+
+  NSValueTransformerName get NSSecureUnarchiveFromDataTransformerName =>
+      _NSSecureUnarchiveFromDataTransformerName.value;
+
+  set NSSecureUnarchiveFromDataTransformerName(NSValueTransformerName value) =>
+      _NSSecureUnarchiveFromDataTransformerName.value = value;
+
+  late final _class_NSXMLParser1 = _getClass1("NSXMLParser");
+  late final _sel_initWithStream_1 = _registerName1("initWithStream:");
+  instancetype _objc_msgSend_813(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> stream,
+  ) {
+    return __objc_msgSend_813(
+      obj,
+      sel,
+      stream,
+    );
+  }
+
+  late final __objc_msgSend_813Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_813 = __objc_msgSend_813Ptr.asFunction<
+      instancetype Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_shouldProcessNamespaces1 =
+      _registerName1("shouldProcessNamespaces");
+  late final _sel_setShouldProcessNamespaces_1 =
+      _registerName1("setShouldProcessNamespaces:");
+  late final _sel_shouldReportNamespacePrefixes1 =
+      _registerName1("shouldReportNamespacePrefixes");
+  late final _sel_setShouldReportNamespacePrefixes_1 =
+      _registerName1("setShouldReportNamespacePrefixes:");
+  late final _sel_externalEntityResolvingPolicy1 =
+      _registerName1("externalEntityResolvingPolicy");
+  int _objc_msgSend_814(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_814(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_814Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_814 = __objc_msgSend_814Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setExternalEntityResolvingPolicy_1 =
+      _registerName1("setExternalEntityResolvingPolicy:");
+  void _objc_msgSend_815(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_815(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_815Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_815 = __objc_msgSend_815Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_allowedExternalEntityURLs1 =
+      _registerName1("allowedExternalEntityURLs");
+  late final _sel_setAllowedExternalEntityURLs_1 =
+      _registerName1("setAllowedExternalEntityURLs:");
+  void _objc_msgSend_816(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_816(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_816Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_816 = __objc_msgSend_816Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_parse1 = _registerName1("parse");
+  late final _sel_abortParsing1 = _registerName1("abortParsing");
+  late final _sel_parserError1 = _registerName1("parserError");
+  late final _sel_shouldResolveExternalEntities1 =
+      _registerName1("shouldResolveExternalEntities");
+  late final _sel_setShouldResolveExternalEntities_1 =
+      _registerName1("setShouldResolveExternalEntities:");
+  late final _sel_publicID1 = _registerName1("publicID");
+  late final _sel_systemID1 = _registerName1("systemID");
+  late final _sel_lineNumber1 = _registerName1("lineNumber");
+  late final _sel_columnNumber1 = _registerName1("columnNumber");
+  late final ffi.Pointer<NSErrorDomain> _NSXMLParserErrorDomain =
+      _lookup<NSErrorDomain>('NSXMLParserErrorDomain');
+
+  NSErrorDomain get NSXMLParserErrorDomain => _NSXMLParserErrorDomain.value;
+
+  set NSXMLParserErrorDomain(NSErrorDomain value) =>
+      _NSXMLParserErrorDomain.value = value;
+
+  int audit(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+  ) {
+    return _audit(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _auditPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Int)>>(
+      'audit');
+  late final _audit =
+      _auditPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int)>();
+
+  int auditon(
+    int arg0,
+    ffi.Pointer<ffi.Void> arg1,
+    int arg2,
+  ) {
+    return _auditon(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _auditonPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Int, ffi.Pointer<ffi.Void>, ffi.Int)>>('auditon');
+  late final _auditon =
+      _auditonPtr.asFunction<int Function(int, ffi.Pointer<ffi.Void>, int)>();
+
+  int auditctl(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _auditctl(
+      arg0,
+    );
+  }
+
+  late final _auditctlPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'auditctl');
+  late final _auditctl =
+      _auditctlPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int getauid(
+    ffi.Pointer<au_id_t> arg0,
+  ) {
+    return _getauid(
+      arg0,
+    );
+  }
+
+  late final _getauidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<au_id_t>)>>(
+          'getauid');
+  late final _getauid =
+      _getauidPtr.asFunction<int Function(ffi.Pointer<au_id_t>)>();
+
+  int setauid(
+    ffi.Pointer<au_id_t> arg0,
+  ) {
+    return _setauid(
+      arg0,
+    );
+  }
+
+  late final _setauidPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<au_id_t>)>>(
+          'setauid');
+  late final _setauid =
+      _setauidPtr.asFunction<int Function(ffi.Pointer<au_id_t>)>();
+
+  int getaudit_addr(
+    ffi.Pointer<auditinfo_addr> arg0,
+    int arg1,
+  ) {
+    return _getaudit_addr(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _getaudit_addrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<auditinfo_addr>, ffi.Int)>>('getaudit_addr');
+  late final _getaudit_addr = _getaudit_addrPtr
+      .asFunction<int Function(ffi.Pointer<auditinfo_addr>, int)>();
+
+  int setaudit_addr(
+    ffi.Pointer<auditinfo_addr> arg0,
+    int arg1,
+  ) {
+    return _setaudit_addr(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _setaudit_addrPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<auditinfo_addr>, ffi.Int)>>('setaudit_addr');
+  late final _setaudit_addr = _setaudit_addrPtr
+      .asFunction<int Function(ffi.Pointer<auditinfo_addr>, int)>();
+
+  int getaudit(
+    ffi.Pointer<auditinfo> arg0,
+  ) {
+    return _getaudit(
+      arg0,
+    );
+  }
+
+  late final _getauditPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<auditinfo>)>>(
+          'getaudit');
+  late final _getaudit =
+      _getauditPtr.asFunction<int Function(ffi.Pointer<auditinfo>)>();
+
+  int setaudit(
+    ffi.Pointer<auditinfo> arg0,
+  ) {
+    return _setaudit(
+      arg0,
+    );
+  }
+
+  late final _setauditPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<auditinfo>)>>(
+          'setaudit');
+  late final _setaudit =
+      _setauditPtr.asFunction<int Function(ffi.Pointer<auditinfo>)>();
+
+  int audit_session_self() {
+    return _audit_session_self();
+  }
+
+  late final _audit_session_selfPtr =
+      _lookup<ffi.NativeFunction<mach_port_name_t Function()>>(
+          'audit_session_self');
+  late final _audit_session_self =
+      _audit_session_selfPtr.asFunction<int Function()>();
+
+  int audit_session_join(
+    int port,
+  ) {
+    return _audit_session_join(
+      port,
+    );
+  }
+
+  late final _audit_session_joinPtr =
+      _lookup<ffi.NativeFunction<au_asid_t Function(mach_port_name_t)>>(
+          'audit_session_join');
+  late final _audit_session_join =
+      _audit_session_joinPtr.asFunction<int Function(int)>();
+
+  int audit_session_port(
+    int asid,
+    ffi.Pointer<mach_port_name_t> portname,
+  ) {
+    return _audit_session_port(
+      asid,
+      portname,
+    );
+  }
+
+  late final _audit_session_portPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              au_asid_t, ffi.Pointer<mach_port_name_t>)>>('audit_session_port');
+  late final _audit_session_port = _audit_session_portPtr
+      .asFunction<int Function(int, ffi.Pointer<mach_port_name_t>)>();
+
+  int mlockall(
+    int arg0,
+  ) {
+    return _mlockall(
+      arg0,
+    );
+  }
+
+  late final _mlockallPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int)>>('mlockall');
+  late final _mlockall = _mlockallPtr.asFunction<int Function(int)>();
+
+  int munlockall() {
+    return _munlockall();
+  }
+
+  late final _munlockallPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('munlockall');
+  late final _munlockall = _munlockallPtr.asFunction<int Function()>();
+
+  int mlock(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+  ) {
+    return _mlock(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _mlockPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Size)>>(
+      'mlock');
+  late final _mlock =
+      _mlockPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int)>();
+
+  ffi.Pointer<ffi.Void> mmap(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+    int arg4,
+    int arg5,
+  ) {
+    return _mmap(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+      arg4,
+      arg5,
+    );
+  }
+
+  late final _mmapPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>, ffi.Size,
+              ffi.Int, ffi.Int, ffi.Int, off_t)>>('mmap');
+  late final _mmap = _mmapPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          ffi.Pointer<ffi.Void>, int, int, int, int, int)>();
+
+  int mprotect(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _mprotect(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _mprotectPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, ffi.Size, ffi.Int)>>('mprotect');
+  late final _mprotect =
+      _mprotectPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int, int)>();
+
+  int msync(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _msync(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _msyncPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Size, ffi.Int)>>('msync');
+  late final _msync =
+      _msyncPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int, int)>();
+
+  int munlock(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+  ) {
+    return _munlock(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _munlockPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Size)>>(
+      'munlock');
+  late final _munlock =
+      _munlockPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int)>();
+
+  int munmap(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+  ) {
+    return _munmap(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _munmapPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Size)>>(
+      'munmap');
+  late final _munmap =
+      _munmapPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int)>();
+
+  int shm_open(
+    ffi.Pointer<ffi.Char> arg0,
+    int arg1,
+  ) {
+    return _shm_open(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _shm_openPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Int)>>(
+      'shm_open');
+  late final _shm_open =
+      _shm_openPtr.asFunction<int Function(ffi.Pointer<ffi.Char>, int)>();
+
+  int shm_unlink(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _shm_unlink(
+      arg0,
+    );
+  }
+
+  late final _shm_unlinkPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Char>)>>(
+          'shm_unlink');
+  late final _shm_unlink =
+      _shm_unlinkPtr.asFunction<int Function(ffi.Pointer<ffi.Char>)>();
+
+  int posix_madvise(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _posix_madvise(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _posix_madvisePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, ffi.Size, ffi.Int)>>('posix_madvise');
+  late final _posix_madvise = _posix_madvisePtr
+      .asFunction<int Function(ffi.Pointer<ffi.Void>, int, int)>();
+
+  int madvise(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _madvise(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _madvisePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, ffi.Size, ffi.Int)>>('madvise');
+  late final _madvise =
+      _madvisePtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int, int)>();
+
+  int mincore(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Char> arg2,
+  ) {
+    return _mincore(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _mincorePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Void>, ffi.Size,
+              ffi.Pointer<ffi.Char>)>>('mincore');
+  late final _mincore = _mincorePtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, int, ffi.Pointer<ffi.Char>)>();
+
+  int minherit(
+    ffi.Pointer<ffi.Void> arg0,
+    int arg1,
+    int arg2,
+  ) {
+    return _minherit(
+      arg0,
+      arg1,
+      arg2,
+    );
+  }
+
+  late final _minheritPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, ffi.Size, ffi.Int)>>('minherit');
+  late final _minherit =
+      _minheritPtr.asFunction<int Function(ffi.Pointer<ffi.Void>, int, int)>();
+
+  late final ffi.Pointer<ffi.Pointer<ffi.UnsignedChar>> _UUID_NULL =
+      _lookup<ffi.Pointer<ffi.UnsignedChar>>('UUID_NULL');
+
+  ffi.Pointer<ffi.UnsignedChar> get UUID_NULL => _UUID_NULL.value;
+
+  set UUID_NULL(ffi.Pointer<ffi.UnsignedChar> value) =>
+      _UUID_NULL.value = value;
+
+  void uuid_clear(
+    ffi.Pointer<ffi.UnsignedChar> uu,
+  ) {
+    return _uuid_clear(
+      uu,
+    );
+  }
+
+  late final _uuid_clearPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>)>>(
+      'uuid_clear');
+  late final _uuid_clear =
+      _uuid_clearPtr.asFunction<void Function(ffi.Pointer<ffi.UnsignedChar>)>();
+
+  int uuid_compare(
+    ffi.Pointer<ffi.UnsignedChar> uu1,
+    ffi.Pointer<ffi.UnsignedChar> uu2,
+  ) {
+    return _uuid_compare(
+      uu1,
+      uu2,
+    );
+  }
+
+  late final _uuid_comparePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.UnsignedChar>,
+              ffi.Pointer<ffi.UnsignedChar>)>>('uuid_compare');
+  late final _uuid_compare = _uuid_comparePtr.asFunction<
+      int Function(
+          ffi.Pointer<ffi.UnsignedChar>, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  void uuid_copy(
+    ffi.Pointer<ffi.UnsignedChar> dst,
+    ffi.Pointer<ffi.UnsignedChar> src,
+  ) {
+    return _uuid_copy(
+      dst,
+      src,
+    );
+  }
+
+  late final _uuid_copyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>,
+              ffi.Pointer<ffi.UnsignedChar>)>>('uuid_copy');
+  late final _uuid_copy = _uuid_copyPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.UnsignedChar>, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  void uuid_generate(
+    ffi.Pointer<ffi.UnsignedChar> out,
+  ) {
+    return _uuid_generate(
+      out,
+    );
+  }
+
+  late final _uuid_generatePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>)>>(
+      'uuid_generate');
+  late final _uuid_generate = _uuid_generatePtr
+      .asFunction<void Function(ffi.Pointer<ffi.UnsignedChar>)>();
+
+  void uuid_generate_random(
+    ffi.Pointer<ffi.UnsignedChar> out,
+  ) {
+    return _uuid_generate_random(
+      out,
+    );
+  }
+
+  late final _uuid_generate_randomPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>)>>(
+      'uuid_generate_random');
+  late final _uuid_generate_random = _uuid_generate_randomPtr
+      .asFunction<void Function(ffi.Pointer<ffi.UnsignedChar>)>();
+
+  void uuid_generate_time(
+    ffi.Pointer<ffi.UnsignedChar> out,
+  ) {
+    return _uuid_generate_time(
+      out,
+    );
+  }
+
+  late final _uuid_generate_timePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>)>>(
+      'uuid_generate_time');
+  late final _uuid_generate_time = _uuid_generate_timePtr
+      .asFunction<void Function(ffi.Pointer<ffi.UnsignedChar>)>();
+
+  int uuid_is_null(
+    ffi.Pointer<ffi.UnsignedChar> uu,
+  ) {
+    return _uuid_is_null(
+      uu,
+    );
+  }
+
+  late final _uuid_is_nullPtr = _lookup<
+          ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.UnsignedChar>)>>(
+      'uuid_is_null');
+  late final _uuid_is_null = _uuid_is_nullPtr
+      .asFunction<int Function(ffi.Pointer<ffi.UnsignedChar>)>();
+
+  int uuid_parse(
+    ffi.Pointer<ffi.Char> in1,
+    ffi.Pointer<ffi.UnsignedChar> uu,
+  ) {
+    return _uuid_parse(
+      in1,
+      uu,
+    );
+  }
+
+  late final _uuid_parsePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.UnsignedChar>)>>('uuid_parse');
+  late final _uuid_parse = _uuid_parsePtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  void uuid_unparse(
+    ffi.Pointer<ffi.UnsignedChar> uu,
+    ffi.Pointer<ffi.Char> out,
+  ) {
+    return _uuid_unparse(
+      uu,
+      out,
+    );
+  }
+
+  late final _uuid_unparsePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>,
+              ffi.Pointer<ffi.Char>)>>('uuid_unparse');
+  late final _uuid_unparse = _uuid_unparsePtr.asFunction<
+      void Function(ffi.Pointer<ffi.UnsignedChar>, ffi.Pointer<ffi.Char>)>();
+
+  void uuid_unparse_lower(
+    ffi.Pointer<ffi.UnsignedChar> uu,
+    ffi.Pointer<ffi.Char> out,
+  ) {
+    return _uuid_unparse_lower(
+      uu,
+      out,
+    );
+  }
+
+  late final _uuid_unparse_lowerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>,
+              ffi.Pointer<ffi.Char>)>>('uuid_unparse_lower');
+  late final _uuid_unparse_lower = _uuid_unparse_lowerPtr.asFunction<
+      void Function(ffi.Pointer<ffi.UnsignedChar>, ffi.Pointer<ffi.Char>)>();
+
+  void uuid_unparse_upper(
+    ffi.Pointer<ffi.UnsignedChar> uu,
+    ffi.Pointer<ffi.Char> out,
+  ) {
+    return _uuid_unparse_upper(
+      uu,
+      out,
+    );
+  }
+
+  late final _uuid_unparse_upperPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.UnsignedChar>,
+              ffi.Pointer<ffi.Char>)>>('uuid_unparse_upper');
+  late final _uuid_unparse_upper = _uuid_unparse_upperPtr.asFunction<
+      void Function(ffi.Pointer<ffi.UnsignedChar>, ffi.Pointer<ffi.Char>)>();
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_connection =
+      _lookup<_xpc_type_s>('_xpc_type_connection');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_connection => __xpc_type_connection;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_endpoint =
+      _lookup<_xpc_type_s>('_xpc_type_endpoint');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_endpoint => __xpc_type_endpoint;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_null =
+      _lookup<_xpc_type_s>('_xpc_type_null');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_null => __xpc_type_null;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_bool =
+      _lookup<_xpc_type_s>('_xpc_type_bool');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_bool => __xpc_type_bool;
+
+  late final ffi.Pointer<_xpc_bool_s> __xpc_bool_true =
+      _lookup<_xpc_bool_s>('_xpc_bool_true');
+
+  ffi.Pointer<_xpc_bool_s> get _xpc_bool_true => __xpc_bool_true;
+
+  late final ffi.Pointer<_xpc_bool_s> __xpc_bool_false =
+      _lookup<_xpc_bool_s>('_xpc_bool_false');
+
+  ffi.Pointer<_xpc_bool_s> get _xpc_bool_false => __xpc_bool_false;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_int64 =
+      _lookup<_xpc_type_s>('_xpc_type_int64');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_int64 => __xpc_type_int64;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_uint64 =
+      _lookup<_xpc_type_s>('_xpc_type_uint64');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_uint64 => __xpc_type_uint64;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_double =
+      _lookup<_xpc_type_s>('_xpc_type_double');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_double => __xpc_type_double;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_date =
+      _lookup<_xpc_type_s>('_xpc_type_date');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_date => __xpc_type_date;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_data =
+      _lookup<_xpc_type_s>('_xpc_type_data');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_data => __xpc_type_data;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_string =
+      _lookup<_xpc_type_s>('_xpc_type_string');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_string => __xpc_type_string;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_uuid =
+      _lookup<_xpc_type_s>('_xpc_type_uuid');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_uuid => __xpc_type_uuid;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_fd =
+      _lookup<_xpc_type_s>('_xpc_type_fd');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_fd => __xpc_type_fd;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_shmem =
+      _lookup<_xpc_type_s>('_xpc_type_shmem');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_shmem => __xpc_type_shmem;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_array =
+      _lookup<_xpc_type_s>('_xpc_type_array');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_array => __xpc_type_array;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_dictionary =
+      _lookup<_xpc_type_s>('_xpc_type_dictionary');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_dictionary => __xpc_type_dictionary;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_error =
+      _lookup<_xpc_type_s>('_xpc_type_error');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_error => __xpc_type_error;
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> __xpc_error_key_description =
+      _lookup<ffi.Pointer<ffi.Char>>('_xpc_error_key_description');
+
+  ffi.Pointer<ffi.Char> get _xpc_error_key_description =>
+      __xpc_error_key_description.value;
+
+  set _xpc_error_key_description(ffi.Pointer<ffi.Char> value) =>
+      __xpc_error_key_description.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> __xpc_event_key_name =
+      _lookup<ffi.Pointer<ffi.Char>>('_xpc_event_key_name');
+
+  ffi.Pointer<ffi.Char> get _xpc_event_key_name => __xpc_event_key_name.value;
+
+  set _xpc_event_key_name(ffi.Pointer<ffi.Char> value) =>
+      __xpc_event_key_name.value = value;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_session =
+      _lookup<_xpc_type_s>('_xpc_type_session');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_session => __xpc_type_session;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_rich_error =
+      _lookup<_xpc_type_s>('_xpc_type_rich_error');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_rich_error => __xpc_type_rich_error;
+
+  /// !
+  /// @function xpc_endpoint_create
+  /// Creates a new endpoint from a connection that is suitable for embedding into
+  /// messages.
+  ///
+  /// @param connection
+  /// Only connections obtained through calls to xpc_connection_create*() may be
+  /// given to this API. Passing any other type of connection is not supported and
+  /// will result in undefined behavior.
+  ///
+  /// @result
+  /// A new endpoint object.
+  xpc_endpoint_t xpc_endpoint_create(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_endpoint_create(
+      connection,
+    );
+  }
+
+  late final _xpc_endpoint_createPtr =
+      _lookup<ffi.NativeFunction<xpc_endpoint_t Function(xpc_connection_t)>>(
+          'xpc_endpoint_create');
+  late final _xpc_endpoint_create = _xpc_endpoint_createPtr
+      .asFunction<xpc_endpoint_t Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_debugger_api_misuse_info
+  /// Returns a pointer to a string describing the reason XPC aborted the calling
+  /// process. On OS X, this will be the same string present in the "Application
+  /// Specific Information" section of the crash report.
+  ///
+  /// @result
+  /// A pointer to the human-readable string describing the reason the caller was
+  /// aborted. If XPC was not responsible for the program's termination, NULL will
+  /// be returned.
+  ///
+  /// @discussion
+  /// This function is only callable from within a debugger. It is not meant to be
+  /// called by the program directly.
+  ffi.Pointer<ffi.Char> xpc_debugger_api_misuse_info() {
+    return _xpc_debugger_api_misuse_info();
+  }
+
+  late final _xpc_debugger_api_misuse_infoPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function()>>(
+          'xpc_debugger_api_misuse_info');
+  late final _xpc_debugger_api_misuse_info = _xpc_debugger_api_misuse_infoPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function()>();
+
+  /// !
+  /// @constant XPC_ACTIVITY_INTERVAL
+  /// An integer property indicating the desired time interval (in seconds) of the
+  /// activity. The activity will not be run more than once per time interval.
+  /// Due to the nature of XPC Activity finding an opportune time to run
+  /// the activity, any two occurrences may be more or less than 'interval'
+  /// seconds apart, but on average will be 'interval' seconds apart.
+  /// The presence of this key implies the following, unless overridden:
+  /// - XPC_ACTIVITY_REPEATING with a value of true
+  /// - XPC_ACTIVITY_DELAY with a value of half the 'interval'
+  /// The delay enforces a minimum distance between any two occurrences.
+  /// - XPC_ACTIVITY_GRACE_PERIOD with a value of half the 'interval'.
+  /// The grace period is the amount of time allowed to pass after the end of
+  /// the interval before more aggressive scheduling occurs. The grace period
+  /// does not increase the size of the interval.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _XPC_ACTIVITY_INTERVAL =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_INTERVAL');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_INTERVAL =>
+      _XPC_ACTIVITY_INTERVAL.value;
+
+  set XPC_ACTIVITY_INTERVAL(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_INTERVAL.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_REPEATING
+  /// A boolean property indicating whether this is a repeating activity.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _XPC_ACTIVITY_REPEATING =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_REPEATING');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_REPEATING =>
+      _XPC_ACTIVITY_REPEATING.value;
+
+  set XPC_ACTIVITY_REPEATING(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_REPEATING.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_DELAY
+  /// An integer property indicating the number of seconds to delay before
+  /// beginning the activity.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _XPC_ACTIVITY_DELAY =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_DELAY');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_DELAY => _XPC_ACTIVITY_DELAY.value;
+
+  set XPC_ACTIVITY_DELAY(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_DELAY.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_GRACE_PERIOD
+  /// An integer property indicating the number of seconds to allow as a grace
+  /// period before the scheduling of the activity becomes more aggressive.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _XPC_ACTIVITY_GRACE_PERIOD =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_GRACE_PERIOD');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_GRACE_PERIOD =>
+      _XPC_ACTIVITY_GRACE_PERIOD.value;
+
+  set XPC_ACTIVITY_GRACE_PERIOD(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_GRACE_PERIOD.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_1_MIN =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_1_MIN');
+
+  int get XPC_ACTIVITY_INTERVAL_1_MIN => _XPC_ACTIVITY_INTERVAL_1_MIN.value;
+
+  set XPC_ACTIVITY_INTERVAL_1_MIN(int value) =>
+      _XPC_ACTIVITY_INTERVAL_1_MIN.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_5_MIN =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_5_MIN');
+
+  int get XPC_ACTIVITY_INTERVAL_5_MIN => _XPC_ACTIVITY_INTERVAL_5_MIN.value;
+
+  set XPC_ACTIVITY_INTERVAL_5_MIN(int value) =>
+      _XPC_ACTIVITY_INTERVAL_5_MIN.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_15_MIN =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_15_MIN');
+
+  int get XPC_ACTIVITY_INTERVAL_15_MIN => _XPC_ACTIVITY_INTERVAL_15_MIN.value;
+
+  set XPC_ACTIVITY_INTERVAL_15_MIN(int value) =>
+      _XPC_ACTIVITY_INTERVAL_15_MIN.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_30_MIN =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_30_MIN');
+
+  int get XPC_ACTIVITY_INTERVAL_30_MIN => _XPC_ACTIVITY_INTERVAL_30_MIN.value;
+
+  set XPC_ACTIVITY_INTERVAL_30_MIN(int value) =>
+      _XPC_ACTIVITY_INTERVAL_30_MIN.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_1_HOUR =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_1_HOUR');
+
+  int get XPC_ACTIVITY_INTERVAL_1_HOUR => _XPC_ACTIVITY_INTERVAL_1_HOUR.value;
+
+  set XPC_ACTIVITY_INTERVAL_1_HOUR(int value) =>
+      _XPC_ACTIVITY_INTERVAL_1_HOUR.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_4_HOURS =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_4_HOURS');
+
+  int get XPC_ACTIVITY_INTERVAL_4_HOURS => _XPC_ACTIVITY_INTERVAL_4_HOURS.value;
+
+  set XPC_ACTIVITY_INTERVAL_4_HOURS(int value) =>
+      _XPC_ACTIVITY_INTERVAL_4_HOURS.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_8_HOURS =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_8_HOURS');
+
+  int get XPC_ACTIVITY_INTERVAL_8_HOURS => _XPC_ACTIVITY_INTERVAL_8_HOURS.value;
+
+  set XPC_ACTIVITY_INTERVAL_8_HOURS(int value) =>
+      _XPC_ACTIVITY_INTERVAL_8_HOURS.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_1_DAY =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_1_DAY');
+
+  int get XPC_ACTIVITY_INTERVAL_1_DAY => _XPC_ACTIVITY_INTERVAL_1_DAY.value;
+
+  set XPC_ACTIVITY_INTERVAL_1_DAY(int value) =>
+      _XPC_ACTIVITY_INTERVAL_1_DAY.value = value;
+
+  late final ffi.Pointer<ffi.Int64> _XPC_ACTIVITY_INTERVAL_7_DAYS =
+      _lookup<ffi.Int64>('XPC_ACTIVITY_INTERVAL_7_DAYS');
+
+  int get XPC_ACTIVITY_INTERVAL_7_DAYS => _XPC_ACTIVITY_INTERVAL_7_DAYS.value;
+
+  set XPC_ACTIVITY_INTERVAL_7_DAYS(int value) =>
+      _XPC_ACTIVITY_INTERVAL_7_DAYS.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_PRIORITY
+  /// A string property indicating the priority of the activity.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _XPC_ACTIVITY_PRIORITY =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_PRIORITY');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_PRIORITY =>
+      _XPC_ACTIVITY_PRIORITY.value;
+
+  set XPC_ACTIVITY_PRIORITY(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_PRIORITY.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_PRIORITY_MAINTENANCE
+  /// A string indicating activity is maintenance priority.
+  ///
+  /// Maintenance priority is intended for user-invisible maintenance tasks
+  /// such as garbage collection or optimization.
+  ///
+  /// Maintenance activities are not permitted to run if the device thermal
+  /// condition exceeds a nominal level or if the battery level is lower than 20%.
+  /// In Low Power Mode (on supported devices), maintenance activities are not
+  /// permitted to run while the device is on battery, or plugged in and the
+  /// battery level is lower than 30%.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>>
+      _XPC_ACTIVITY_PRIORITY_MAINTENANCE =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_PRIORITY_MAINTENANCE');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_PRIORITY_MAINTENANCE =>
+      _XPC_ACTIVITY_PRIORITY_MAINTENANCE.value;
+
+  set XPC_ACTIVITY_PRIORITY_MAINTENANCE(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_PRIORITY_MAINTENANCE.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_PRIORITY_UTILITY
+  /// A string indicating activity is utility priority.
+  ///
+  /// Utility priority is intended for user-visible tasks such as fetching data
+  /// from the network, copying files, or importing data.
+  ///
+  /// Utility activities are not permitted to run if the device thermal condition
+  /// exceeds a moderate level or if the battery level is less than 10%.  In Low
+  /// Power Mode (on supported devices) when on battery power, utility activities
+  /// are only permitted when they are close to their deadline (90% of their time
+  /// window has elapsed).
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _XPC_ACTIVITY_PRIORITY_UTILITY =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_PRIORITY_UTILITY');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_PRIORITY_UTILITY =>
+      _XPC_ACTIVITY_PRIORITY_UTILITY.value;
+
+  set XPC_ACTIVITY_PRIORITY_UTILITY(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_PRIORITY_UTILITY.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_ALLOW_BATTERY
+  /// A Boolean value indicating whether the activity should be allowed to run
+  /// while the computer is on battery power. The default value is false for
+  /// maintenance priority activity and true for utility priority activity.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>> _XPC_ACTIVITY_ALLOW_BATTERY =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_ALLOW_BATTERY');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_ALLOW_BATTERY =>
+      _XPC_ACTIVITY_ALLOW_BATTERY.value;
+
+  set XPC_ACTIVITY_ALLOW_BATTERY(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_ALLOW_BATTERY.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP
+  /// A Boolean value indicating whether the activity should only be performed
+  /// while device appears to be asleep.  Note that the definition of screen sleep
+  /// may vary by platform and may include states where the device is known to be
+  /// idle despite the fact that the display itself is still powered.  Defaults to
+  /// false.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>>
+      _XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP =>
+      _XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP.value;
+
+  set XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_PREVENT_DEVICE_SLEEP
+  /// A Boolean value indicating whether the activity should prevent system sleep while
+  /// running on battery.
+  /// If this property is set, the activity scheduler will take the appropriate power
+  /// assertion to keep the device (but not the screen) awake while the activity is running.
+  /// Only activities which perform critical system functions that do not want to be
+  /// interrupted by system sleep should set this.
+  /// Setting this property can impact battery life.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>>
+      _XPC_ACTIVITY_PREVENT_DEVICE_SLEEP =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_PREVENT_DEVICE_SLEEP');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_PREVENT_DEVICE_SLEEP =>
+      _XPC_ACTIVITY_PREVENT_DEVICE_SLEEP.value;
+
+  set XPC_ACTIVITY_PREVENT_DEVICE_SLEEP(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_PREVENT_DEVICE_SLEEP.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL
+  /// An integer percentage of minimum battery charge required to allow the
+  /// activity to run. A default minimum battery level is determined by the
+  /// system.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>>
+      _XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL =>
+      _XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL.value;
+
+  set XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL.value = value;
+
+  /// !
+  /// @constant XPC_ACTIVITY_REQUIRE_HDD_SPINNING
+  /// A Boolean value indicating whether the activity should only be performed
+  /// while the hard disk drive (HDD) is spinning. Computers with flash storage
+  /// are considered to be equivalent to HDD spinning. Defaults to false.
+  late final ffi.Pointer<ffi.Pointer<ffi.Char>>
+      _XPC_ACTIVITY_REQUIRE_HDD_SPINNING =
+      _lookup<ffi.Pointer<ffi.Char>>('XPC_ACTIVITY_REQUIRE_HDD_SPINNING');
+
+  ffi.Pointer<ffi.Char> get XPC_ACTIVITY_REQUIRE_HDD_SPINNING =>
+      _XPC_ACTIVITY_REQUIRE_HDD_SPINNING.value;
+
+  set XPC_ACTIVITY_REQUIRE_HDD_SPINNING(ffi.Pointer<ffi.Char> value) =>
+      _XPC_ACTIVITY_REQUIRE_HDD_SPINNING.value = value;
+
+  late final ffi.Pointer<_xpc_type_s> __xpc_type_activity =
+      _lookup<_xpc_type_s>('_xpc_type_activity');
+
+  ffi.Pointer<_xpc_type_s> get _xpc_type_activity => __xpc_type_activity;
+
+  /// !
+  /// @constant XPC_ACTIVITY_CHECK_IN
+  /// This constant may be passed to xpc_activity_register() as the criteria
+  /// dictionary in order to check in with the system for previously registered
+  /// activity using the same identifier (for example, an activity taken from a
+  /// launchd property list).
+  late final ffi.Pointer<xpc_object_t> _XPC_ACTIVITY_CHECK_IN =
+      _lookup<xpc_object_t>('XPC_ACTIVITY_CHECK_IN');
+
+  xpc_object_t get XPC_ACTIVITY_CHECK_IN => _XPC_ACTIVITY_CHECK_IN.value;
+
+  set XPC_ACTIVITY_CHECK_IN(xpc_object_t value) =>
+      _XPC_ACTIVITY_CHECK_IN.value = value;
+
+  /// !
+  /// @function xpc_activity_register
+  ///
+  /// @abstract
+  /// Registers an activity with the system.
+  ///
+  /// @discussion
+  /// Registers a new activity with the system. The criteria of the activity are
+  /// described by the dictionary passed to this function. If an activity with the
+  /// same identifier already exists, the criteria provided override the existing
+  /// criteria unless the special dictionary XPC_ACTIVITY_CHECK_IN is used. The
+  /// XPC_ACTIVITY_CHECK_IN dictionary instructs the system to first look up an
+  /// existing activity without modifying its criteria. Once the existing activity
+  /// is found (or a new one is created with an empty set of criteria) the handler
+  /// will be called with an activity object in the XPC_ACTIVITY_STATE_CHECK_IN
+  /// state.
+  ///
+  /// @param identifier
+  /// A unique identifier for the activity. Each application has its own namespace.
+  /// The identifier should remain constant across registrations, relaunches of
+  /// the application, and reboots. It should identify the kind of work being done,
+  /// not a particular invocation of the work.
+  ///
+  /// @param criteria
+  /// A dictionary of criteria for the activity.
+  ///
+  /// @param handler
+  /// The handler block to be called when the activity changes state to one of the
+  /// following states:
+  /// - XPC_ACTIVITY_STATE_CHECK_IN (optional)
+  /// - XPC_ACTIVITY_STATE_RUN
+  ///
+  /// The handler block is never invoked reentrantly. It will be invoked on a
+  /// dispatch queue with an appropriate priority to perform the activity.
+  void xpc_activity_register(
+    ffi.Pointer<ffi.Char> identifier,
+    xpc_object_t criteria,
+    xpc_activity_handler_t handler,
+  ) {
+    return _xpc_activity_register(
+      identifier,
+      criteria,
+      handler,
+    );
+  }
+
+  late final _xpc_activity_registerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Char>, xpc_object_t,
+              xpc_activity_handler_t)>>('xpc_activity_register');
+  late final _xpc_activity_register = _xpc_activity_registerPtr.asFunction<
+      void Function(
+          ffi.Pointer<ffi.Char>, xpc_object_t, xpc_activity_handler_t)>();
+
+  /// !
+  /// @function xpc_activity_copy_criteria
+  ///
+  /// @abstract
+  /// Returns an XPC dictionary describing the execution criteria of an activity.
+  /// This will return NULL in cases where the activity has already completed, e.g.
+  /// when checking in to an event that finished and was not rescheduled.
+  xpc_object_t xpc_activity_copy_criteria(
+    xpc_activity_t activity,
+  ) {
+    return _xpc_activity_copy_criteria(
+      activity,
+    );
+  }
+
+  late final _xpc_activity_copy_criteriaPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(xpc_activity_t)>>(
+          'xpc_activity_copy_criteria');
+  late final _xpc_activity_copy_criteria = _xpc_activity_copy_criteriaPtr
+      .asFunction<xpc_object_t Function(xpc_activity_t)>();
+
+  /// !
+  /// @function xpc_activity_set_criteria
+  ///
+  /// @abstract
+  /// Modifies the execution criteria of an activity.
+  void xpc_activity_set_criteria(
+    xpc_activity_t activity,
+    xpc_object_t criteria,
+  ) {
+    return _xpc_activity_set_criteria(
+      activity,
+      criteria,
+    );
+  }
+
+  late final _xpc_activity_set_criteriaPtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(xpc_activity_t, xpc_object_t)>>(
+      'xpc_activity_set_criteria');
+  late final _xpc_activity_set_criteria = _xpc_activity_set_criteriaPtr
+      .asFunction<void Function(xpc_activity_t, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_activity_get_state
+  ///
+  /// @abstract
+  /// Returns the current state of an activity.
+  int xpc_activity_get_state(
+    xpc_activity_t activity,
+  ) {
+    return _xpc_activity_get_state(
+      activity,
+    );
+  }
+
+  late final _xpc_activity_get_statePtr = _lookup<
+          ffi.NativeFunction<xpc_activity_state_t Function(xpc_activity_t)>>(
+      'xpc_activity_get_state');
+  late final _xpc_activity_get_state =
+      _xpc_activity_get_statePtr.asFunction<int Function(xpc_activity_t)>();
+
+  /// !
+  /// @function xpc_activity_set_state
+  ///
+  /// @abstract
+  /// Updates the current state of an activity.
+  ///
+  /// @return
+  /// Returns true if the state was successfully updated; otherwise, returns
+  /// false if the requested state transition is not valid.
+  bool xpc_activity_set_state(
+    xpc_activity_t activity,
+    int state,
+  ) {
+    return _xpc_activity_set_state(
+      activity,
+      state,
+    );
+  }
+
+  late final _xpc_activity_set_statePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              xpc_activity_t, xpc_activity_state_t)>>('xpc_activity_set_state');
+  late final _xpc_activity_set_state = _xpc_activity_set_statePtr
+      .asFunction<bool Function(xpc_activity_t, int)>();
+
+  /// !
+  /// @function xpc_activity_should_defer
+  ///
+  /// @abstract
+  /// Test whether an activity should be deferred.
+  ///
+  /// @discussion
+  /// This function may be used to test whether the criteria of a long-running
+  /// activity are still satisfied. If not, the system indicates that the
+  /// application should defer the activity. The application may acknowledge the
+  /// deferral by calling xpc_activity_set_state() with XPC_ACTIVITY_STATE_DEFER.
+  /// Once deferred, the system will place the activity back into the WAIT state
+  /// and re-invoke the handler block at the earliest opportunity when the criteria
+  /// are once again satisfied.
+  ///
+  /// @return
+  /// Returns true if the activity should be deferred.
+  bool xpc_activity_should_defer(
+    xpc_activity_t activity,
+  ) {
+    return _xpc_activity_should_defer(
+      activity,
+    );
+  }
+
+  late final _xpc_activity_should_deferPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(xpc_activity_t)>>(
+          'xpc_activity_should_defer');
+  late final _xpc_activity_should_defer =
+      _xpc_activity_should_deferPtr.asFunction<bool Function(xpc_activity_t)>();
+
+  /// !
+  /// @function xpc_activity_unregister
+  ///
+  /// @abstract
+  /// Unregisters an activity found by its identifier.
+  ///
+  /// @discussion
+  /// A dynamically registered activity will be deleted in response to this call.
+  /// Statically registered activity (from a launchd property list) will be
+  /// deleted until the job is next loaded (e.g. at next boot).
+  ///
+  /// Unregistering an activity has no effect on any outstanding xpc_activity_t
+  /// objects or any currently executing xpc_activity_handler_t blocks; however,
+  /// no new handler block invocations will be made after it is unregistered.
+  ///
+  /// @param identifier
+  /// The identifier of the activity to unregister.
+  void xpc_activity_unregister(
+    ffi.Pointer<ffi.Char> identifier,
+  ) {
+    return _xpc_activity_unregister(
+      identifier,
+    );
+  }
+
+  late final _xpc_activity_unregisterPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Char>)>>(
+          'xpc_activity_unregister');
+  late final _xpc_activity_unregister = _xpc_activity_unregisterPtr
+      .asFunction<void Function(ffi.Pointer<ffi.Char>)>();
+
+  late final ffi.Pointer<_xpc_dictionary_s> __xpc_error_connection_interrupted =
+      _lookup<_xpc_dictionary_s>('_xpc_error_connection_interrupted');
+
+  ffi.Pointer<_xpc_dictionary_s> get _xpc_error_connection_interrupted =>
+      __xpc_error_connection_interrupted;
+
+  late final ffi.Pointer<_xpc_dictionary_s> __xpc_error_connection_invalid =
+      _lookup<_xpc_dictionary_s>('_xpc_error_connection_invalid');
+
+  ffi.Pointer<_xpc_dictionary_s> get _xpc_error_connection_invalid =>
+      __xpc_error_connection_invalid;
+
+  late final ffi.Pointer<_xpc_dictionary_s> __xpc_error_termination_imminent =
+      _lookup<_xpc_dictionary_s>('_xpc_error_termination_imminent');
+
+  ffi.Pointer<_xpc_dictionary_s> get _xpc_error_termination_imminent =>
+      __xpc_error_termination_imminent;
+
+  late final ffi.Pointer<_xpc_dictionary_s>
+      __xpc_error_peer_code_signing_requirement =
+      _lookup<_xpc_dictionary_s>('_xpc_error_peer_code_signing_requirement');
+
+  ffi.Pointer<_xpc_dictionary_s> get _xpc_error_peer_code_signing_requirement =>
+      __xpc_error_peer_code_signing_requirement;
+
+  /// !
+  /// @function xpc_connection_create
+  /// Creates a new connection object.
+  ///
+  /// @param name
+  /// If non-NULL, the name of the service with which to connect. The returned
+  /// connection will be a peer.
+  ///
+  /// If NULL, an anonymous listener connection will be created. You can embed the
+  /// ability to create new peer connections in an endpoint, which can be inserted
+  /// into a message and sent to another process .
+  ///
+  /// @param targetq
+  /// The GCD queue to which the event handler block will be submitted. This
+  /// parameter may be NULL, in which case the connection's target queue will be
+  /// libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
+  /// The target queue may be changed later with a call to
+  /// xpc_connection_set_target_queue().
+  ///
+  /// @result
+  /// A new connection object. The caller is responsible for disposing of the
+  /// returned object with {@link xpc_release} when it is no longer needed.
+  ///
+  /// @discussion
+  /// This method will succeed even if the named service does not exist. This is
+  /// because the XPC namespace is not queried for the service name until the
+  /// connection has been activated. See {@link xpc_connection_activate()}.
+  ///
+  /// XPC connections, like dispatch sources, are returned in an inactive state, so
+  /// you must call {@link xpc_connection_activate()} in order to begin receiving
+  /// events from the connection. Also like dispatch sources, connections must be
+  /// activated and not suspended in order to be safely released. It is
+  /// a programming error to release an inactive or suspended connection.
+  xpc_connection_t xpc_connection_create(
+    ffi.Pointer<ffi.Char> name,
+    dispatch_queue_t targetq,
+  ) {
+    return _xpc_connection_create(
+      name,
+      targetq,
+    );
+  }
+
+  late final _xpc_connection_createPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_connection_t Function(ffi.Pointer<ffi.Char>,
+              dispatch_queue_t)>>('xpc_connection_create');
+  late final _xpc_connection_create = _xpc_connection_createPtr.asFunction<
+      xpc_connection_t Function(ffi.Pointer<ffi.Char>, dispatch_queue_t)>();
+
+  /// !
+  /// @function xpc_connection_create_mach_service
+  /// Creates a new connection object representing a Mach service.
+  ///
+  /// @param name
+  /// The name of the remote service with which to connect. The service name must
+  /// exist in a Mach bootstrap that is accessible to the process and be advertised
+  /// in a launchd.plist.
+  ///
+  /// @param targetq
+  /// The GCD queue to which the event handler block will be submitted. This
+  /// parameter may be NULL, in which case the connection's target queue will be
+  /// libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
+  /// The target queue may be changed later with a call to
+  /// xpc_connection_set_target_queue().
+  ///
+  /// @param flags
+  /// Additional attributes with which to create the connection.
+  ///
+  /// @result
+  /// A new connection object.
+  ///
+  /// @discussion
+  /// If the XPC_CONNECTION_MACH_SERVICE_LISTENER flag is given to this method,
+  /// then the connection returned will be a listener connection. Otherwise, a peer
+  /// connection will be returned. See the documentation for
+  /// {@link xpc_connection_set_event_handler()} for the semantics of listener
+  /// connections versus peer connections.
+  ///
+  /// This method will succeed even if the named service does not exist. This is
+  /// because the Mach namespace is not queried for the service name until the
+  /// connection has been activated. See {@link xpc_connection_activate()}.
+  xpc_connection_t xpc_connection_create_mach_service(
+    ffi.Pointer<ffi.Char> name,
+    dispatch_queue_t targetq,
+    int flags,
+  ) {
+    return _xpc_connection_create_mach_service(
+      name,
+      targetq,
+      flags,
+    );
+  }
+
+  late final _xpc_connection_create_mach_servicePtr = _lookup<
+      ffi.NativeFunction<
+          xpc_connection_t Function(ffi.Pointer<ffi.Char>, dispatch_queue_t,
+              ffi.Uint64)>>('xpc_connection_create_mach_service');
+  late final _xpc_connection_create_mach_service =
+      _xpc_connection_create_mach_servicePtr.asFunction<
+          xpc_connection_t Function(
+              ffi.Pointer<ffi.Char>, dispatch_queue_t, int)>();
+
+  /// !
+  /// @function xpc_connection_create_from_endpoint
+  /// Creates a new connection from the given endpoint.
+  ///
+  /// @param endpoint
+  /// The endpoint from which to create the new connection.
+  ///
+  /// @result
+  /// A new peer connection to the listener represented by the given endpoint.
+  ///
+  /// The same responsibilities of setting an event handler and activating the
+  /// connection after calling xpc_connection_create() apply to the connection
+  /// returned by this API. Since the connection yielded by this API is not
+  /// associated with a name (and therefore is not rediscoverable), this connection
+  /// will receive XPC_ERROR_CONNECTION_INVALID if the listening side crashes,
+  /// exits or cancels the listener connection.
+  xpc_connection_t xpc_connection_create_from_endpoint(
+    xpc_endpoint_t endpoint,
+  ) {
+    return _xpc_connection_create_from_endpoint(
+      endpoint,
+    );
+  }
+
+  late final _xpc_connection_create_from_endpointPtr =
+      _lookup<ffi.NativeFunction<xpc_connection_t Function(xpc_endpoint_t)>>(
+          'xpc_connection_create_from_endpoint');
+  late final _xpc_connection_create_from_endpoint =
+      _xpc_connection_create_from_endpointPtr
+          .asFunction<xpc_connection_t Function(xpc_endpoint_t)>();
+
+  /// !
+  /// @function xpc_connection_set_target_queue
+  /// Sets the target queue of the given connection.
+  ///
+  /// @param connection
+  /// The connection object which is to be manipulated.
+  ///
+  /// @param targetq
+  /// The GCD queue to which the event handler block will be submitted. This
+  /// parameter may be NULL, in which case the connection's target queue will be
+  /// libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT.
+  ///
+  /// @discussion
+  /// Setting the target queue is asynchronous and non-preemptive and therefore
+  /// this method will not interrupt the execution of an already-running event
+  /// handler block. Setting the target queue may be likened to issuing a barrier
+  /// to the connection which does the actual work of changing the target queue.
+  ///
+  /// The XPC runtime guarantees this non-preemptiveness even for concurrent target
+  /// queues. If the target queue is a concurrent queue, then XPC still guarantees
+  /// that there will never be more than one invocation of the connection's event
+  /// handler block executing concurrently. If you wish to process events
+  /// concurrently, you can dispatch_async(3) to a concurrent queue from within
+  /// the event handler.
+  ///
+  /// IMPORTANT: When called from within the event handler block,
+  /// dispatch_get_current_queue(3) is NOT guaranteed to return a pointer to the
+  /// queue set with this method.
+  ///
+  /// Despite this seeming inconsistency, the XPC runtime guarantees that, when the
+  /// target queue is a serial queue, the event handler block will execute
+  /// synchronously with respect to other blocks submitted to that same queue. When
+  /// the target queue is a concurrent queue, the event handler block may run
+  /// concurrently with other blocks submitted to that queue, but it will never run
+  /// concurrently with other invocations of itself for the same connection, as
+  /// discussed previously.
+  void xpc_connection_set_target_queue(
+    xpc_connection_t connection,
+    dispatch_queue_t targetq,
+  ) {
+    return _xpc_connection_set_target_queue(
+      connection,
+      targetq,
+    );
+  }
+
+  late final _xpc_connection_set_target_queuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_connection_t,
+              dispatch_queue_t)>>('xpc_connection_set_target_queue');
+  late final _xpc_connection_set_target_queue =
+      _xpc_connection_set_target_queuePtr
+          .asFunction<void Function(xpc_connection_t, dispatch_queue_t)>();
+
+  /// !
+  /// @function xpc_connection_set_event_handler
+  /// Sets the event handler block for the connection.
+  ///
+  /// @param connection
+  /// The connection object which is to be manipulated.
+  ///
+  /// @param handler
+  /// The event handler block.
+  ///
+  /// @discussion
+  /// Setting the event handler is asynchronous and non-preemptive, and therefore
+  /// this method will not interrupt the execution of an already-running event
+  /// handler block. If the event handler is executing at the time of this call, it
+  /// will finish, and then the connection's event handler will be changed before
+  /// the next invocation of the event handler. The XPC runtime guarantees this
+  /// non-preemptiveness even for concurrent target queues.
+  ///
+  /// Connection event handlers are non-reentrant, so it is safe to call
+  /// xpc_connection_set_event_handler() from within the event handler block.
+  ///
+  /// The event handler's execution should be treated as a barrier to all
+  /// connection activity. When it is executing, the connection will not attempt to
+  /// send or receive messages, including reply messages. Thus, it is not safe to
+  /// call xpc_connection_send_message_with_reply_sync() on the connection from
+  /// within the event handler.
+  ///
+  /// You do not hold a reference on the object received as the event handler's
+  /// only argument. Regardless of the type of object received, it is safe to call
+  /// xpc_retain() on the object to obtain a reference to it.
+  ///
+  /// A connection may receive different events depending upon whether it is a
+  /// listener or not. Any connection may receive an error in its event handler.
+  /// But while normal connections may receive messages in addition to errors,
+  /// listener connections will receive connections and and not messages.
+  ///
+  /// Connections received by listeners are equivalent to those returned by
+  /// xpc_connection_create() with a non-NULL name argument and a NULL targetq
+  /// argument with the exception that you do not hold a reference on them.
+  /// You must set an event handler and activate the connection. If you do not wish
+  /// to accept the connection, you may simply call xpc_connection_cancel() on it
+  /// and return. The runtime will dispose of it for you.
+  ///
+  /// If there is an error in the connection, this handler will be invoked with the
+  /// error dictionary as its argument. This dictionary will be one of the well-
+  /// known XPC_ERROR_* dictionaries.
+  ///
+  /// Regardless of the type of event, ownership of the event object is NOT
+  /// implicitly transferred. Thus, the object will be released and deallocated at
+  /// some point in the future after the event handler returns. If you wish the
+  /// event's lifetime to persist, you must retain it with xpc_retain().
+  ///
+  /// Connections received through the event handler will be released and
+  /// deallocated after the connection has gone invalid and delivered that event to
+  /// its event handler.
+  void xpc_connection_set_event_handler(
+    xpc_connection_t connection,
+    xpc_handler_t handler,
+  ) {
+    return _xpc_connection_set_event_handler(
+      connection,
+      handler,
+    );
+  }
+
+  late final _xpc_connection_set_event_handlerPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(xpc_connection_t, xpc_handler_t)>>(
+      'xpc_connection_set_event_handler');
+  late final _xpc_connection_set_event_handler =
+      _xpc_connection_set_event_handlerPtr
+          .asFunction<void Function(xpc_connection_t, xpc_handler_t)>();
+
+  /// !
+  /// @function xpc_connection_activate
+  /// Activates the connection. Connections start in an inactive state, so you must
+  /// call xpc_connection_activate() on a connection before it will send or receive
+  /// any messages.
+  ///
+  /// @param connection
+  /// The connection object which is to be manipulated.
+  ///
+  /// @discussion
+  /// Calling xpc_connection_activate() on an active connection has no effect.
+  /// Releasing the last reference on an inactive connection that was created with
+  /// an xpc_connection_create*() call is undefined.
+  ///
+  /// For backward compatibility reasons, xpc_connection_resume() on an inactive
+  /// and not otherwise suspended xpc connection has the same effect as calling
+  /// xpc_connection_activate(). For new code, using xpc_connection_activate()
+  /// is preferred.
+  void xpc_connection_activate(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_activate(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_activatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(xpc_connection_t)>>(
+          'xpc_connection_activate');
+  late final _xpc_connection_activate =
+      _xpc_connection_activatePtr.asFunction<void Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_suspend
+  /// Suspends the connection so that the event handler block will not fire and
+  /// that the connection will not attempt to send any messages it has in its
+  /// queue. All calls to xpc_connection_suspend() must be balanced with calls to
+  /// xpc_connection_resume() before releasing the last reference to the
+  /// connection.
+  ///
+  /// @param connection
+  /// The connection object which is to be manipulated.
+  ///
+  /// @discussion
+  /// Suspension is asynchronous and non-preemptive, and therefore this method will
+  /// not interrupt the execution of an already-running event handler block. If
+  /// the event handler is executing at the time of this call, it will finish, and
+  /// then the connection will be suspended before the next scheduled invocation
+  /// of the event handler. The XPC runtime guarantees this non-preemptiveness even
+  /// for concurrent target queues.
+  ///
+  /// Connection event handlers are non-reentrant, so it is safe to call
+  /// xpc_connection_suspend() from within the event handler block.
+  void xpc_connection_suspend(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_suspend(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_suspendPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(xpc_connection_t)>>(
+          'xpc_connection_suspend');
+  late final _xpc_connection_suspend =
+      _xpc_connection_suspendPtr.asFunction<void Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_resume
+  /// Resumes the connection.
+  ///
+  /// @param connection
+  /// The connection object which is to be manipulated.
+  ///
+  /// @discussion
+  /// In order for a connection to become live, every call to
+  /// xpc_connection_suspend() must be balanced with a call to
+  /// xpc_connection_resume().
+  ///
+  /// For backward compatibility reasons, xpc_connection_resume() on an inactive
+  /// and not otherwise suspended xpc connection has the same effect as calling
+  /// xpc_connection_activate(). For new code, using xpc_connection_activate()
+  /// is preferred.
+  ///
+  /// Calling xpc_connection_resume() more times than xpc_connection_suspend()
+  /// has been called is otherwise considered an error.
+  void xpc_connection_resume(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_resume(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_resumePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(xpc_connection_t)>>(
+          'xpc_connection_resume');
+  late final _xpc_connection_resume =
+      _xpc_connection_resumePtr.asFunction<void Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_send_message
+  /// Sends a message over the connection to the destination service.
+  ///
+  /// @param connection
+  /// The connection over which the message shall be sent.
+  ///
+  /// @param message
+  /// The message to send. This must be a dictionary object. This dictionary is
+  /// logically copied by the connection, so it is safe to modify the dictionary
+  /// after this call.
+  ///
+  /// @discussion
+  /// Messages are delivered in FIFO order. This API is safe to call from multiple
+  /// GCD queues. There is no indication that a message was delivered successfully.
+  /// This is because even once the message has been successfully enqueued on the
+  /// remote end, there are no guarantees about when the runtime will dequeue the
+  /// message and invoke the other connection's event handler block.
+  ///
+  /// If this API is used to send a message that is in reply to another message,
+  /// there is no guarantee of ordering between the invocations of the connection's
+  /// event handler and the reply handler for that message, even if they are
+  /// targeted to the same queue.
+  ///
+  /// After extensive study, we have found that clients who are interested in
+  /// the state of the message on the server end are typically holding open
+  /// transactions related to that message. And the only reliable way to track the
+  /// lifetime of that transaction is at the protocol layer. So the server should
+  /// send a reply message, which upon receiving, will cause the client to close
+  /// its transaction.
+  void xpc_connection_send_message(
+    xpc_connection_t connection,
+    xpc_object_t message,
+  ) {
+    return _xpc_connection_send_message(
+      connection,
+      message,
+    );
+  }
+
+  late final _xpc_connection_send_messagePtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(xpc_connection_t, xpc_object_t)>>(
+      'xpc_connection_send_message');
+  late final _xpc_connection_send_message = _xpc_connection_send_messagePtr
+      .asFunction<void Function(xpc_connection_t, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_connection_send_barrier
+  /// Issues a barrier against the connection's message-send activity.
+  ///
+  /// @param connection
+  /// The connection against which the barrier is to be issued.
+  ///
+  /// @param barrier
+  /// The barrier block to issue. This barrier prevents concurrent message-send
+  /// activity on the connection. No messages will be sent while the barrier block
+  /// is executing.
+  ///
+  /// @discussion
+  /// XPC guarantees that, even if the connection's target queue is a concurrent
+  /// queue, there are no other messages being sent concurrently while the barrier
+  /// block is executing. XPC does not guarantee that the receipt of messages
+  /// (either through the connection's event handler or through reply handlers)
+  /// will be suspended while the barrier is executing.
+  ///
+  /// A barrier is issued relative to the message-send queue. Thus, if you call
+  /// xpc_connection_send_message() five times and then call
+  /// xpc_connection_send_barrier(), the barrier will be invoked after the fifth
+  /// message has been sent and its memory disposed of. You may safely cancel a
+  /// connection from within a barrier block.
+  ///
+  /// If a barrier is issued after sending a message which expects a reply, the
+  /// behavior is the same as described above. The receipt of a reply message will
+  /// not influence when the barrier runs.
+  ///
+  /// A barrier block can be useful for throttling resource consumption on the
+  /// connected side of a connection. For example, if your connection sends many
+  /// large messages, you can use a barrier to limit the number of messages that
+  /// are inflight at any given time. This can be particularly useful for messages
+  /// that contain kernel resources (like file descriptors) which have a system-
+  /// wide limit.
+  ///
+  /// If a barrier is issued on a canceled connection, it will be invoked
+  /// immediately. If a connection has been canceled and still has outstanding
+  /// barriers, those barriers will be invoked as part of the connection's
+  /// unwinding process.
+  ///
+  /// It is important to note that a barrier block's execution order is not
+  /// guaranteed with respect to other blocks that have been scheduled on the
+  /// target queue of the connection. Or said differently,
+  /// xpc_connection_send_barrier(3) is not equivalent to dispatch_async(3).
+  void xpc_connection_send_barrier(
+    xpc_connection_t connection,
+    dispatch_block_t barrier,
+  ) {
+    return _xpc_connection_send_barrier(
+      connection,
+      barrier,
+    );
+  }
+
+  late final _xpc_connection_send_barrierPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_connection_t,
+              dispatch_block_t)>>('xpc_connection_send_barrier');
+  late final _xpc_connection_send_barrier = _xpc_connection_send_barrierPtr
+      .asFunction<void Function(xpc_connection_t, dispatch_block_t)>();
+
+  /// !
+  /// @function xpc_connection_send_message_with_reply
+  /// Sends a message over the connection to the destination service and associates
+  /// a handler to be invoked when the remote service sends a reply message.
+  ///
+  /// @param connection
+  /// The connection over which the message shall be sent.
+  ///
+  /// @param message
+  /// The message to send. This must be a dictionary object.
+  ///
+  /// @param replyq
+  /// The GCD queue to which the reply handler will be submitted. This may be a
+  /// concurrent queue.
+  ///
+  /// @param handler
+  /// The handler block to invoke when a reply to the message is received from
+  /// the connection. If the remote service exits prematurely before the reply was
+  /// received, the XPC_ERROR_CONNECTION_INTERRUPTED error will be returned.
+  /// If the connection went invalid before the message could be sent, the
+  /// XPC_ERROR_CONNECTION_INVALID error will be returned.
+  ///
+  /// @discussion
+  /// If the given GCD queue is a concurrent queue, XPC cannot guarantee that there
+  /// will not be multiple reply handlers being invoked concurrently. XPC does not
+  /// guarantee any ordering for the invocation of reply handlers. So if multiple
+  /// messages are waiting for replies and the connection goes invalid, there is no
+  /// guarantee that the reply handlers will be invoked in FIFO order. Similarly,
+  /// XPC does not guarantee that reply handlers will not run concurrently with
+  /// the connection's event handler in the case that the reply queue and the
+  /// connection's target queue are the same concurrent queue.
+  void xpc_connection_send_message_with_reply(
+    xpc_connection_t connection,
+    xpc_object_t message,
+    dispatch_queue_t replyq,
+    xpc_handler_t handler,
+  ) {
+    return _xpc_connection_send_message_with_reply(
+      connection,
+      message,
+      replyq,
+      handler,
+    );
+  }
+
+  late final _xpc_connection_send_message_with_replyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_connection_t, xpc_object_t, dispatch_queue_t,
+              xpc_handler_t)>>('xpc_connection_send_message_with_reply');
+  late final _xpc_connection_send_message_with_reply =
+      _xpc_connection_send_message_with_replyPtr.asFunction<
+          void Function(xpc_connection_t, xpc_object_t, dispatch_queue_t,
+              xpc_handler_t)>();
+
+  /// !
+  /// @function xpc_connection_send_message_with_reply_sync
+  /// Sends a message over the connection and blocks the caller until a reply is
+  /// received.
+  ///
+  /// @param connection
+  /// The connection over which the message shall be sent.
+  ///
+  /// @param message
+  /// The message to send. This must be a dictionary object.
+  ///
+  /// @result
+  /// The message that the remote service sent in reply to the original message.
+  /// If the remote service exits prematurely before the reply was received, the
+  /// XPC_ERROR_CONNECTION_INTERRUPTED error will be returned. If the connection
+  /// went invalid before the message could be sent, the
+  /// XPC_ERROR_CONNECTION_INVALID error will be returned.
+  ///
+  /// You are responsible for releasing the returned object.
+  ///
+  /// @discussion
+  /// This API supports priority inversion avoidance, and should be used instead of
+  /// combining xpc_connection_send_message_with_reply() with a semaphore.
+  ///
+  /// Invoking this API from a queue that is a part of the target queue hierarchy
+  /// results in deadlocks under certain conditions.
+  ///
+  /// Be judicious about your use of this API. It can block indefinitely, so if you
+  /// are using it to implement an API that can be called from the main thread, you
+  /// may wish to consider allowing the API to take a queue and callback block so
+  /// that results may be delivered asynchronously if possible.
+  xpc_object_t xpc_connection_send_message_with_reply_sync(
+    xpc_connection_t connection,
+    xpc_object_t message,
+  ) {
+    return _xpc_connection_send_message_with_reply_sync(
+      connection,
+      message,
+    );
+  }
+
+  late final _xpc_connection_send_message_with_reply_syncPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(xpc_connection_t,
+              xpc_object_t)>>('xpc_connection_send_message_with_reply_sync');
+  late final _xpc_connection_send_message_with_reply_sync =
+      _xpc_connection_send_message_with_reply_syncPtr
+          .asFunction<xpc_object_t Function(xpc_connection_t, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_connection_cancel
+  /// Cancels the connection and ensures that its event handler will not fire
+  /// again. After this call, any messages that have not yet been sent will be
+  /// discarded, and the connection will be unwound. If there are messages that are
+  /// awaiting replies, they will have their reply handlers invoked with the
+  /// XPC_ERROR_CONNECTION_INVALID error.
+  ///
+  /// @param connection
+  /// The connection object which is to be manipulated.
+  ///
+  /// @discussion
+  /// Cancellation is asynchronous and non-preemptive and therefore this method
+  /// will not interrupt the execution of an already-running event handler block.
+  /// If the event handler is executing at the time of this call, it will finish,
+  /// and then the connection will be canceled, causing a final invocation of the
+  /// event handler to be scheduled with the XPC_ERROR_CONNECTION_INVALID error.
+  /// After that invocation, there will be no further invocations of the event
+  /// handler.
+  ///
+  /// The XPC runtime guarantees this non-preemptiveness even for concurrent target
+  /// queues.
+  void xpc_connection_cancel(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_cancel(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_cancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(xpc_connection_t)>>(
+          'xpc_connection_cancel');
+  late final _xpc_connection_cancel =
+      _xpc_connection_cancelPtr.asFunction<void Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_get_name
+  /// Returns the name of the service with which the connections was created.
+  ///
+  /// @param connection
+  /// The connection object which is to be examined.
+  ///
+  /// @result
+  /// The name of the remote service. If you obtained the connection through an
+  /// invocation of another connection's event handler, NULL is returned.
+  ffi.Pointer<ffi.Char> xpc_connection_get_name(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_get_name(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_get_namePtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(xpc_connection_t)>>(
+      'xpc_connection_get_name');
+  late final _xpc_connection_get_name = _xpc_connection_get_namePtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_get_euid
+  /// Returns the EUID of the remote peer.
+  ///
+  /// @param connection
+  /// The connection object which is to be examined.
+  ///
+  /// @result
+  /// The EUID of the remote peer at the time the connection was made.
+  int xpc_connection_get_euid(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_get_euid(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_get_euidPtr =
+      _lookup<ffi.NativeFunction<uid_t Function(xpc_connection_t)>>(
+          'xpc_connection_get_euid');
+  late final _xpc_connection_get_euid =
+      _xpc_connection_get_euidPtr.asFunction<int Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_get_egid
+  /// Returns the EGID of the remote peer.
+  ///
+  /// @param connection
+  /// The connection object which is to be examined.
+  ///
+  /// @result
+  /// The EGID of the remote peer at the time the connection was made.
+  int xpc_connection_get_egid(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_get_egid(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_get_egidPtr =
+      _lookup<ffi.NativeFunction<gid_t Function(xpc_connection_t)>>(
+          'xpc_connection_get_egid');
+  late final _xpc_connection_get_egid =
+      _xpc_connection_get_egidPtr.asFunction<int Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_get_pid
+  /// Returns the PID of the remote peer.
+  ///
+  /// @param connection
+  /// The connection object which is to be examined.
+  ///
+  /// @result
+  /// The PID of the remote peer.
+  ///
+  /// @discussion
+  /// A given PID is not guaranteed to be unique across an entire boot cycle.
+  /// Great care should be taken when dealing with this information, as it can go
+  /// stale after the connection is established. OS X recycles PIDs, and therefore
+  /// another process could spawn and claim the PID before a message is actually
+  /// received from the connection.
+  ///
+  /// XPC will deliver an error to your event handler if the remote process goes
+  /// away, but there are no guarantees as to the timing of this notification's
+  /// delivery either at the kernel layer or at the XPC layer.
+  int xpc_connection_get_pid(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_get_pid(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_get_pidPtr =
+      _lookup<ffi.NativeFunction<pid_t Function(xpc_connection_t)>>(
+          'xpc_connection_get_pid');
+  late final _xpc_connection_get_pid =
+      _xpc_connection_get_pidPtr.asFunction<int Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_get_asid
+  /// Returns the audit session identifier of the remote peer.
+  ///
+  /// @param connection
+  /// The connection object which is to be examined.
+  ///
+  /// @result
+  /// The audit session ID of the remote peer at the time the connection was made.
+  int xpc_connection_get_asid(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_get_asid(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_get_asidPtr =
+      _lookup<ffi.NativeFunction<au_asid_t Function(xpc_connection_t)>>(
+          'xpc_connection_get_asid');
+  late final _xpc_connection_get_asid =
+      _xpc_connection_get_asidPtr.asFunction<int Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_set_context
+  /// Sets context on an connection.
+  ///
+  /// @param connection
+  /// The connection which is to be manipulated.
+  ///
+  /// @param context
+  /// The context to associate with the connection.
+  ///
+  /// @discussion
+  /// If you must manage the memory of the context object, you must set a finalizer
+  /// to dispose of it. If this method is called on a connection which already has
+  /// context associated with it, the finalizer will NOT be invoked. The finalizer
+  /// is only invoked when the connection is being deallocated.
+  ///
+  /// It is recommended that, instead of changing the actual context pointer
+  /// associated with the object, you instead change the state of the context
+  /// object itself.
+  void xpc_connection_set_context(
+    xpc_connection_t connection,
+    ffi.Pointer<ffi.Void> context,
+  ) {
+    return _xpc_connection_set_context(
+      connection,
+      context,
+    );
+  }
+
+  late final _xpc_connection_set_contextPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_connection_t,
+              ffi.Pointer<ffi.Void>)>>('xpc_connection_set_context');
+  late final _xpc_connection_set_context = _xpc_connection_set_contextPtr
+      .asFunction<void Function(xpc_connection_t, ffi.Pointer<ffi.Void>)>();
+
+  /// !
+  /// @function xpc_connection_get_context
+  /// Returns the context associated with the connection.
+  ///
+  /// @param connection
+  /// The connection which is to be examined.
+  ///
+  /// @result
+  /// The context associated with the connection. NULL if there has been no context
+  /// associated with the object.
+  ffi.Pointer<ffi.Void> xpc_connection_get_context(
+    xpc_connection_t connection,
+  ) {
+    return _xpc_connection_get_context(
+      connection,
+    );
+  }
+
+  late final _xpc_connection_get_contextPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(xpc_connection_t)>>(
+      'xpc_connection_get_context');
+  late final _xpc_connection_get_context = _xpc_connection_get_contextPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_connection_set_finalizer_f
+  /// Sets the finalizer for the given connection.
+  ///
+  /// @param connection
+  /// The connection on which to set the finalizer.
+  ///
+  /// @param finalizer
+  /// The function that will be invoked when the connection's retain count has
+  /// dropped to zero and is being torn down.
+  ///
+  /// @discussion
+  /// This method disposes of the context value associated with a connection, as
+  /// set by {@link xpc_connection_set_context}.
+  ///
+  /// For many uses of context objects, this API allows for a convenient shorthand
+  /// for freeing them. For example, for a context object allocated with malloc(3):
+  ///
+  /// xpc_connection_set_finalizer_f(object, free);
+  void xpc_connection_set_finalizer_f(
+    xpc_connection_t connection,
+    xpc_finalizer_t finalizer,
+  ) {
+    return _xpc_connection_set_finalizer_f(
+      connection,
+      finalizer,
+    );
+  }
+
+  late final _xpc_connection_set_finalizer_fPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_connection_t,
+              xpc_finalizer_t)>>('xpc_connection_set_finalizer_f');
+  late final _xpc_connection_set_finalizer_f =
+      _xpc_connection_set_finalizer_fPtr
+          .asFunction<void Function(xpc_connection_t, xpc_finalizer_t)>();
+
+  /// !
+  /// @function xpc_connection_set_peer_code_signing_requirement
+  /// Requires that the connection peer satisfies a code signing requirement.
+  ///
+  /// @param connection
+  /// The connection object which is to be modified.
+  ///
+  /// @param requirement
+  /// The code signing requirement to be satisfied by the peer
+  /// It is safe to deallocate the requirement string after calling `xpc_connection_set_peer_code_signing_requirement`
+  ///
+  /// @result
+  /// 0 on success, non-zero on error
+  ///
+  /// @discussion
+  /// This function will return an error promptly if the code signing requirement string is invalid.
+  ///
+  /// It is a programming error to call `xpc_connection_set_peer_code_signing_requirement` more than once per connection.
+  ///
+  /// All messages received on this connection will be checked to ensure they come from a peer who satisfies
+  /// the code signing requirement. For a listener connection, requests that do not satisfy the requirement
+  /// are dropped. When a reply is expected on the connection and the peer does not satisfy the requirement
+  /// XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT will be delivered instead of the reply.
+  ///
+  /// This API is not supported on embedded platforms and will return ENOTSUP.
+  ///
+  /// @see https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html
+  int xpc_connection_set_peer_code_signing_requirement(
+    xpc_connection_t connection,
+    ffi.Pointer<ffi.Char> requirement,
+  ) {
+    return _xpc_connection_set_peer_code_signing_requirement(
+      connection,
+      requirement,
+    );
+  }
+
+  late final _xpc_connection_set_peer_code_signing_requirementPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Int Function(xpc_connection_t, ffi.Pointer<ffi.Char>)>>(
+      'xpc_connection_set_peer_code_signing_requirement');
+  late final _xpc_connection_set_peer_code_signing_requirement =
+      _xpc_connection_set_peer_code_signing_requirementPtr
+          .asFunction<int Function(xpc_connection_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_rich_error_copy_description
+  /// Copy the string description of an error.
+  ///
+  /// @param error
+  /// The error to be examined.
+  ///
+  /// @result
+  /// The underlying C string for the provided error. This string should be
+  /// disposed of with free(3) when done.
+  ///
+  /// This will return NULL if a string description could not be generated.
+  ffi.Pointer<ffi.Char> xpc_rich_error_copy_description(
+    xpc_rich_error_t error,
+  ) {
+    return _xpc_rich_error_copy_description(
+      error,
+    );
+  }
+
+  late final _xpc_rich_error_copy_descriptionPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(xpc_rich_error_t)>>(
+      'xpc_rich_error_copy_description');
+  late final _xpc_rich_error_copy_description =
+      _xpc_rich_error_copy_descriptionPtr
+          .asFunction<ffi.Pointer<ffi.Char> Function(xpc_rich_error_t)>();
+
+  /// !
+  /// @function xpc_rich_error_can_retry
+  /// Whether the operation the error originated from can be retried.
+  ///
+  /// @param error
+  /// The error to be inspected.
+  ///
+  /// @result
+  /// Whether the operation the error originated from can be retried.
+  bool xpc_rich_error_can_retry(
+    xpc_rich_error_t error,
+  ) {
+    return _xpc_rich_error_can_retry(
+      error,
+    );
+  }
+
+  late final _xpc_rich_error_can_retryPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(xpc_rich_error_t)>>(
+          'xpc_rich_error_can_retry');
+  late final _xpc_rich_error_can_retry = _xpc_rich_error_can_retryPtr
+      .asFunction<bool Function(xpc_rich_error_t)>();
+
+  /// !
+  /// @function xpc_session_copy_description
+  /// Copy the string description of the session.
+  ///
+  /// @param session
+  /// The session to be examined.
+  ///
+  /// @result
+  /// The underlying C string description for the provided session. This string
+  /// should be disposed of with free(3) when done. This will return NULL if a
+  /// string description could not be generated.
+  ffi.Pointer<ffi.Char> xpc_session_copy_description(
+    xpc_session_t session,
+  ) {
+    return _xpc_session_copy_description(
+      session,
+    );
+  }
+
+  late final _xpc_session_copy_descriptionPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(xpc_session_t)>>(
+      'xpc_session_copy_description');
+  late final _xpc_session_copy_description = _xpc_session_copy_descriptionPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(xpc_session_t)>();
+
+  /// !
+  /// @function xpc_session_create_xpc_service
+  /// Creates a new session object representing a connection to the named service.
+  ///
+  /// @param name
+  /// The name of the service to create a session with.
+  ///
+  /// @param target_queue
+  /// The GCD queue onto which session events will be submitted. This may be a
+  /// concurrent queue. This parameter may be NULL, in which case the target queue
+  /// will be libdispatch's default target queue, defined as
+  /// DISPATCH_TARGET_QUEUE_DEFAULT.
+  ///
+  /// @param flags
+  /// Additional attributes which which to create the session.
+  ///
+  /// @param error_out
+  /// An out-parameter that, if set and in the event of an error, will point to an
+  /// {@link xpc_rich_error_t} describing the details of any errors that occurred.
+  ///
+  /// @result
+  /// On success this returns a new session object. The returned session is
+  /// activated by default and can be used to send messages. The caller is
+  /// responsible for disposing of the returned object with {@link xpc_release}
+  /// when it is no longer needed. On failure this will return NULL and if set,
+  /// error_out will be set to an error describing the failure.
+  ///
+  /// @discussion
+  /// This will fail if the specified XPC service is either not found or is
+  /// unavailable.
+  xpc_session_t xpc_session_create_xpc_service(
+    ffi.Pointer<ffi.Char> name,
+    dispatch_queue_t target_queue,
+    int flags,
+    ffi.Pointer<xpc_rich_error_t> error_out,
+  ) {
+    return _xpc_session_create_xpc_service(
+      name,
+      target_queue,
+      flags,
+      error_out,
+    );
+  }
+
+  late final _xpc_session_create_xpc_servicePtr = _lookup<
+          ffi.NativeFunction<
+              xpc_session_t Function(ffi.Pointer<ffi.Char>, dispatch_queue_t,
+                  ffi.Int32, ffi.Pointer<xpc_rich_error_t>)>>(
+      'xpc_session_create_xpc_service');
+  late final _xpc_session_create_xpc_service =
+      _xpc_session_create_xpc_servicePtr.asFunction<
+          xpc_session_t Function(ffi.Pointer<ffi.Char>, dispatch_queue_t, int,
+              ffi.Pointer<xpc_rich_error_t>)>();
+
+  /// !
+  /// @function xpc_session_create_mach_service
+  /// Creates a session with the service defined by the provided Mach service name.
+  ///
+  /// @param mach_service
+  /// The Mach service to create a session with. The service name must exist in the
+  /// Mach bootstrap that is accessible to the process and be advertised in a
+  /// launchd.plist.
+  ///
+  /// @param target_queue
+  /// The GCD queue onto which session events will be submitted. This may be a
+  /// concurrent queue. This parameter may be NULL, in which case the target queue
+  /// will be libdispatch's default target queue, defined as
+  /// DISPATCH_TARGET_QUEUE_DEFAULT.
+  ///
+  /// @param flags
+  /// Additional attributes which which to create the session.
+  ///
+  /// @param error_out
+  /// An out-parameter that, if set and in the event of an error, will point to an
+  /// {@link xpc_rich_error_t} describing the details of any errors that occurred.
+  ///
+  /// @param cancel_handler
+  /// The cancel handler block that will be executed when this session is canceled.
+  ///
+  /// @result
+  /// On success this returns a new session object. The returned session is
+  /// activated by default and can be used to send messages. The caller is
+  /// responsible for disposing of the returned object with {@link xpc_release}
+  /// when it is no longer needed. On failure this will return NULL and if set,
+  /// error_out will be set to an error describing the failure.
+  ///
+  /// @discussion
+  /// This will fail if the specified Mach service is either not found in the
+  /// bootstrap or is otherwise unavailable.
+  xpc_session_t xpc_session_create_mach_service(
+    ffi.Pointer<ffi.Char> mach_service,
+    dispatch_queue_t target_queue,
+    int flags,
+    ffi.Pointer<xpc_rich_error_t> error_out,
+  ) {
+    return _xpc_session_create_mach_service(
+      mach_service,
+      target_queue,
+      flags,
+      error_out,
+    );
+  }
+
+  late final _xpc_session_create_mach_servicePtr = _lookup<
+          ffi.NativeFunction<
+              xpc_session_t Function(ffi.Pointer<ffi.Char>, dispatch_queue_t,
+                  ffi.Int32, ffi.Pointer<xpc_rich_error_t>)>>(
+      'xpc_session_create_mach_service');
+  late final _xpc_session_create_mach_service =
+      _xpc_session_create_mach_servicePtr.asFunction<
+          xpc_session_t Function(ffi.Pointer<ffi.Char>, dispatch_queue_t, int,
+              ffi.Pointer<xpc_rich_error_t>)>();
+
+  /// !
+  /// @function xpc_session_set_incoming_message_handler
+  /// Set an incoming message handler for a session.
+  ///
+  /// @param session
+  /// The session to set the handler for.
+  ///
+  /// @param handler
+  /// The handler block to be called when a message originated by the peer is
+  /// received through the provided session.
+  ///
+  /// @discussion
+  /// This can only be called on an inactive session. Calling this on a session
+  /// with an existing event handler will replace it.
+  void xpc_session_set_incoming_message_handler(
+    xpc_session_t session,
+    xpc_session_incoming_message_handler_t handler,
+  ) {
+    return _xpc_session_set_incoming_message_handler(
+      session,
+      handler,
+    );
+  }
+
+  late final _xpc_session_set_incoming_message_handlerPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  xpc_session_t, xpc_session_incoming_message_handler_t)>>(
+      'xpc_session_set_incoming_message_handler');
+  late final _xpc_session_set_incoming_message_handler =
+      _xpc_session_set_incoming_message_handlerPtr.asFunction<
+          void Function(
+              xpc_session_t, xpc_session_incoming_message_handler_t)>();
+
+  /// !
+  /// @function xpc_session_set_cancel_handler
+  /// Set the cancel handler for a session.
+  ///
+  /// @param session
+  /// The session to set the cancel handler for.
+  ///
+  /// @param cancel_handler
+  /// The cancel handler block that will be executed when this session is canceled.
+  ///
+  /// @discussion
+  /// This can only be called on an inactive session. Calling this on a session
+  /// with an existing cancel handler will replace the existing cancel handler with
+  /// the one provided.
+  void xpc_session_set_cancel_handler(
+    xpc_session_t session,
+    xpc_session_cancel_handler_t cancel_handler,
+  ) {
+    return _xpc_session_set_cancel_handler(
+      session,
+      cancel_handler,
+    );
+  }
+
+  late final _xpc_session_set_cancel_handlerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_session_t,
+              xpc_session_cancel_handler_t)>>('xpc_session_set_cancel_handler');
+  late final _xpc_session_set_cancel_handler =
+      _xpc_session_set_cancel_handlerPtr.asFunction<
+          void Function(xpc_session_t, xpc_session_cancel_handler_t)>();
+
+  /// !
+  /// @function xpc_session_activate
+  /// Activates a session.
+  ///
+  /// @param session
+  /// The session object to activate.
+  ///
+  /// @param error_out
+  /// An out-parameter that, if set and in the event of an error, will point to an
+  /// {@link xpc_rich_error_t} describing the details of any errors that occurred.
+  ///
+  /// @result
+  /// Returns whether session activation succeeded.
+  ///
+  /// @discussion
+  /// xpc_session_activate must not be called on a session that has been already
+  /// activated. Releasing the last reference on an inactive session that was
+  /// created with an xpc_session_create*() is undefined.
+  bool xpc_session_activate(
+    xpc_session_t session,
+    ffi.Pointer<xpc_rich_error_t> error_out,
+  ) {
+    return _xpc_session_activate(
+      session,
+      error_out,
+    );
+  }
+
+  late final _xpc_session_activatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(xpc_session_t,
+              ffi.Pointer<xpc_rich_error_t>)>>('xpc_session_activate');
+  late final _xpc_session_activate = _xpc_session_activatePtr.asFunction<
+      bool Function(xpc_session_t, ffi.Pointer<xpc_rich_error_t>)>();
+
+  /// !
+  /// @function xpc_session_cancel
+  /// Cancels the session. After this call, any messages that have not yet been
+  /// sent will be discarded, and the connection will be unwound. If there are
+  /// messages that are awaiting replies, they will have their reply handlers
+  /// invoked with an appropriate {@link xpc_rich_error_t}.
+  ///
+  /// @param session
+  /// The session object to cancel.
+  ///
+  /// @discussion
+  /// Session must have been activated to be canceled. Cancellation is asynchronous
+  /// and non-preemptive.
+  void xpc_session_cancel(
+    xpc_session_t session,
+  ) {
+    return _xpc_session_cancel(
+      session,
+    );
+  }
+
+  late final _xpc_session_cancelPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(xpc_session_t)>>(
+          'xpc_session_cancel');
+  late final _xpc_session_cancel =
+      _xpc_session_cancelPtr.asFunction<void Function(xpc_session_t)>();
+
+  /// !
+  /// @function xpc_session_send_message
+  /// Sends a message over the session to the destination service.
+  ///
+  /// @param session
+  /// The session to send the message over.
+  ///
+  /// @param message
+  /// The message to send. This must be a dictionary object.
+  ///
+  /// @result
+  /// In the event of an error this will return an {@link xpc_rich_error_t}
+  /// detailing the reasons for the failure. On success this return value will be
+  /// NULL.
+  ///
+  /// @discussion
+  /// Messages are delivered in FIFO order. This API is safe to call from multiple
+  /// GCD queues. There is no indication that a message was delivered successfully.
+  /// This is because even once the message has been successfully enqueued on the
+  /// remote end, there are no guarantees about when the runtime will dequeue the
+  /// message and invoke the other session's event handler block.
+  ///
+  /// If this is invoked on an inactive session, one created using the
+  /// XPC_SESSION_CREATE_INACTIVE flag and hasn't yet been activated, the process
+  /// will crash.
+  xpc_rich_error_t xpc_session_send_message(
+    xpc_session_t session,
+    xpc_object_t message,
+  ) {
+    return _xpc_session_send_message(
+      session,
+      message,
+    );
+  }
+
+  late final _xpc_session_send_messagePtr = _lookup<
+      ffi.NativeFunction<
+          xpc_rich_error_t Function(
+              xpc_session_t, xpc_object_t)>>('xpc_session_send_message');
+  late final _xpc_session_send_message = _xpc_session_send_messagePtr
+      .asFunction<xpc_rich_error_t Function(xpc_session_t, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_session_send_message_with_reply_sync
+  /// Sends a message over the session to the destination service and blocks the
+  /// caller until a reply is received.
+  ///
+  /// @param session
+  /// The session over which the message will be sent.
+  ///
+  /// @param message
+  /// The message to send. This must be a dictionary object.
+  ///
+  /// @param error_out
+  /// If this parameter is provided, in the event of a failure it will point to an
+  /// {@link xpc_rich_error_t} describing the details of the error.
+  ///
+  /// @result
+  /// On success, this will return the reply message as an {@link xpc_object_t}.
+  /// Otherwise NULL is returned.
+  ///
+  /// @discussion
+  /// This API supports priority inversion avoidance and should be used instead of
+  /// combining xpc_session_send_message_with_reply_async with a semaphore.
+  ///
+  /// If this is invoked on an inactive session, for example one created using the
+  /// XPC_SESSION_CREATE_INACTIVE flag that hasn't yet been activated, the process
+  /// will crash.
+  ///
+  /// Invoking this API while the target queue is blocked would lead to deadlocks
+  /// in certain scenarios. For that reason, invoking it from the target queue
+  /// results in a crash.
+  ///
+  /// Be judicious about your use of this API. It can block indefinitely, so if you
+  /// are using it to implement an API that can be called from the main queue, you
+  /// may wish to consider allowing the API to take a queue and callback block so
+  /// that results may be delivered asynchronously if possible.
+  xpc_object_t xpc_session_send_message_with_reply_sync(
+    xpc_session_t session,
+    xpc_object_t message,
+    ffi.Pointer<xpc_rich_error_t> error_out,
+  ) {
+    return _xpc_session_send_message_with_reply_sync(
+      session,
+      message,
+      error_out,
+    );
+  }
+
+  late final _xpc_session_send_message_with_reply_syncPtr = _lookup<
+          ffi.NativeFunction<
+              xpc_object_t Function(
+                  xpc_session_t, xpc_object_t, ffi.Pointer<xpc_rich_error_t>)>>(
+      'xpc_session_send_message_with_reply_sync');
+  late final _xpc_session_send_message_with_reply_sync =
+      _xpc_session_send_message_with_reply_syncPtr.asFunction<
+          xpc_object_t Function(
+              xpc_session_t, xpc_object_t, ffi.Pointer<xpc_rich_error_t>)>();
+
+  /// !
+  /// @function xpc_session_send_message_with_reply_async
+  /// Sends a message over the session to the destination service and executes the
+  /// provided callback when a reply is received.
+  ///
+  /// @param session
+  /// The session over which the message will be sent.
+  ///
+  /// @param message
+  /// The message to send. This must be a dictionary object.
+  ///
+  /// @param reply_handler
+  /// The handler block to invoke when a reply to the message is received from the
+  /// session. If the session is torn down before the reply was received, for
+  /// example if the remote service exits prematurely, this handler will be
+  /// executed and passed an appropriate {@link xpc_rich_error_t} object describing
+  /// the failure.
+  ///
+  /// @discussion
+  /// If this is invoked on an inactive session, for example one created using the
+  /// XPC_SESSION_CREATE_INACTIVE flag that hasn't yet been activated, the process
+  /// will crash.
+  ///
+  /// If this is invoked on a cancelled session, this will generate a simulated
+  /// crash.
+  void xpc_session_send_message_with_reply_async(
+    xpc_session_t session,
+    xpc_object_t message,
+    xpc_session_reply_handler_t reply_handler,
+  ) {
+    return _xpc_session_send_message_with_reply_async(
+      session,
+      message,
+      reply_handler,
+    );
+  }
+
+  late final _xpc_session_send_message_with_reply_asyncPtr = _lookup<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  xpc_session_t, xpc_object_t, xpc_session_reply_handler_t)>>(
+      'xpc_session_send_message_with_reply_async');
+  late final _xpc_session_send_message_with_reply_async =
+      _xpc_session_send_message_with_reply_asyncPtr.asFunction<
+          void Function(
+              xpc_session_t, xpc_object_t, xpc_session_reply_handler_t)>();
+
+  int vm_stats(
+    ffi.Pointer<ffi.Void> info,
+    ffi.Pointer<ffi.UnsignedInt> count,
+  ) {
+    return _vm_stats(
+      info,
+      count,
+    );
+  }
+
+  late final _vm_statsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.UnsignedInt>)>>('vm_stats');
+  late final _vm_stats = _vm_statsPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.UnsignedInt>)>();
+
+  late final ffi.Pointer<vm_size_t> _vm_page_size =
+      _lookup<vm_size_t>('vm_page_size');
+
+  int get vm_page_size => _vm_page_size.value;
+
+  set vm_page_size(int value) => _vm_page_size.value = value;
+
+  late final ffi.Pointer<vm_size_t> _vm_page_mask =
+      _lookup<vm_size_t>('vm_page_mask');
+
+  int get vm_page_mask => _vm_page_mask.value;
+
+  set vm_page_mask(int value) => _vm_page_mask.value = value;
+
+  late final ffi.Pointer<ffi.Int> _vm_page_shift =
+      _lookup<ffi.Int>('vm_page_shift');
+
+  int get vm_page_shift => _vm_page_shift.value;
+
+  set vm_page_shift(int value) => _vm_page_shift.value = value;
+
+  late final ffi.Pointer<vm_size_t> _vm_kernel_page_size =
+      _lookup<vm_size_t>('vm_kernel_page_size');
+
+  int get vm_kernel_page_size => _vm_kernel_page_size.value;
+
+  set vm_kernel_page_size(int value) => _vm_kernel_page_size.value = value;
+
+  late final ffi.Pointer<vm_size_t> _vm_kernel_page_mask =
+      _lookup<vm_size_t>('vm_kernel_page_mask');
+
+  int get vm_kernel_page_mask => _vm_kernel_page_mask.value;
+
+  set vm_kernel_page_mask(int value) => _vm_kernel_page_mask.value = value;
+
+  late final ffi.Pointer<ffi.Int> _vm_kernel_page_shift =
+      _lookup<ffi.Int>('vm_kernel_page_shift');
+
+  int get vm_kernel_page_shift => _vm_kernel_page_shift.value;
+
+  set vm_kernel_page_shift(int value) => _vm_kernel_page_shift.value = value;
+
+  late final ffi.Pointer<NDR_record_t> _NDR_record =
+      _lookup<NDR_record_t>('NDR_record');
+
+  NDR_record_t get NDR_record => _NDR_record.ref;
+
+  int mig_get_reply_port() {
+    return _mig_get_reply_port();
+  }
+
+  late final _mig_get_reply_portPtr =
+      _lookup<ffi.NativeFunction<mach_port_t Function()>>('mig_get_reply_port');
+  late final _mig_get_reply_port =
+      _mig_get_reply_portPtr.asFunction<int Function()>();
+
+  void mig_dealloc_reply_port(
+    int reply_port,
+  ) {
+    return _mig_dealloc_reply_port(
+      reply_port,
+    );
+  }
+
+  late final _mig_dealloc_reply_portPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(mach_port_t)>>(
+          'mig_dealloc_reply_port');
+  late final _mig_dealloc_reply_port =
+      _mig_dealloc_reply_portPtr.asFunction<void Function(int)>();
+
+  void mig_put_reply_port(
+    int reply_port,
+  ) {
+    return _mig_put_reply_port(
+      reply_port,
+    );
+  }
+
+  late final _mig_put_reply_portPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(mach_port_t)>>(
+          'mig_put_reply_port');
+  late final _mig_put_reply_port =
+      _mig_put_reply_portPtr.asFunction<void Function(int)>();
+
+  int mig_strncpy(
+    ffi.Pointer<ffi.Char> dest,
+    ffi.Pointer<ffi.Char> src,
+    int len,
+  ) {
+    return _mig_strncpy(
+      dest,
+      src,
+      len,
+    );
+  }
+
+  late final _mig_strncpyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Int)>>('mig_strncpy');
+  late final _mig_strncpy = _mig_strncpyPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  int mig_strncpy_zerofill(
+    ffi.Pointer<ffi.Char> dest,
+    ffi.Pointer<ffi.Char> src,
+    int len,
+  ) {
+    return _mig_strncpy_zerofill(
+      dest,
+      src,
+      len,
+    );
+  }
+
+  late final _mig_strncpy_zerofillPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>,
+              ffi.Int)>>('mig_strncpy_zerofill');
+  late final _mig_strncpy_zerofill = _mig_strncpy_zerofillPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>, int)>();
+
+  void mig_allocate(
+    ffi.Pointer<vm_address_t> arg0,
+    int arg1,
+  ) {
+    return _mig_allocate(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _mig_allocatePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<vm_address_t>, vm_size_t)>>('mig_allocate');
+  late final _mig_allocate = _mig_allocatePtr
+      .asFunction<void Function(ffi.Pointer<vm_address_t>, int)>();
+
+  void mig_deallocate(
+    int arg0,
+    int arg1,
+  ) {
+    return _mig_deallocate(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _mig_deallocatePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(vm_address_t, vm_size_t)>>(
+          'mig_deallocate');
+  late final _mig_deallocate =
+      _mig_deallocatePtr.asFunction<void Function(int, int)>();
+
+  int clock_set_time(
+    int clock_ctrl,
+    mach_timespec_t new_time,
+  ) {
+    return _clock_set_time(
+      clock_ctrl,
+      new_time,
+    );
+  }
+
+  late final _clock_set_timePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              clock_ctrl_t, mach_timespec_t)>>('clock_set_time');
+  late final _clock_set_time =
+      _clock_set_timePtr.asFunction<int Function(int, mach_timespec_t)>();
+
+  int clock_set_attributes(
+    int clock_ctrl,
+    int flavor,
+    clock_attr_t clock_attr,
+    int clock_attrCnt,
+  ) {
+    return _clock_set_attributes(
+      clock_ctrl,
+      flavor,
+      clock_attr,
+      clock_attrCnt,
+    );
+  }
+
+  late final _clock_set_attributesPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(clock_ctrl_t, clock_flavor_t, clock_attr_t,
+              mach_msg_type_number_t)>>('clock_set_attributes');
+  late final _clock_set_attributes = _clock_set_attributesPtr
+      .asFunction<int Function(int, int, clock_attr_t, int)>();
+
+  int host_get_boot_info(
+    int host_priv,
+    ffi.Pointer<ffi.Char> boot_info,
+  ) {
+    return _host_get_boot_info(
+      host_priv,
+      boot_info,
+    );
+  }
+
+  late final _host_get_boot_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t, ffi.Pointer<ffi.Char>)>>('host_get_boot_info');
+  late final _host_get_boot_info = _host_get_boot_infoPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>)>();
+
+  int host_reboot(
+    int host_priv,
+    int options,
+  ) {
+    return _host_reboot(
+      host_priv,
+      options,
+    );
+  }
+
+  late final _host_rebootPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(host_priv_t, ffi.Int)>>(
+          'host_reboot');
+  late final _host_reboot =
+      _host_rebootPtr.asFunction<int Function(int, int)>();
+
+  int host_priv_statistics(
+    int host_priv,
+    int flavor,
+    host_info_t host_info_out,
+    ffi.Pointer<mach_msg_type_number_t> host_info_outCnt,
+  ) {
+    return _host_priv_statistics(
+      host_priv,
+      flavor,
+      host_info_out,
+      host_info_outCnt,
+    );
+  }
+
+  late final _host_priv_statisticsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, host_flavor_t, host_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_priv_statistics');
+  late final _host_priv_statistics = _host_priv_statisticsPtr.asFunction<
+      int Function(
+          int, int, host_info_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_default_memory_manager(
+    int host_priv,
+    ffi.Pointer<memory_object_default_t> default_manager,
+    int cluster_size,
+  ) {
+    return _host_default_memory_manager(
+      host_priv,
+      default_manager,
+      cluster_size,
+    );
+  }
+
+  late final _host_default_memory_managerPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              ffi.Pointer<memory_object_default_t>,
+              memory_object_cluster_size_t)>>('host_default_memory_manager');
+  late final _host_default_memory_manager =
+      _host_default_memory_managerPtr.asFunction<
+          int Function(int, ffi.Pointer<memory_object_default_t>, int)>();
+
+  int vm_wire(
+    int host_priv,
+    int task,
+    int address,
+    int size,
+    int desired_access,
+  ) {
+    return _vm_wire(
+      host_priv,
+      task,
+      address,
+      size,
+      desired_access,
+    );
+  }
+
+  late final _vm_wirePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, vm_map_t, vm_address_t, vm_size_t,
+              vm_prot_t)>>('vm_wire');
+  late final _vm_wire =
+      _vm_wirePtr.asFunction<int Function(int, int, int, int, int)>();
+
+  int thread_wire(
+    int host_priv,
+    int thread,
+    int wired,
+  ) {
+    return _thread_wire(
+      host_priv,
+      thread,
+      wired,
+    );
+  }
+
+  late final _thread_wirePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t, thread_act_t, boolean_t)>>('thread_wire');
+  late final _thread_wire =
+      _thread_wirePtr.asFunction<int Function(int, int, int)>();
+
+  int vm_allocate_cpm(
+    int host_priv,
+    int task,
+    ffi.Pointer<vm_address_t> address,
+    int size,
+    int flags,
+  ) {
+    return _vm_allocate_cpm(
+      host_priv,
+      task,
+      address,
+      size,
+      flags,
+    );
+  }
+
+  late final _vm_allocate_cpmPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              vm_map_t,
+              ffi.Pointer<vm_address_t>,
+              vm_size_t,
+              ffi.Int)>>('vm_allocate_cpm');
+  late final _vm_allocate_cpm = _vm_allocate_cpmPtr.asFunction<
+      int Function(int, int, ffi.Pointer<vm_address_t>, int, int)>();
+
+  int host_processors(
+    int host_priv,
+    ffi.Pointer<processor_array_t> out_processor_list,
+    ffi.Pointer<mach_msg_type_number_t> out_processor_listCnt,
+  ) {
+    return _host_processors(
+      host_priv,
+      out_processor_list,
+      out_processor_listCnt,
+    );
+  }
+
+  late final _host_processorsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, ffi.Pointer<processor_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_processors');
+  late final _host_processors = _host_processorsPtr.asFunction<
+      int Function(int, ffi.Pointer<processor_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_get_clock_control(
+    int host_priv,
+    int clock_id,
+    ffi.Pointer<clock_ctrl_t> clock_ctrl,
+  ) {
+    return _host_get_clock_control(
+      host_priv,
+      clock_id,
+      clock_ctrl,
+    );
+  }
+
+  late final _host_get_clock_controlPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, clock_id_t,
+              ffi.Pointer<clock_ctrl_t>)>>('host_get_clock_control');
+  late final _host_get_clock_control = _host_get_clock_controlPtr
+      .asFunction<int Function(int, int, ffi.Pointer<clock_ctrl_t>)>();
+
+  int kmod_create(
+    int host_priv,
+    int info,
+    ffi.Pointer<kmod_t> module,
+  ) {
+    return _kmod_create(
+      host_priv,
+      info,
+      module,
+    );
+  }
+
+  late final _kmod_createPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t, vm_address_t, ffi.Pointer<kmod_t>)>>('kmod_create');
+  late final _kmod_create =
+      _kmod_createPtr.asFunction<int Function(int, int, ffi.Pointer<kmod_t>)>();
+
+  int kmod_destroy(
+    int host_priv,
+    int module,
+  ) {
+    return _kmod_destroy(
+      host_priv,
+      module,
+    );
+  }
+
+  late final _kmod_destroyPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(host_priv_t, kmod_t)>>(
+          'kmod_destroy');
+  late final _kmod_destroy =
+      _kmod_destroyPtr.asFunction<int Function(int, int)>();
+
+  int kmod_control(
+    int host_priv,
+    int module,
+    int flavor,
+    ffi.Pointer<kmod_args_t> data,
+    ffi.Pointer<mach_msg_type_number_t> dataCnt,
+  ) {
+    return _kmod_control(
+      host_priv,
+      module,
+      flavor,
+      data,
+      dataCnt,
+    );
+  }
+
+  late final _kmod_controlPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              kmod_t,
+              kmod_control_flavor_t,
+              ffi.Pointer<kmod_args_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('kmod_control');
+  late final _kmod_control = _kmod_controlPtr.asFunction<
+      int Function(int, int, int, ffi.Pointer<kmod_args_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_get_special_port(
+    int host_priv,
+    int node,
+    int which,
+    ffi.Pointer<mach_port_t> port,
+  ) {
+    return _host_get_special_port(
+      host_priv,
+      node,
+      which,
+      port,
+    );
+  }
+
+  late final _host_get_special_portPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, ffi.Int, ffi.Int,
+              ffi.Pointer<mach_port_t>)>>('host_get_special_port');
+  late final _host_get_special_port = _host_get_special_portPtr
+      .asFunction<int Function(int, int, int, ffi.Pointer<mach_port_t>)>();
+
+  int host_set_special_port(
+    int host_priv,
+    int which,
+    int port,
+  ) {
+    return _host_set_special_port(
+      host_priv,
+      which,
+      port,
+    );
+  }
+
+  late final _host_set_special_portPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t, ffi.Int, mach_port_t)>>('host_set_special_port');
+  late final _host_set_special_port =
+      _host_set_special_portPtr.asFunction<int Function(int, int, int)>();
+
+  int host_set_exception_ports(
+    int host_priv,
+    int exception_mask,
+    int new_port,
+    int behavior,
+    int new_flavor,
+  ) {
+    return _host_set_exception_ports(
+      host_priv,
+      exception_mask,
+      new_port,
+      behavior,
+      new_flavor,
+    );
+  }
+
+  late final _host_set_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              exception_mask_t,
+              mach_port_t,
+              exception_behavior_t,
+              thread_state_flavor_t)>>('host_set_exception_ports');
+  late final _host_set_exception_ports = _host_set_exception_portsPtr
+      .asFunction<int Function(int, int, int, int, int)>();
+
+  int host_get_exception_ports(
+    int host_priv,
+    int exception_mask,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_array_t old_handlers,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _host_get_exception_ports(
+      host_priv,
+      exception_mask,
+      masks,
+      masksCnt,
+      old_handlers,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _host_get_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              exception_mask_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('host_get_exception_ports');
+  late final _host_get_exception_ports =
+      _host_get_exception_portsPtr.asFunction<
+          int Function(
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int host_swap_exception_ports(
+    int host_priv,
+    int exception_mask,
+    int new_port,
+    int behavior,
+    int new_flavor,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_array_t old_handlerss,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _host_swap_exception_ports(
+      host_priv,
+      exception_mask,
+      new_port,
+      behavior,
+      new_flavor,
+      masks,
+      masksCnt,
+      old_handlerss,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _host_swap_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              exception_mask_t,
+              mach_port_t,
+              exception_behavior_t,
+              thread_state_flavor_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('host_swap_exception_ports');
+  late final _host_swap_exception_ports =
+      _host_swap_exception_portsPtr.asFunction<
+          int Function(
+              int,
+              int,
+              int,
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int mach_vm_wire(
+    int host_priv,
+    int task,
+    int address,
+    int size,
+    int desired_access,
+  ) {
+    return _mach_vm_wire(
+      host_priv,
+      task,
+      address,
+      size,
+      desired_access,
+    );
+  }
+
+  late final _mach_vm_wirePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, vm_map_t, mach_vm_address_t,
+              mach_vm_size_t, vm_prot_t)>>('mach_vm_wire');
+  late final _mach_vm_wire =
+      _mach_vm_wirePtr.asFunction<int Function(int, int, int, int, int)>();
+
+  int host_processor_sets(
+    int host_priv,
+    ffi.Pointer<processor_set_name_array_t> processor_sets,
+    ffi.Pointer<mach_msg_type_number_t> processor_setsCnt,
+  ) {
+    return _host_processor_sets(
+      host_priv,
+      processor_sets,
+      processor_setsCnt,
+    );
+  }
+
+  late final _host_processor_setsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              ffi.Pointer<processor_set_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_processor_sets');
+  late final _host_processor_sets = _host_processor_setsPtr.asFunction<
+      int Function(int, ffi.Pointer<processor_set_name_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_processor_set_priv(
+    int host_priv,
+    int set_name,
+    ffi.Pointer<processor_set_t> set1,
+  ) {
+    return _host_processor_set_priv(
+      host_priv,
+      set_name,
+      set1,
+    );
+  }
+
+  late final _host_processor_set_privPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, processor_set_name_t,
+              ffi.Pointer<processor_set_t>)>>('host_processor_set_priv');
+  late final _host_processor_set_priv = _host_processor_set_privPtr
+      .asFunction<int Function(int, int, ffi.Pointer<processor_set_t>)>();
+
+  int host_set_UNDServer(
+    int host,
+    int server,
+  ) {
+    return _host_set_UNDServer(
+      host,
+      server,
+    );
+  }
+
+  late final _host_set_UNDServerPtr = _lookup<
+          ffi
+          .NativeFunction<kern_return_t Function(host_priv_t, UNDServerRef)>>(
+      'host_set_UNDServer');
+  late final _host_set_UNDServer =
+      _host_set_UNDServerPtr.asFunction<int Function(int, int)>();
+
+  int host_get_UNDServer(
+    int host,
+    ffi.Pointer<UNDServerRef> server,
+  ) {
+    return _host_get_UNDServer(
+      host,
+      server,
+    );
+  }
+
+  late final _host_get_UNDServerPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t, ffi.Pointer<UNDServerRef>)>>('host_get_UNDServer');
+  late final _host_get_UNDServer = _host_get_UNDServerPtr
+      .asFunction<int Function(int, ffi.Pointer<UNDServerRef>)>();
+
+  int kext_request(
+    int host_priv,
+    int user_log_flags,
+    int request_data,
+    int request_dataCnt,
+    ffi.Pointer<vm_offset_t> response_data,
+    ffi.Pointer<mach_msg_type_number_t> response_dataCnt,
+    ffi.Pointer<vm_offset_t> log_data,
+    ffi.Pointer<mach_msg_type_number_t> log_dataCnt,
+    ffi.Pointer<kern_return_t> op_result,
+  ) {
+    return _kext_request(
+      host_priv,
+      user_log_flags,
+      request_data,
+      request_dataCnt,
+      response_data,
+      response_dataCnt,
+      log_data,
+      log_dataCnt,
+      op_result,
+    );
+  }
+
+  late final _kext_requestPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              ffi.Uint32,
+              vm_offset_t,
+              mach_msg_type_number_t,
+              ffi.Pointer<vm_offset_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<vm_offset_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<kern_return_t>)>>('kext_request');
+  late final _kext_request = _kext_requestPtr.asFunction<
+      int Function(
+          int,
+          int,
+          int,
+          int,
+          ffi.Pointer<vm_offset_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<vm_offset_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<kern_return_t>)>();
+
+  int host_security_create_task_token(
+    int host_security,
+    int parent_task,
+    security_token_t sec_token,
+    audit_token_t audit_token,
+    int host,
+    ledger_array_t ledgers,
+    int ledgersCnt,
+    int inherit_memory,
+    ffi.Pointer<task_t> child_task,
+  ) {
+    return _host_security_create_task_token(
+      host_security,
+      parent_task,
+      sec_token,
+      audit_token,
+      host,
+      ledgers,
+      ledgersCnt,
+      inherit_memory,
+      child_task,
+    );
+  }
+
+  late final _host_security_create_task_tokenPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_security_t,
+              task_t,
+              security_token_t,
+              audit_token_t,
+              host_t,
+              ledger_array_t,
+              mach_msg_type_number_t,
+              boolean_t,
+              ffi.Pointer<task_t>)>>('host_security_create_task_token');
+  late final _host_security_create_task_token =
+      _host_security_create_task_tokenPtr.asFunction<
+          int Function(int, int, security_token_t, audit_token_t, int,
+              ledger_array_t, int, int, ffi.Pointer<task_t>)>();
+
+  int host_security_set_task_token(
+    int host_security,
+    int target_task,
+    security_token_t sec_token,
+    audit_token_t audit_token,
+    int host,
+  ) {
+    return _host_security_set_task_token(
+      host_security,
+      target_task,
+      sec_token,
+      audit_token,
+      host,
+    );
+  }
+
+  late final _host_security_set_task_tokenPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_security_t, task_t, security_token_t,
+              audit_token_t, host_t)>>('host_security_set_task_token');
+  late final _host_security_set_task_token =
+      _host_security_set_task_tokenPtr.asFunction<
+          int Function(int, int, security_token_t, audit_token_t, int)>();
+
+  int processor_start(
+    int processor,
+  ) {
+    return _processor_start(
+      processor,
+    );
+  }
+
+  late final _processor_startPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(processor_t)>>(
+          'processor_start');
+  late final _processor_start =
+      _processor_startPtr.asFunction<int Function(int)>();
+
+  int processor_exit(
+    int processor,
+  ) {
+    return _processor_exit(
+      processor,
+    );
+  }
+
+  late final _processor_exitPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(processor_t)>>(
+          'processor_exit');
+  late final _processor_exit =
+      _processor_exitPtr.asFunction<int Function(int)>();
+
+  int processor_info(
+    int processor,
+    int flavor,
+    ffi.Pointer<host_t> host,
+    processor_info_t processor_info_out,
+    ffi.Pointer<mach_msg_type_number_t> processor_info_outCnt,
+  ) {
+    return _processor_info(
+      processor,
+      flavor,
+      host,
+      processor_info_out,
+      processor_info_outCnt,
+    );
+  }
+
+  late final _processor_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              processor_t,
+              processor_flavor_t,
+              ffi.Pointer<host_t>,
+              processor_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('processor_info');
+  late final _processor_info = _processor_infoPtr.asFunction<
+      int Function(int, int, ffi.Pointer<host_t>, processor_info_t,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int processor_control(
+    int processor,
+    processor_info_t processor_cmd,
+    int processor_cmdCnt,
+  ) {
+    return _processor_control(
+      processor,
+      processor_cmd,
+      processor_cmdCnt,
+    );
+  }
+
+  late final _processor_controlPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(processor_t, processor_info_t,
+              mach_msg_type_number_t)>>('processor_control');
+  late final _processor_control = _processor_controlPtr
+      .asFunction<int Function(int, processor_info_t, int)>();
+
+  int processor_assign(
+    int processor,
+    int new_set,
+    int wait,
+  ) {
+    return _processor_assign(
+      processor,
+      new_set,
+      wait,
+    );
+  }
+
+  late final _processor_assignPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              processor_t, processor_set_t, boolean_t)>>('processor_assign');
+  late final _processor_assign =
+      _processor_assignPtr.asFunction<int Function(int, int, int)>();
+
+  int processor_get_assignment(
+    int processor,
+    ffi.Pointer<processor_set_name_t> assigned_set,
+  ) {
+    return _processor_get_assignment(
+      processor,
+      assigned_set,
+    );
+  }
+
+  late final _processor_get_assignmentPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(processor_t,
+              ffi.Pointer<processor_set_name_t>)>>('processor_get_assignment');
+  late final _processor_get_assignment = _processor_get_assignmentPtr
+      .asFunction<int Function(int, ffi.Pointer<processor_set_name_t>)>();
+
+  int processor_set_statistics(
+    int pset,
+    int flavor,
+    processor_set_info_t info_out,
+    ffi.Pointer<mach_msg_type_number_t> info_outCnt,
+  ) {
+    return _processor_set_statistics(
+      pset,
+      flavor,
+      info_out,
+      info_outCnt,
+    );
+  }
+
+  late final _processor_set_statisticsPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  processor_set_name_t,
+                  processor_set_flavor_t,
+                  processor_set_info_t,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'processor_set_statistics');
+  late final _processor_set_statistics =
+      _processor_set_statisticsPtr.asFunction<
+          int Function(int, int, processor_set_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int processor_set_destroy(
+    int set1,
+  ) {
+    return _processor_set_destroy(
+      set1,
+    );
+  }
+
+  late final _processor_set_destroyPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(processor_set_t)>>(
+          'processor_set_destroy');
+  late final _processor_set_destroy =
+      _processor_set_destroyPtr.asFunction<int Function(int)>();
+
+  int processor_set_max_priority(
+    int processor_set,
+    int max_priority,
+    int change_threads,
+  ) {
+    return _processor_set_max_priority(
+      processor_set,
+      max_priority,
+      change_threads,
+    );
+  }
+
+  late final _processor_set_max_priorityPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(processor_set_t, ffi.Int,
+              boolean_t)>>('processor_set_max_priority');
+  late final _processor_set_max_priority =
+      _processor_set_max_priorityPtr.asFunction<int Function(int, int, int)>();
+
+  int processor_set_policy_enable(
+    int processor_set,
+    int policy,
+  ) {
+    return _processor_set_policy_enable(
+      processor_set,
+      policy,
+    );
+  }
+
+  late final _processor_set_policy_enablePtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(processor_set_t, ffi.Int)>>(
+      'processor_set_policy_enable');
+  late final _processor_set_policy_enable =
+      _processor_set_policy_enablePtr.asFunction<int Function(int, int)>();
+
+  int processor_set_policy_disable(
+    int processor_set,
+    int policy,
+    int change_threads,
+  ) {
+    return _processor_set_policy_disable(
+      processor_set,
+      policy,
+      change_threads,
+    );
+  }
+
+  late final _processor_set_policy_disablePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(processor_set_t, ffi.Int,
+              boolean_t)>>('processor_set_policy_disable');
+  late final _processor_set_policy_disable = _processor_set_policy_disablePtr
+      .asFunction<int Function(int, int, int)>();
+
+  int processor_set_tasks(
+    int processor_set,
+    ffi.Pointer<task_array_t> task_list,
+    ffi.Pointer<mach_msg_type_number_t> task_listCnt,
+  ) {
+    return _processor_set_tasks(
+      processor_set,
+      task_list,
+      task_listCnt,
+    );
+  }
+
+  late final _processor_set_tasksPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(processor_set_t, ffi.Pointer<task_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('processor_set_tasks');
+  late final _processor_set_tasks = _processor_set_tasksPtr.asFunction<
+      int Function(int, ffi.Pointer<task_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int processor_set_threads(
+    int processor_set,
+    ffi.Pointer<thread_act_array_t> thread_list,
+    ffi.Pointer<mach_msg_type_number_t> thread_listCnt,
+  ) {
+    return _processor_set_threads(
+      processor_set,
+      thread_list,
+      thread_listCnt,
+    );
+  }
+
+  late final _processor_set_threadsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              processor_set_t,
+              ffi.Pointer<thread_act_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('processor_set_threads');
+  late final _processor_set_threads = _processor_set_threadsPtr.asFunction<
+      int Function(int, ffi.Pointer<thread_act_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int processor_set_policy_control(
+    int pset,
+    int flavor,
+    processor_set_info_t policy_info,
+    int policy_infoCnt,
+    int change,
+  ) {
+    return _processor_set_policy_control(
+      pset,
+      flavor,
+      policy_info,
+      policy_infoCnt,
+      change,
+    );
+  }
+
+  late final _processor_set_policy_controlPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              processor_set_t,
+              processor_set_flavor_t,
+              processor_set_info_t,
+              mach_msg_type_number_t,
+              boolean_t)>>('processor_set_policy_control');
+  late final _processor_set_policy_control = _processor_set_policy_controlPtr
+      .asFunction<int Function(int, int, processor_set_info_t, int, int)>();
+
+  int processor_set_stack_usage(
+    int pset,
+    ffi.Pointer<ffi.UnsignedInt> ltotal,
+    ffi.Pointer<vm_size_t> space,
+    ffi.Pointer<vm_size_t> resident,
+    ffi.Pointer<vm_size_t> maxusage,
+    ffi.Pointer<vm_offset_t> maxstack,
+  ) {
+    return _processor_set_stack_usage(
+      pset,
+      ltotal,
+      space,
+      resident,
+      maxusage,
+      maxstack,
+    );
+  }
+
+  late final _processor_set_stack_usagePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              processor_set_t,
+              ffi.Pointer<ffi.UnsignedInt>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<vm_offset_t>)>>('processor_set_stack_usage');
+  late final _processor_set_stack_usage =
+      _processor_set_stack_usagePtr.asFunction<
+          int Function(
+              int,
+              ffi.Pointer<ffi.UnsignedInt>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<vm_offset_t>)>();
+
+  int processor_set_info(
+    int set_name,
+    int flavor,
+    ffi.Pointer<host_t> host,
+    processor_set_info_t info_out,
+    ffi.Pointer<mach_msg_type_number_t> info_outCnt,
+  ) {
+    return _processor_set_info(
+      set_name,
+      flavor,
+      host,
+      info_out,
+      info_outCnt,
+    );
+  }
+
+  late final _processor_set_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              processor_set_name_t,
+              ffi.Int,
+              ffi.Pointer<host_t>,
+              processor_set_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('processor_set_info');
+  late final _processor_set_info = _processor_set_infoPtr.asFunction<
+      int Function(int, int, ffi.Pointer<host_t>, processor_set_info_t,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int processor_set_tasks_with_flavor(
+    int processor_set,
+    int flavor,
+    ffi.Pointer<task_array_t> task_list,
+    ffi.Pointer<mach_msg_type_number_t> task_listCnt,
+  ) {
+    return _processor_set_tasks_with_flavor(
+      processor_set,
+      flavor,
+      task_list,
+      task_listCnt,
+    );
+  }
+
+  late final _processor_set_tasks_with_flavorPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  processor_set_t,
+                  mach_task_flavor_t,
+                  ffi.Pointer<task_array_t>,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'processor_set_tasks_with_flavor');
+  late final _processor_set_tasks_with_flavor =
+      _processor_set_tasks_with_flavorPtr.asFunction<
+          int Function(int, int, ffi.Pointer<task_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int semaphore_signal(
+    int semaphore,
+  ) {
+    return _semaphore_signal(
+      semaphore,
+    );
+  }
+
+  late final _semaphore_signalPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(semaphore_t)>>(
+          'semaphore_signal');
+  late final _semaphore_signal =
+      _semaphore_signalPtr.asFunction<int Function(int)>();
+
+  int semaphore_signal_all(
+    int semaphore,
+  ) {
+    return _semaphore_signal_all(
+      semaphore,
+    );
+  }
+
+  late final _semaphore_signal_allPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(semaphore_t)>>(
+          'semaphore_signal_all');
+  late final _semaphore_signal_all =
+      _semaphore_signal_allPtr.asFunction<int Function(int)>();
+
+  int semaphore_wait(
+    int semaphore,
+  ) {
+    return _semaphore_wait(
+      semaphore,
+    );
+  }
+
+  late final _semaphore_waitPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(semaphore_t)>>(
+          'semaphore_wait');
+  late final _semaphore_wait =
+      _semaphore_waitPtr.asFunction<int Function(int)>();
+
+  int semaphore_timedwait(
+    int semaphore,
+    mach_timespec_t wait_time,
+  ) {
+    return _semaphore_timedwait(
+      semaphore,
+      wait_time,
+    );
+  }
+
+  late final _semaphore_timedwaitPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              semaphore_t, mach_timespec_t)>>('semaphore_timedwait');
+  late final _semaphore_timedwait =
+      _semaphore_timedwaitPtr.asFunction<int Function(int, mach_timespec_t)>();
+
+  int semaphore_timedwait_signal(
+    int wait_semaphore,
+    int signal_semaphore,
+    mach_timespec_t wait_time,
+  ) {
+    return _semaphore_timedwait_signal(
+      wait_semaphore,
+      signal_semaphore,
+      wait_time,
+    );
+  }
+
+  late final _semaphore_timedwait_signalPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(semaphore_t, semaphore_t,
+              mach_timespec_t)>>('semaphore_timedwait_signal');
+  late final _semaphore_timedwait_signal = _semaphore_timedwait_signalPtr
+      .asFunction<int Function(int, int, mach_timespec_t)>();
+
+  int semaphore_wait_signal(
+    int wait_semaphore,
+    int signal_semaphore,
+  ) {
+    return _semaphore_wait_signal(
+      wait_semaphore,
+      signal_semaphore,
+    );
+  }
+
+  late final _semaphore_wait_signalPtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(semaphore_t, semaphore_t)>>(
+      'semaphore_wait_signal');
+  late final _semaphore_wait_signal =
+      _semaphore_wait_signalPtr.asFunction<int Function(int, int)>();
+
+  int semaphore_signal_thread(
+    int semaphore,
+    int thread,
+  ) {
+    return _semaphore_signal_thread(
+      semaphore,
+      thread,
+    );
+  }
+
+  late final _semaphore_signal_threadPtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(semaphore_t, thread_t)>>(
+      'semaphore_signal_thread');
+  late final _semaphore_signal_thread =
+      _semaphore_signal_threadPtr.asFunction<int Function(int, int)>();
+
+  int task_create(
+    int target_task,
+    ledger_array_t ledgers,
+    int ledgersCnt,
+    int inherit_memory,
+    ffi.Pointer<task_t> child_task,
+  ) {
+    return _task_create(
+      target_task,
+      ledgers,
+      ledgersCnt,
+      inherit_memory,
+      child_task,
+    );
+  }
+
+  late final _task_createPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, ledger_array_t, mach_msg_type_number_t,
+              boolean_t, ffi.Pointer<task_t>)>>('task_create');
+  late final _task_create = _task_createPtr.asFunction<
+      int Function(int, ledger_array_t, int, int, ffi.Pointer<task_t>)>();
+
+  int task_terminate(
+    int target_task,
+  ) {
+    return _task_terminate(
+      target_task,
+    );
+  }
+
+  late final _task_terminatePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_t)>>(
+          'task_terminate');
+  late final _task_terminate =
+      _task_terminatePtr.asFunction<int Function(int)>();
+
+  int task_threads(
+    int target_task,
+    ffi.Pointer<thread_act_array_t> act_list,
+    ffi.Pointer<mach_msg_type_number_t> act_listCnt,
+  ) {
+    return _task_threads(
+      target_task,
+      act_list,
+      act_listCnt,
+    );
+  }
+
+  late final _task_threadsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_inspect_t,
+              ffi.Pointer<thread_act_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('task_threads');
+  late final _task_threads = _task_threadsPtr.asFunction<
+      int Function(int, ffi.Pointer<thread_act_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_ports_register(
+    int target_task,
+    mach_port_array_t init_port_set,
+    int init_port_setCnt,
+  ) {
+    return _mach_ports_register(
+      target_task,
+      init_port_set,
+      init_port_setCnt,
+    );
+  }
+
+  late final _mach_ports_registerPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, mach_port_array_t,
+              mach_msg_type_number_t)>>('mach_ports_register');
+  late final _mach_ports_register = _mach_ports_registerPtr
+      .asFunction<int Function(int, mach_port_array_t, int)>();
+
+  int mach_ports_lookup(
+    int target_task,
+    ffi.Pointer<mach_port_array_t> init_port_set,
+    ffi.Pointer<mach_msg_type_number_t> init_port_setCnt,
+  ) {
+    return _mach_ports_lookup(
+      target_task,
+      init_port_set,
+      init_port_setCnt,
+    );
+  }
+
+  late final _mach_ports_lookupPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, ffi.Pointer<mach_port_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_ports_lookup');
+  late final _mach_ports_lookup = _mach_ports_lookupPtr.asFunction<
+      int Function(int, ffi.Pointer<mach_port_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int task_info(
+    int target_task,
+    int flavor,
+    task_info_t task_info_out,
+    ffi.Pointer<mach_msg_type_number_t> task_info_outCnt,
+  ) {
+    return _task_info(
+      target_task,
+      flavor,
+      task_info_out,
+      task_info_outCnt,
+    );
+  }
+
+  late final _task_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_name_t, task_flavor_t, task_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('task_info');
+  late final _task_info = _task_infoPtr.asFunction<
+      int Function(
+          int, int, task_info_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int task_set_info(
+    int target_task,
+    int flavor,
+    task_info_t task_info_in,
+    int task_info_inCnt,
+  ) {
+    return _task_set_info(
+      target_task,
+      flavor,
+      task_info_in,
+      task_info_inCnt,
+    );
+  }
+
+  late final _task_set_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, task_flavor_t, task_info_t,
+              mach_msg_type_number_t)>>('task_set_info');
+  late final _task_set_info =
+      _task_set_infoPtr.asFunction<int Function(int, int, task_info_t, int)>();
+
+  int task_suspend(
+    int target_task,
+  ) {
+    return _task_suspend(
+      target_task,
+    );
+  }
+
+  late final _task_suspendPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_read_t)>>(
+          'task_suspend');
+  late final _task_suspend = _task_suspendPtr.asFunction<int Function(int)>();
+
+  int task_resume(
+    int target_task,
+  ) {
+    return _task_resume(
+      target_task,
+    );
+  }
+
+  late final _task_resumePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_read_t)>>(
+          'task_resume');
+  late final _task_resume = _task_resumePtr.asFunction<int Function(int)>();
+
+  int task_get_special_port(
+    int task,
+    int which_port,
+    ffi.Pointer<mach_port_t> special_port,
+  ) {
+    return _task_get_special_port(
+      task,
+      which_port,
+      special_port,
+    );
+  }
+
+  late final _task_get_special_portPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_inspect_t, ffi.Int,
+              ffi.Pointer<mach_port_t>)>>('task_get_special_port');
+  late final _task_get_special_port = _task_get_special_portPtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_t>)>();
+
+  int task_set_special_port(
+    int task,
+    int which_port,
+    int special_port,
+  ) {
+    return _task_set_special_port(
+      task,
+      which_port,
+      special_port,
+    );
+  }
+
+  late final _task_set_special_portPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t, ffi.Int, mach_port_t)>>('task_set_special_port');
+  late final _task_set_special_port =
+      _task_set_special_portPtr.asFunction<int Function(int, int, int)>();
+
+  int thread_create(
+    int parent_task,
+    ffi.Pointer<thread_act_t> child_act,
+  ) {
+    return _thread_create(
+      parent_task,
+      child_act,
+    );
+  }
+
+  late final _thread_createPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t, ffi.Pointer<thread_act_t>)>>('thread_create');
+  late final _thread_create = _thread_createPtr
+      .asFunction<int Function(int, ffi.Pointer<thread_act_t>)>();
+
+  int thread_create_running(
+    int parent_task,
+    int flavor,
+    thread_state_t new_state,
+    int new_stateCnt,
+    ffi.Pointer<thread_act_t> child_act,
+  ) {
+    return _thread_create_running(
+      parent_task,
+      flavor,
+      new_state,
+      new_stateCnt,
+      child_act,
+    );
+  }
+
+  late final _thread_create_runningPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t,
+              thread_state_flavor_t,
+              thread_state_t,
+              mach_msg_type_number_t,
+              ffi.Pointer<thread_act_t>)>>('thread_create_running');
+  late final _thread_create_running = _thread_create_runningPtr.asFunction<
+      int Function(int, int, thread_state_t, int, ffi.Pointer<thread_act_t>)>();
+
+  int task_set_exception_ports(
+    int task,
+    int exception_mask,
+    int new_port,
+    int behavior,
+    int new_flavor,
+  ) {
+    return _task_set_exception_ports(
+      task,
+      exception_mask,
+      new_port,
+      behavior,
+      new_flavor,
+    );
+  }
+
+  late final _task_set_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t,
+              exception_mask_t,
+              mach_port_t,
+              exception_behavior_t,
+              thread_state_flavor_t)>>('task_set_exception_ports');
+  late final _task_set_exception_ports = _task_set_exception_portsPtr
+      .asFunction<int Function(int, int, int, int, int)>();
+
+  int task_get_exception_ports(
+    int task,
+    int exception_mask,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_array_t old_handlers,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _task_get_exception_ports(
+      task,
+      exception_mask,
+      masks,
+      masksCnt,
+      old_handlers,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _task_get_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t,
+              exception_mask_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('task_get_exception_ports');
+  late final _task_get_exception_ports =
+      _task_get_exception_portsPtr.asFunction<
+          int Function(
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int task_swap_exception_ports(
+    int task,
+    int exception_mask,
+    int new_port,
+    int behavior,
+    int new_flavor,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_array_t old_handlers,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _task_swap_exception_ports(
+      task,
+      exception_mask,
+      new_port,
+      behavior,
+      new_flavor,
+      masks,
+      masksCnt,
+      old_handlers,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _task_swap_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t,
+              exception_mask_t,
+              mach_port_t,
+              exception_behavior_t,
+              thread_state_flavor_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('task_swap_exception_ports');
+  late final _task_swap_exception_ports =
+      _task_swap_exception_portsPtr.asFunction<
+          int Function(
+              int,
+              int,
+              int,
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int lock_set_create(
+    int task,
+    ffi.Pointer<lock_set_t> new_lock_set,
+    int n_ulocks,
+    int policy,
+  ) {
+    return _lock_set_create(
+      task,
+      new_lock_set,
+      n_ulocks,
+      policy,
+    );
+  }
+
+  late final _lock_set_createPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, ffi.Pointer<lock_set_t>, ffi.Int,
+              ffi.Int)>>('lock_set_create');
+  late final _lock_set_create = _lock_set_createPtr
+      .asFunction<int Function(int, ffi.Pointer<lock_set_t>, int, int)>();
+
+  int lock_set_destroy(
+    int task,
+    int lock_set,
+  ) {
+    return _lock_set_destroy(
+      task,
+      lock_set,
+    );
+  }
+
+  late final _lock_set_destroyPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_t, lock_set_t)>>(
+          'lock_set_destroy');
+  late final _lock_set_destroy =
+      _lock_set_destroyPtr.asFunction<int Function(int, int)>();
+
+  int semaphore_create(
+    int task,
+    ffi.Pointer<semaphore_t> semaphore,
+    int policy,
+    int value,
+  ) {
+    return _semaphore_create(
+      task,
+      semaphore,
+      policy,
+      value,
+    );
+  }
+
+  late final _semaphore_createPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, ffi.Pointer<semaphore_t>, ffi.Int,
+              ffi.Int)>>('semaphore_create');
+  late final _semaphore_create = _semaphore_createPtr
+      .asFunction<int Function(int, ffi.Pointer<semaphore_t>, int, int)>();
+
+  int semaphore_destroy(
+    int task,
+    int semaphore,
+  ) {
+    return _semaphore_destroy(
+      task,
+      semaphore,
+    );
+  }
+
+  late final _semaphore_destroyPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_t, semaphore_t)>>(
+          'semaphore_destroy');
+  late final _semaphore_destroy =
+      _semaphore_destroyPtr.asFunction<int Function(int, int)>();
+
+  int task_policy_set(
+    int task,
+    int flavor,
+    task_policy_t policy_info,
+    int policy_infoCnt,
+  ) {
+    return _task_policy_set(
+      task,
+      flavor,
+      policy_info,
+      policy_infoCnt,
+    );
+  }
+
+  late final _task_policy_setPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_policy_set_t, task_policy_flavor_t,
+              task_policy_t, mach_msg_type_number_t)>>('task_policy_set');
+  late final _task_policy_set = _task_policy_setPtr
+      .asFunction<int Function(int, int, task_policy_t, int)>();
+
+  int task_policy_get(
+    int task,
+    int flavor,
+    task_policy_t policy_info,
+    ffi.Pointer<mach_msg_type_number_t> policy_infoCnt,
+    ffi.Pointer<boolean_t> get_default,
+  ) {
+    return _task_policy_get(
+      task,
+      flavor,
+      policy_info,
+      policy_infoCnt,
+      get_default,
+    );
+  }
+
+  late final _task_policy_getPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_policy_get_t,
+              task_policy_flavor_t,
+              task_policy_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<boolean_t>)>>('task_policy_get');
+  late final _task_policy_get = _task_policy_getPtr.asFunction<
+      int Function(int, int, task_policy_t, ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<boolean_t>)>();
+
+  int task_sample(
+    int task,
+    int reply,
+  ) {
+    return _task_sample(
+      task,
+      reply,
+    );
+  }
+
+  late final _task_samplePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_t, mach_port_t)>>(
+          'task_sample');
+  late final _task_sample =
+      _task_samplePtr.asFunction<int Function(int, int)>();
+
+  int task_policy(
+    int task,
+    int policy,
+    policy_base_t base,
+    int baseCnt,
+    int set_limit,
+    int change,
+  ) {
+    return _task_policy(
+      task,
+      policy,
+      base,
+      baseCnt,
+      set_limit,
+      change,
+    );
+  }
+
+  late final _task_policyPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, policy_t, policy_base_t,
+              mach_msg_type_number_t, boolean_t, boolean_t)>>('task_policy');
+  late final _task_policy = _task_policyPtr
+      .asFunction<int Function(int, int, policy_base_t, int, int, int)>();
+
+  int task_set_emulation(
+    int target_port,
+    int routine_entry_pt,
+    int routine_number,
+  ) {
+    return _task_set_emulation(
+      target_port,
+      routine_entry_pt,
+      routine_number,
+    );
+  }
+
+  late final _task_set_emulationPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t, vm_address_t, ffi.Int)>>('task_set_emulation');
+  late final _task_set_emulation =
+      _task_set_emulationPtr.asFunction<int Function(int, int, int)>();
+
+  int task_get_emulation_vector(
+    int task,
+    ffi.Pointer<ffi.Int> vector_start,
+    ffi.Pointer<emulation_vector_t> emulation_vector,
+    ffi.Pointer<mach_msg_type_number_t> emulation_vectorCnt,
+  ) {
+    return _task_get_emulation_vector(
+      task,
+      vector_start,
+      emulation_vector,
+      emulation_vectorCnt,
+    );
+  }
+
+  late final _task_get_emulation_vectorPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  task_t,
+                  ffi.Pointer<ffi.Int>,
+                  ffi.Pointer<emulation_vector_t>,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'task_get_emulation_vector');
+  late final _task_get_emulation_vector =
+      _task_get_emulation_vectorPtr.asFunction<
+          int Function(
+              int,
+              ffi.Pointer<ffi.Int>,
+              ffi.Pointer<emulation_vector_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int task_set_emulation_vector(
+    int task,
+    int vector_start,
+    emulation_vector_t emulation_vector,
+    int emulation_vectorCnt,
+  ) {
+    return _task_set_emulation_vector(
+      task,
+      vector_start,
+      emulation_vector,
+      emulation_vectorCnt,
+    );
+  }
+
+  late final _task_set_emulation_vectorPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, ffi.Int, emulation_vector_t,
+              mach_msg_type_number_t)>>('task_set_emulation_vector');
+  late final _task_set_emulation_vector = _task_set_emulation_vectorPtr
+      .asFunction<int Function(int, int, emulation_vector_t, int)>();
+
+  int task_set_ras_pc(
+    int target_task,
+    int basepc,
+    int boundspc,
+  ) {
+    return _task_set_ras_pc(
+      target_task,
+      basepc,
+      boundspc,
+    );
+  }
+
+  late final _task_set_ras_pcPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t, vm_address_t, vm_address_t)>>('task_set_ras_pc');
+  late final _task_set_ras_pc =
+      _task_set_ras_pcPtr.asFunction<int Function(int, int, int)>();
+
+  int task_zone_info(
+    int target_task,
+    ffi.Pointer<mach_zone_name_array_t> names,
+    ffi.Pointer<mach_msg_type_number_t> namesCnt,
+    ffi.Pointer<task_zone_info_array_t> info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+  ) {
+    return _task_zone_info(
+      target_task,
+      names,
+      namesCnt,
+      info,
+      infoCnt,
+    );
+  }
+
+  late final _task_zone_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_inspect_t,
+              ffi.Pointer<mach_zone_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<task_zone_info_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('task_zone_info');
+  late final _task_zone_info = _task_zone_infoPtr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<mach_zone_name_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<task_zone_info_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int task_assign(
+    int task,
+    int new_set,
+    int assign_threads,
+  ) {
+    return _task_assign(
+      task,
+      new_set,
+      assign_threads,
+    );
+  }
+
+  late final _task_assignPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t, processor_set_t, boolean_t)>>('task_assign');
+  late final _task_assign =
+      _task_assignPtr.asFunction<int Function(int, int, int)>();
+
+  int task_assign_default(
+    int task,
+    int assign_threads,
+  ) {
+    return _task_assign_default(
+      task,
+      assign_threads,
+    );
+  }
+
+  late final _task_assign_defaultPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_t, boolean_t)>>(
+          'task_assign_default');
+  late final _task_assign_default =
+      _task_assign_defaultPtr.asFunction<int Function(int, int)>();
+
+  int task_get_assignment(
+    int task,
+    ffi.Pointer<processor_set_name_t> assigned_set,
+  ) {
+    return _task_get_assignment(
+      task,
+      assigned_set,
+    );
+  }
+
+  late final _task_get_assignmentPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_inspect_t,
+              ffi.Pointer<processor_set_name_t>)>>('task_get_assignment');
+  late final _task_get_assignment = _task_get_assignmentPtr
+      .asFunction<int Function(int, ffi.Pointer<processor_set_name_t>)>();
+
+  int task_set_policy(
+    int task,
+    int pset,
+    int policy,
+    policy_base_t base,
+    int baseCnt,
+    policy_limit_t limit,
+    int limitCnt,
+    int change,
+  ) {
+    return _task_set_policy(
+      task,
+      pset,
+      policy,
+      base,
+      baseCnt,
+      limit,
+      limitCnt,
+      change,
+    );
+  }
+
+  late final _task_set_policyPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t,
+              processor_set_t,
+              policy_t,
+              policy_base_t,
+              mach_msg_type_number_t,
+              policy_limit_t,
+              mach_msg_type_number_t,
+              boolean_t)>>('task_set_policy');
+  late final _task_set_policy = _task_set_policyPtr.asFunction<
+      int Function(
+          int, int, int, policy_base_t, int, policy_limit_t, int, int)>();
+
+  int task_get_state(
+    int task,
+    int flavor,
+    thread_state_t old_state,
+    ffi.Pointer<mach_msg_type_number_t> old_stateCnt,
+  ) {
+    return _task_get_state(
+      task,
+      flavor,
+      old_state,
+      old_stateCnt,
+    );
+  }
+
+  late final _task_get_statePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_read_t,
+              thread_state_flavor_t,
+              thread_state_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('task_get_state');
+  late final _task_get_state = _task_get_statePtr.asFunction<
+      int Function(
+          int, int, thread_state_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int task_set_state(
+    int task,
+    int flavor,
+    thread_state_t new_state,
+    int new_stateCnt,
+  ) {
+    return _task_set_state(
+      task,
+      flavor,
+      new_state,
+      new_stateCnt,
+    );
+  }
+
+  late final _task_set_statePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, thread_state_flavor_t, thread_state_t,
+              mach_msg_type_number_t)>>('task_set_state');
+  late final _task_set_state = _task_set_statePtr
+      .asFunction<int Function(int, int, thread_state_t, int)>();
+
+  int task_set_phys_footprint_limit(
+    int task,
+    int new_limit,
+    ffi.Pointer<ffi.Int> old_limit,
+  ) {
+    return _task_set_phys_footprint_limit(
+      task,
+      new_limit,
+      old_limit,
+    );
+  }
+
+  late final _task_set_phys_footprint_limitPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, ffi.Int,
+              ffi.Pointer<ffi.Int>)>>('task_set_phys_footprint_limit');
+  late final _task_set_phys_footprint_limit = _task_set_phys_footprint_limitPtr
+      .asFunction<int Function(int, int, ffi.Pointer<ffi.Int>)>();
+
+  int task_suspend2(
+    int target_task,
+    ffi.Pointer<task_suspension_token_t> suspend_token,
+  ) {
+    return _task_suspend2(
+      target_task,
+      suspend_token,
+    );
+  }
+
+  late final _task_suspend2Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_read_t,
+              ffi.Pointer<task_suspension_token_t>)>>('task_suspend2');
+  late final _task_suspend2 = _task_suspend2Ptr
+      .asFunction<int Function(int, ffi.Pointer<task_suspension_token_t>)>();
+
+  int task_resume2(
+    int suspend_token,
+  ) {
+    return _task_resume2(
+      suspend_token,
+    );
+  }
+
+  late final _task_resume2Ptr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(task_suspension_token_t)>>(
+      'task_resume2');
+  late final _task_resume2 = _task_resume2Ptr.asFunction<int Function(int)>();
+
+  int task_purgable_info(
+    int task,
+    ffi.Pointer<task_purgable_info_t> stats,
+  ) {
+    return _task_purgable_info(
+      task,
+      stats,
+    );
+  }
+
+  late final _task_purgable_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_inspect_t,
+              ffi.Pointer<task_purgable_info_t>)>>('task_purgable_info');
+  late final _task_purgable_info = _task_purgable_infoPtr
+      .asFunction<int Function(int, ffi.Pointer<task_purgable_info_t>)>();
+
+  int task_get_mach_voucher(
+    int task,
+    int which,
+    ffi.Pointer<ipc_voucher_t> voucher,
+  ) {
+    return _task_get_mach_voucher(
+      task,
+      which,
+      voucher,
+    );
+  }
+
+  late final _task_get_mach_voucherPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_read_t, mach_voucher_selector_t,
+              ffi.Pointer<ipc_voucher_t>)>>('task_get_mach_voucher');
+  late final _task_get_mach_voucher = _task_get_mach_voucherPtr
+      .asFunction<int Function(int, int, ffi.Pointer<ipc_voucher_t>)>();
+
+  int task_set_mach_voucher(
+    int task,
+    int voucher,
+  ) {
+    return _task_set_mach_voucher(
+      task,
+      voucher,
+    );
+  }
+
+  late final _task_set_mach_voucherPtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(task_t, ipc_voucher_t)>>(
+      'task_set_mach_voucher');
+  late final _task_set_mach_voucher =
+      _task_set_mach_voucherPtr.asFunction<int Function(int, int)>();
+
+  int task_swap_mach_voucher(
+    int task,
+    int new_voucher,
+    ffi.Pointer<ipc_voucher_t> old_voucher,
+  ) {
+    return _task_swap_mach_voucher(
+      task,
+      new_voucher,
+      old_voucher,
+    );
+  }
+
+  late final _task_swap_mach_voucherPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, ipc_voucher_t,
+              ffi.Pointer<ipc_voucher_t>)>>('task_swap_mach_voucher');
+  late final _task_swap_mach_voucher = _task_swap_mach_voucherPtr
+      .asFunction<int Function(int, int, ffi.Pointer<ipc_voucher_t>)>();
+
+  int task_generate_corpse(
+    int task,
+    ffi.Pointer<mach_port_t> corpse_task_port,
+  ) {
+    return _task_generate_corpse(
+      task,
+      corpse_task_port,
+    );
+  }
+
+  late final _task_generate_corpsePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_read_t, ffi.Pointer<mach_port_t>)>>('task_generate_corpse');
+  late final _task_generate_corpse = _task_generate_corpsePtr
+      .asFunction<int Function(int, ffi.Pointer<mach_port_t>)>();
+
+  int task_map_corpse_info(
+    int task,
+    int corspe_task,
+    ffi.Pointer<vm_address_t> kcd_addr_begin,
+    ffi.Pointer<ffi.Uint32> kcd_size,
+  ) {
+    return _task_map_corpse_info(
+      task,
+      corspe_task,
+      kcd_addr_begin,
+      kcd_size,
+    );
+  }
+
+  late final _task_map_corpse_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, task_read_t, ffi.Pointer<vm_address_t>,
+              ffi.Pointer<ffi.Uint32>)>>('task_map_corpse_info');
+  late final _task_map_corpse_info = _task_map_corpse_infoPtr.asFunction<
+      int Function(
+          int, int, ffi.Pointer<vm_address_t>, ffi.Pointer<ffi.Uint32>)>();
+
+  int task_register_dyld_image_infos(
+    int task,
+    dyld_kernel_image_info_array_t dyld_images,
+    int dyld_imagesCnt,
+  ) {
+    return _task_register_dyld_image_infos(
+      task,
+      dyld_images,
+      dyld_imagesCnt,
+    );
+  }
+
+  late final _task_register_dyld_image_infosPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, dyld_kernel_image_info_array_t,
+              mach_msg_type_number_t)>>('task_register_dyld_image_infos');
+  late final _task_register_dyld_image_infos =
+      _task_register_dyld_image_infosPtr
+          .asFunction<int Function(int, dyld_kernel_image_info_array_t, int)>();
+
+  int task_unregister_dyld_image_infos(
+    int task,
+    dyld_kernel_image_info_array_t dyld_images,
+    int dyld_imagesCnt,
+  ) {
+    return _task_unregister_dyld_image_infos(
+      task,
+      dyld_images,
+      dyld_imagesCnt,
+    );
+  }
+
+  late final _task_unregister_dyld_image_infosPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, dyld_kernel_image_info_array_t,
+              mach_msg_type_number_t)>>('task_unregister_dyld_image_infos');
+  late final _task_unregister_dyld_image_infos =
+      _task_unregister_dyld_image_infosPtr
+          .asFunction<int Function(int, dyld_kernel_image_info_array_t, int)>();
+
+  int task_get_dyld_image_infos(
+    int task,
+    ffi.Pointer<dyld_kernel_image_info_array_t> dyld_images,
+    ffi.Pointer<mach_msg_type_number_t> dyld_imagesCnt,
+  ) {
+    return _task_get_dyld_image_infos(
+      task,
+      dyld_images,
+      dyld_imagesCnt,
+    );
+  }
+
+  late final _task_get_dyld_image_infosPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  task_read_t,
+                  ffi.Pointer<dyld_kernel_image_info_array_t>,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'task_get_dyld_image_infos');
+  late final _task_get_dyld_image_infos =
+      _task_get_dyld_image_infosPtr.asFunction<
+          int Function(int, ffi.Pointer<dyld_kernel_image_info_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int task_register_dyld_shared_cache_image_info(
+    int task,
+    dyld_kernel_image_info_t dyld_cache_image,
+    int no_cache,
+    int private_cache,
+  ) {
+    return _task_register_dyld_shared_cache_image_info(
+      task,
+      dyld_cache_image,
+      no_cache,
+      private_cache,
+    );
+  }
+
+  late final _task_register_dyld_shared_cache_image_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, dyld_kernel_image_info_t, boolean_t,
+              boolean_t)>>('task_register_dyld_shared_cache_image_info');
+  late final _task_register_dyld_shared_cache_image_info =
+      _task_register_dyld_shared_cache_image_infoPtr
+          .asFunction<int Function(int, dyld_kernel_image_info_t, int, int)>();
+
+  int task_register_dyld_set_dyld_state(
+    int task,
+    int dyld_state,
+  ) {
+    return _task_register_dyld_set_dyld_state(
+      task,
+      dyld_state,
+    );
+  }
+
+  late final _task_register_dyld_set_dyld_statePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_t, ffi.Uint8)>>(
+          'task_register_dyld_set_dyld_state');
+  late final _task_register_dyld_set_dyld_state =
+      _task_register_dyld_set_dyld_statePtr
+          .asFunction<int Function(int, int)>();
+
+  int task_register_dyld_get_process_state(
+    int task,
+    ffi.Pointer<dyld_kernel_process_info_t> dyld_process_state,
+  ) {
+    return _task_register_dyld_get_process_state(
+      task,
+      dyld_process_state,
+    );
+  }
+
+  late final _task_register_dyld_get_process_statePtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  task_t, ffi.Pointer<dyld_kernel_process_info_t>)>>(
+      'task_register_dyld_get_process_state');
+  late final _task_register_dyld_get_process_state =
+      _task_register_dyld_get_process_statePtr.asFunction<
+          int Function(int, ffi.Pointer<dyld_kernel_process_info_t>)>();
+
+  int task_map_corpse_info_64(
+    int task,
+    int corspe_task,
+    ffi.Pointer<mach_vm_address_t> kcd_addr_begin,
+    ffi.Pointer<mach_vm_size_t> kcd_size,
+  ) {
+    return _task_map_corpse_info_64(
+      task,
+      corspe_task,
+      kcd_addr_begin,
+      kcd_size,
+    );
+  }
+
+  late final _task_map_corpse_info_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t,
+              task_read_t,
+              ffi.Pointer<mach_vm_address_t>,
+              ffi.Pointer<mach_vm_size_t>)>>('task_map_corpse_info_64');
+  late final _task_map_corpse_info_64 = _task_map_corpse_info_64Ptr.asFunction<
+      int Function(int, int, ffi.Pointer<mach_vm_address_t>,
+          ffi.Pointer<mach_vm_size_t>)>();
+
+  int task_inspect(
+    int task,
+    int flavor,
+    task_inspect_info_t info_out,
+    ffi.Pointer<mach_msg_type_number_t> info_outCnt,
+  ) {
+    return _task_inspect(
+      task,
+      flavor,
+      info_out,
+      info_outCnt,
+    );
+  }
+
+  late final _task_inspectPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_inspect_t,
+              task_inspect_flavor_t,
+              task_inspect_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('task_inspect');
+  late final _task_inspect = _task_inspectPtr.asFunction<
+      int Function(int, int, task_inspect_info_t,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int task_get_exc_guard_behavior(
+    int task,
+    ffi.Pointer<task_exc_guard_behavior_t> behavior,
+  ) {
+    return _task_get_exc_guard_behavior(
+      task,
+      behavior,
+    );
+  }
+
+  late final _task_get_exc_guard_behaviorPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  task_inspect_t, ffi.Pointer<task_exc_guard_behavior_t>)>>(
+      'task_get_exc_guard_behavior');
+  late final _task_get_exc_guard_behavior = _task_get_exc_guard_behaviorPtr
+      .asFunction<int Function(int, ffi.Pointer<task_exc_guard_behavior_t>)>();
+
+  int task_set_exc_guard_behavior(
+    int task,
+    int behavior,
+  ) {
+    return _task_set_exc_guard_behavior(
+      task,
+      behavior,
+    );
+  }
+
+  late final _task_set_exc_guard_behaviorPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t,
+              task_exc_guard_behavior_t)>>('task_set_exc_guard_behavior');
+  late final _task_set_exc_guard_behavior =
+      _task_set_exc_guard_behaviorPtr.asFunction<int Function(int, int)>();
+
+  int task_dyld_process_info_notify_register(
+    int target_task,
+    int notify,
+  ) {
+    return _task_dyld_process_info_notify_register(
+      target_task,
+      notify,
+    );
+  }
+
+  late final _task_dyld_process_info_notify_registerPtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(task_read_t, mach_port_t)>>(
+      'task_dyld_process_info_notify_register');
+  late final _task_dyld_process_info_notify_register =
+      _task_dyld_process_info_notify_registerPtr
+          .asFunction<int Function(int, int)>();
+
+  int task_create_identity_token(
+    int task,
+    ffi.Pointer<task_id_token_t> token,
+  ) {
+    return _task_create_identity_token(
+      task,
+      token,
+    );
+  }
+
+  late final _task_create_identity_tokenPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t,
+              ffi.Pointer<task_id_token_t>)>>('task_create_identity_token');
+  late final _task_create_identity_token = _task_create_identity_tokenPtr
+      .asFunction<int Function(int, ffi.Pointer<task_id_token_t>)>();
+
+  int task_identity_token_get_task_port(
+    int token,
+    int flavor,
+    ffi.Pointer<mach_port_t> task_port,
+  ) {
+    return _task_identity_token_get_task_port(
+      token,
+      flavor,
+      task_port,
+    );
+  }
+
+  late final _task_identity_token_get_task_portPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_id_token_t, task_flavor_t,
+              ffi.Pointer<mach_port_t>)>>('task_identity_token_get_task_port');
+  late final _task_identity_token_get_task_port =
+      _task_identity_token_get_task_portPtr
+          .asFunction<int Function(int, int, ffi.Pointer<mach_port_t>)>();
+
+  int task_dyld_process_info_notify_deregister(
+    int target_task,
+    int notify,
+  ) {
+    return _task_dyld_process_info_notify_deregister(
+      target_task,
+      notify,
+    );
+  }
+
+  late final _task_dyld_process_info_notify_deregisterPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_read_t,
+              mach_port_name_t)>>('task_dyld_process_info_notify_deregister');
+  late final _task_dyld_process_info_notify_deregister =
+      _task_dyld_process_info_notify_deregisterPtr
+          .asFunction<int Function(int, int)>();
+
+  int task_get_exception_ports_info(
+    int port,
+    int exception_mask,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_info_array_t old_handlers_info,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _task_get_exception_ports_info(
+      port,
+      exception_mask,
+      masks,
+      masksCnt,
+      old_handlers_info,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _task_get_exception_ports_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_t,
+              exception_mask_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_info_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('task_get_exception_ports_info');
+  late final _task_get_exception_ports_info =
+      _task_get_exception_ports_infoPtr.asFunction<
+          int Function(
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_info_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int task_test_sync_upcall(
+    int task,
+    int port,
+  ) {
+    return _task_test_sync_upcall(
+      task,
+      port,
+    );
+  }
+
+  late final _task_test_sync_upcallPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(task_t, mach_port_t)>>(
+          'task_test_sync_upcall');
+  late final _task_test_sync_upcall =
+      _task_test_sync_upcallPtr.asFunction<int Function(int, int)>();
+
+  int task_set_corpse_forking_behavior(
+    int task,
+    int behavior,
+  ) {
+    return _task_set_corpse_forking_behavior(
+      task,
+      behavior,
+    );
+  }
+
+  late final _task_set_corpse_forking_behaviorPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(task_t, task_corpse_forking_behavior_t)>>(
+      'task_set_corpse_forking_behavior');
+  late final _task_set_corpse_forking_behavior =
+      _task_set_corpse_forking_behaviorPtr.asFunction<int Function(int, int)>();
+
+  int task_test_async_upcall_propagation(
+    int task,
+    int port,
+    int qos,
+    int iotier,
+  ) {
+    return _task_test_async_upcall_propagation(
+      task,
+      port,
+      qos,
+      iotier,
+    );
+  }
+
+  late final _task_test_async_upcall_propagationPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(task_t, mach_port_t, ffi.Int,
+              ffi.Int)>>('task_test_async_upcall_propagation');
+  late final _task_test_async_upcall_propagation =
+      _task_test_async_upcall_propagationPtr
+          .asFunction<int Function(int, int, int, int)>();
+
+  int task_map_kcdata_object_64(
+    int task,
+    int kcdata_object,
+    ffi.Pointer<mach_vm_address_t> kcd_addr_begin,
+    ffi.Pointer<mach_vm_size_t> kcd_size,
+  ) {
+    return _task_map_kcdata_object_64(
+      task,
+      kcdata_object,
+      kcd_addr_begin,
+      kcd_size,
+    );
+  }
+
+  late final _task_map_kcdata_object_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              task_t,
+              kcdata_object_t,
+              ffi.Pointer<mach_vm_address_t>,
+              ffi.Pointer<mach_vm_size_t>)>>('task_map_kcdata_object_64');
+  late final _task_map_kcdata_object_64 =
+      _task_map_kcdata_object_64Ptr.asFunction<
+          int Function(int, int, ffi.Pointer<mach_vm_address_t>,
+              ffi.Pointer<mach_vm_size_t>)>();
+
+  int thread_terminate(
+    int target_act,
+  ) {
+    return _thread_terminate(
+      target_act,
+    );
+  }
+
+  late final _thread_terminatePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(thread_act_t)>>(
+          'thread_terminate');
+  late final _thread_terminate =
+      _thread_terminatePtr.asFunction<int Function(int)>();
+
+  int act_get_state(
+    int target_act,
+    int flavor,
+    thread_state_t old_state,
+    ffi.Pointer<mach_msg_type_number_t> old_stateCnt,
+  ) {
+    return _act_get_state(
+      target_act,
+      flavor,
+      old_state,
+      old_stateCnt,
+    );
+  }
+
+  late final _act_get_statePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_read_t, ffi.Int, thread_state_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('act_get_state');
+  late final _act_get_state = _act_get_statePtr.asFunction<
+      int Function(
+          int, int, thread_state_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int act_set_state(
+    int target_act,
+    int flavor,
+    thread_state_t new_state,
+    int new_stateCnt,
+  ) {
+    return _act_set_state(
+      target_act,
+      flavor,
+      new_state,
+      new_stateCnt,
+    );
+  }
+
+  late final _act_set_statePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_act_t, ffi.Int, thread_state_t,
+              mach_msg_type_number_t)>>('act_set_state');
+  late final _act_set_state = _act_set_statePtr
+      .asFunction<int Function(int, int, thread_state_t, int)>();
+
+  int thread_get_state(
+    int target_act,
+    int flavor,
+    thread_state_t old_state,
+    ffi.Pointer<mach_msg_type_number_t> old_stateCnt,
+  ) {
+    return _thread_get_state(
+      target_act,
+      flavor,
+      old_state,
+      old_stateCnt,
+    );
+  }
+
+  late final _thread_get_statePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_read_t,
+              thread_state_flavor_t,
+              thread_state_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('thread_get_state');
+  late final _thread_get_state = _thread_get_statePtr.asFunction<
+      int Function(
+          int, int, thread_state_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int thread_set_state(
+    int target_act,
+    int flavor,
+    thread_state_t new_state,
+    int new_stateCnt,
+  ) {
+    return _thread_set_state(
+      target_act,
+      flavor,
+      new_state,
+      new_stateCnt,
+    );
+  }
+
+  late final _thread_set_statePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_act_t, thread_state_flavor_t,
+              thread_state_t, mach_msg_type_number_t)>>('thread_set_state');
+  late final _thread_set_state = _thread_set_statePtr
+      .asFunction<int Function(int, int, thread_state_t, int)>();
+
+  int thread_suspend(
+    int target_act,
+  ) {
+    return _thread_suspend(
+      target_act,
+    );
+  }
+
+  late final _thread_suspendPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(thread_read_t)>>(
+          'thread_suspend');
+  late final _thread_suspend =
+      _thread_suspendPtr.asFunction<int Function(int)>();
+
+  int thread_resume(
+    int target_act,
+  ) {
+    return _thread_resume(
+      target_act,
+    );
+  }
+
+  late final _thread_resumePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(thread_read_t)>>(
+          'thread_resume');
+  late final _thread_resume = _thread_resumePtr.asFunction<int Function(int)>();
+
+  int thread_abort(
+    int target_act,
+  ) {
+    return _thread_abort(
+      target_act,
+    );
+  }
+
+  late final _thread_abortPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(thread_act_t)>>(
+          'thread_abort');
+  late final _thread_abort = _thread_abortPtr.asFunction<int Function(int)>();
+
+  int thread_abort_safely(
+    int target_act,
+  ) {
+    return _thread_abort_safely(
+      target_act,
+    );
+  }
+
+  late final _thread_abort_safelyPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(thread_act_t)>>(
+          'thread_abort_safely');
+  late final _thread_abort_safely =
+      _thread_abort_safelyPtr.asFunction<int Function(int)>();
+
+  int thread_depress_abort(
+    int thread,
+  ) {
+    return _thread_depress_abort(
+      thread,
+    );
+  }
+
+  late final _thread_depress_abortPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(thread_act_t)>>(
+          'thread_depress_abort');
+  late final _thread_depress_abort =
+      _thread_depress_abortPtr.asFunction<int Function(int)>();
+
+  int thread_get_special_port(
+    int thr_act,
+    int which_port,
+    ffi.Pointer<mach_port_t> special_port,
+  ) {
+    return _thread_get_special_port(
+      thr_act,
+      which_port,
+      special_port,
+    );
+  }
+
+  late final _thread_get_special_portPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_inspect_t, ffi.Int,
+              ffi.Pointer<mach_port_t>)>>('thread_get_special_port');
+  late final _thread_get_special_port = _thread_get_special_portPtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_t>)>();
+
+  int thread_set_special_port(
+    int thr_act,
+    int which_port,
+    int special_port,
+  ) {
+    return _thread_set_special_port(
+      thr_act,
+      which_port,
+      special_port,
+    );
+  }
+
+  late final _thread_set_special_portPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_act_t, ffi.Int, mach_port_t)>>('thread_set_special_port');
+  late final _thread_set_special_port =
+      _thread_set_special_portPtr.asFunction<int Function(int, int, int)>();
+
+  int thread_info(
+    int target_act,
+    int flavor,
+    thread_info_t thread_info_out,
+    ffi.Pointer<mach_msg_type_number_t> thread_info_outCnt,
+  ) {
+    return _thread_info(
+      target_act,
+      flavor,
+      thread_info_out,
+      thread_info_outCnt,
+    );
+  }
+
+  late final _thread_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_inspect_t,
+              thread_flavor_t,
+              thread_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('thread_info');
+  late final _thread_info = _thread_infoPtr.asFunction<
+      int Function(
+          int, int, thread_info_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int thread_set_exception_ports(
+    int thread,
+    int exception_mask,
+    int new_port,
+    int behavior,
+    int new_flavor,
+  ) {
+    return _thread_set_exception_ports(
+      thread,
+      exception_mask,
+      new_port,
+      behavior,
+      new_flavor,
+    );
+  }
+
+  late final _thread_set_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_act_t,
+              exception_mask_t,
+              mach_port_t,
+              exception_behavior_t,
+              thread_state_flavor_t)>>('thread_set_exception_ports');
+  late final _thread_set_exception_ports = _thread_set_exception_portsPtr
+      .asFunction<int Function(int, int, int, int, int)>();
+
+  int thread_get_exception_ports(
+    int thread,
+    int exception_mask,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_array_t old_handlers,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _thread_get_exception_ports(
+      thread,
+      exception_mask,
+      masks,
+      masksCnt,
+      old_handlers,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _thread_get_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_act_t,
+              exception_mask_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('thread_get_exception_ports');
+  late final _thread_get_exception_ports =
+      _thread_get_exception_portsPtr.asFunction<
+          int Function(
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int thread_swap_exception_ports(
+    int thread,
+    int exception_mask,
+    int new_port,
+    int behavior,
+    int new_flavor,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_array_t old_handlers,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _thread_swap_exception_ports(
+      thread,
+      exception_mask,
+      new_port,
+      behavior,
+      new_flavor,
+      masks,
+      masksCnt,
+      old_handlers,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _thread_swap_exception_portsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_act_t,
+              exception_mask_t,
+              mach_port_t,
+              exception_behavior_t,
+              thread_state_flavor_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('thread_swap_exception_ports');
+  late final _thread_swap_exception_ports =
+      _thread_swap_exception_portsPtr.asFunction<
+          int Function(
+              int,
+              int,
+              int,
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int thread_policy(
+    int thr_act,
+    int policy,
+    policy_base_t base,
+    int baseCnt,
+    int set_limit,
+  ) {
+    return _thread_policy(
+      thr_act,
+      policy,
+      base,
+      baseCnt,
+      set_limit,
+    );
+  }
+
+  late final _thread_policyPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_act_t, policy_t, policy_base_t,
+              mach_msg_type_number_t, boolean_t)>>('thread_policy');
+  late final _thread_policy = _thread_policyPtr
+      .asFunction<int Function(int, int, policy_base_t, int, int)>();
+
+  int thread_policy_set(
+    int thread,
+    int flavor,
+    thread_policy_t policy_info,
+    int policy_infoCnt,
+  ) {
+    return _thread_policy_set(
+      thread,
+      flavor,
+      policy_info,
+      policy_infoCnt,
+    );
+  }
+
+  late final _thread_policy_setPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_act_t, thread_policy_flavor_t,
+              thread_policy_t, mach_msg_type_number_t)>>('thread_policy_set');
+  late final _thread_policy_set = _thread_policy_setPtr
+      .asFunction<int Function(int, int, thread_policy_t, int)>();
+
+  int thread_policy_get(
+    int thread,
+    int flavor,
+    thread_policy_t policy_info,
+    ffi.Pointer<mach_msg_type_number_t> policy_infoCnt,
+    ffi.Pointer<boolean_t> get_default,
+  ) {
+    return _thread_policy_get(
+      thread,
+      flavor,
+      policy_info,
+      policy_infoCnt,
+      get_default,
+    );
+  }
+
+  late final _thread_policy_getPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_inspect_t,
+              thread_policy_flavor_t,
+              thread_policy_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<boolean_t>)>>('thread_policy_get');
+  late final _thread_policy_get = _thread_policy_getPtr.asFunction<
+      int Function(int, int, thread_policy_t,
+          ffi.Pointer<mach_msg_type_number_t>, ffi.Pointer<boolean_t>)>();
+
+  int thread_sample(
+    int thread,
+    int reply,
+  ) {
+    return _thread_sample(
+      thread,
+      reply,
+    );
+  }
+
+  late final _thread_samplePtr = _lookup<
+          ffi
+          .NativeFunction<kern_return_t Function(thread_act_t, mach_port_t)>>(
+      'thread_sample');
+  late final _thread_sample =
+      _thread_samplePtr.asFunction<int Function(int, int)>();
+
+  int etap_trace_thread(
+    int target_act,
+    int trace_status,
+  ) {
+    return _etap_trace_thread(
+      target_act,
+      trace_status,
+    );
+  }
+
+  late final _etap_trace_threadPtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(thread_act_t, boolean_t)>>(
+      'etap_trace_thread');
+  late final _etap_trace_thread =
+      _etap_trace_threadPtr.asFunction<int Function(int, int)>();
+
+  int thread_assign(
+    int thread,
+    int new_set,
+  ) {
+    return _thread_assign(
+      thread,
+      new_set,
+    );
+  }
+
+  late final _thread_assignPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_act_t, processor_set_t)>>('thread_assign');
+  late final _thread_assign =
+      _thread_assignPtr.asFunction<int Function(int, int)>();
+
+  int thread_assign_default(
+    int thread,
+  ) {
+    return _thread_assign_default(
+      thread,
+    );
+  }
+
+  late final _thread_assign_defaultPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(thread_act_t)>>(
+          'thread_assign_default');
+  late final _thread_assign_default =
+      _thread_assign_defaultPtr.asFunction<int Function(int)>();
+
+  int thread_get_assignment(
+    int thread,
+    ffi.Pointer<processor_set_name_t> assigned_set,
+  ) {
+    return _thread_get_assignment(
+      thread,
+      assigned_set,
+    );
+  }
+
+  late final _thread_get_assignmentPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_inspect_t,
+              ffi.Pointer<processor_set_name_t>)>>('thread_get_assignment');
+  late final _thread_get_assignment = _thread_get_assignmentPtr
+      .asFunction<int Function(int, ffi.Pointer<processor_set_name_t>)>();
+
+  int thread_set_policy(
+    int thr_act,
+    int pset,
+    int policy,
+    policy_base_t base,
+    int baseCnt,
+    policy_limit_t limit,
+    int limitCnt,
+  ) {
+    return _thread_set_policy(
+      thr_act,
+      pset,
+      policy,
+      base,
+      baseCnt,
+      limit,
+      limitCnt,
+    );
+  }
+
+  late final _thread_set_policyPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              thread_act_t,
+              processor_set_t,
+              policy_t,
+              policy_base_t,
+              mach_msg_type_number_t,
+              policy_limit_t,
+              mach_msg_type_number_t)>>('thread_set_policy');
+  late final _thread_set_policy = _thread_set_policyPtr.asFunction<
+      int Function(int, int, int, policy_base_t, int, policy_limit_t, int)>();
+
+  int thread_get_mach_voucher(
+    int thr_act,
+    int which,
+    ffi.Pointer<ipc_voucher_t> voucher,
+  ) {
+    return _thread_get_mach_voucher(
+      thr_act,
+      which,
+      voucher,
+    );
+  }
+
+  late final _thread_get_mach_voucherPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_read_t, mach_voucher_selector_t,
+              ffi.Pointer<ipc_voucher_t>)>>('thread_get_mach_voucher');
+  late final _thread_get_mach_voucher = _thread_get_mach_voucherPtr
+      .asFunction<int Function(int, int, ffi.Pointer<ipc_voucher_t>)>();
+
+  int thread_set_mach_voucher(
+    int thr_act,
+    int voucher,
+  ) {
+    return _thread_set_mach_voucher(
+      thr_act,
+      voucher,
+    );
+  }
+
+  late final _thread_set_mach_voucherPtr = _lookup<
+          ffi
+          .NativeFunction<kern_return_t Function(thread_act_t, ipc_voucher_t)>>(
+      'thread_set_mach_voucher');
+  late final _thread_set_mach_voucher =
+      _thread_set_mach_voucherPtr.asFunction<int Function(int, int)>();
+
+  int thread_swap_mach_voucher(
+    int thr_act,
+    int new_voucher,
+    ffi.Pointer<ipc_voucher_t> old_voucher,
+  ) {
+    return _thread_swap_mach_voucher(
+      thr_act,
+      new_voucher,
+      old_voucher,
+    );
+  }
+
+  late final _thread_swap_mach_voucherPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(thread_act_t, ipc_voucher_t,
+              ffi.Pointer<ipc_voucher_t>)>>('thread_swap_mach_voucher');
+  late final _thread_swap_mach_voucher = _thread_swap_mach_voucherPtr
+      .asFunction<int Function(int, int, ffi.Pointer<ipc_voucher_t>)>();
+
+  int thread_convert_thread_state(
+    int thread,
+    int direction,
+    int flavor,
+    thread_state_t in_state,
+    int in_stateCnt,
+    thread_state_t out_state,
+    ffi.Pointer<mach_msg_type_number_t> out_stateCnt,
+  ) {
+    return _thread_convert_thread_state(
+      thread,
+      direction,
+      flavor,
+      in_state,
+      in_stateCnt,
+      out_state,
+      out_stateCnt,
+    );
+  }
+
+  late final _thread_convert_thread_statePtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  thread_act_t,
+                  ffi.Int,
+                  thread_state_flavor_t,
+                  thread_state_t,
+                  mach_msg_type_number_t,
+                  thread_state_t,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'thread_convert_thread_state');
+  late final _thread_convert_thread_state =
+      _thread_convert_thread_statePtr.asFunction<
+          int Function(int, int, int, thread_state_t, int, thread_state_t,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int thread_get_exception_ports_info(
+    int port,
+    int exception_mask,
+    exception_mask_array_t masks,
+    ffi.Pointer<mach_msg_type_number_t> masksCnt,
+    exception_handler_info_array_t old_handlers_info,
+    exception_behavior_array_t old_behaviors,
+    exception_flavor_array_t old_flavors,
+  ) {
+    return _thread_get_exception_ports_info(
+      port,
+      exception_mask,
+      masks,
+      masksCnt,
+      old_handlers_info,
+      old_behaviors,
+      old_flavors,
+    );
+  }
+
+  late final _thread_get_exception_ports_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_t,
+              exception_mask_t,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_info_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>>('thread_get_exception_ports_info');
+  late final _thread_get_exception_ports_info =
+      _thread_get_exception_ports_infoPtr.asFunction<
+          int Function(
+              int,
+              int,
+              exception_mask_array_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              exception_handler_info_array_t,
+              exception_behavior_array_t,
+              exception_flavor_array_t)>();
+
+  int vm_region(
+    int target_task,
+    ffi.Pointer<vm_address_t> address,
+    ffi.Pointer<vm_size_t> size,
+    int flavor,
+    vm_region_info_t info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+    ffi.Pointer<mach_port_t> object_name,
+  ) {
+    return _vm_region(
+      target_task,
+      address,
+      size,
+      flavor,
+      info,
+      infoCnt,
+      object_name,
+    );
+  }
+
+  late final _vm_regionPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              ffi.Pointer<vm_address_t>,
+              ffi.Pointer<vm_size_t>,
+              vm_region_flavor_t,
+              vm_region_info_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<mach_port_t>)>>('vm_region');
+  late final _vm_region = _vm_regionPtr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<vm_address_t>,
+          ffi.Pointer<vm_size_t>,
+          int,
+          vm_region_info_t,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<mach_port_t>)>();
+
+  int vm_allocate(
+    int target_task,
+    ffi.Pointer<vm_address_t> address,
+    int size,
+    int flags,
+  ) {
+    return _vm_allocate(
+      target_task,
+      address,
+      size,
+      flags,
+    );
+  }
+
+  late final _vm_allocatePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(vm_map_t, ffi.Pointer<vm_address_t>, vm_size_t,
+              ffi.Int)>>('vm_allocate');
+  late final _vm_allocate = _vm_allocatePtr
+      .asFunction<int Function(int, ffi.Pointer<vm_address_t>, int, int)>();
+
+  int vm_deallocate(
+    int target_task,
+    int address,
+    int size,
+  ) {
+    return _vm_deallocate(
+      target_task,
+      address,
+      size,
+    );
+  }
+
+  late final _vm_deallocatePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t, vm_address_t, vm_size_t)>>('vm_deallocate');
+  late final _vm_deallocate =
+      _vm_deallocatePtr.asFunction<int Function(int, int, int)>();
+
+  int vm_protect(
+    int target_task,
+    int address,
+    int size,
+    int set_maximum,
+    int new_protection,
+  ) {
+    return _vm_protect(
+      target_task,
+      address,
+      size,
+      set_maximum,
+      new_protection,
+    );
+  }
+
+  late final _vm_protectPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(vm_map_t, vm_address_t, vm_size_t, boolean_t,
+              vm_prot_t)>>('vm_protect');
+  late final _vm_protect =
+      _vm_protectPtr.asFunction<int Function(int, int, int, int, int)>();
+
+  int vm_inherit(
+    int target_task,
+    int address,
+    int size,
+    int new_inheritance,
+  ) {
+    return _vm_inherit(
+      target_task,
+      address,
+      size,
+      new_inheritance,
+    );
+  }
+
+  late final _vm_inheritPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t, vm_address_t, vm_size_t, vm_inherit_t)>>('vm_inherit');
+  late final _vm_inherit =
+      _vm_inheritPtr.asFunction<int Function(int, int, int, int)>();
+
+  int vm_read(
+    int target_task,
+    int address,
+    int size,
+    ffi.Pointer<vm_offset_t> data,
+    ffi.Pointer<mach_msg_type_number_t> dataCnt,
+  ) {
+    return _vm_read(
+      target_task,
+      address,
+      size,
+      data,
+      dataCnt,
+    );
+  }
+
+  late final _vm_readPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              vm_address_t,
+              vm_size_t,
+              ffi.Pointer<vm_offset_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('vm_read');
+  late final _vm_read = _vm_readPtr.asFunction<
+      int Function(int, int, int, ffi.Pointer<vm_offset_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int vm_read_list(
+    int target_task,
+    ffi.Pointer<vm_read_entry> data_list,
+    int count,
+  ) {
+    return _vm_read_list(
+      target_task,
+      data_list,
+      count,
+    );
+  }
+
+  late final _vm_read_listPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(vm_map_read_t, ffi.Pointer<vm_read_entry>,
+              natural_t)>>('vm_read_list');
+  late final _vm_read_list = _vm_read_listPtr
+      .asFunction<int Function(int, ffi.Pointer<vm_read_entry>, int)>();
+
+  int vm_write(
+    int target_task,
+    int address,
+    int data,
+    int dataCnt,
+  ) {
+    return _vm_write(
+      target_task,
+      address,
+      data,
+      dataCnt,
+    );
+  }
+
+  late final _vm_writePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(vm_map_t, vm_address_t, vm_offset_t,
+              mach_msg_type_number_t)>>('vm_write');
+  late final _vm_write =
+      _vm_writePtr.asFunction<int Function(int, int, int, int)>();
+
+  int vm_copy(
+    int target_task,
+    int source_address,
+    int size,
+    int dest_address,
+  ) {
+    return _vm_copy(
+      target_task,
+      source_address,
+      size,
+      dest_address,
+    );
+  }
+
+  late final _vm_copyPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t, vm_address_t, vm_size_t, vm_address_t)>>('vm_copy');
+  late final _vm_copy =
+      _vm_copyPtr.asFunction<int Function(int, int, int, int)>();
+
+  int vm_read_overwrite(
+    int target_task,
+    int address,
+    int size,
+    int data,
+    ffi.Pointer<vm_size_t> outsize,
+  ) {
+    return _vm_read_overwrite(
+      target_task,
+      address,
+      size,
+      data,
+      outsize,
+    );
+  }
+
+  late final _vm_read_overwritePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(vm_map_read_t, vm_address_t, vm_size_t,
+              vm_address_t, ffi.Pointer<vm_size_t>)>>('vm_read_overwrite');
+  late final _vm_read_overwrite = _vm_read_overwritePtr
+      .asFunction<int Function(int, int, int, int, ffi.Pointer<vm_size_t>)>();
+
+  int vm_msync(
+    int target_task,
+    int address,
+    int size,
+    int sync_flags,
+  ) {
+    return _vm_msync(
+      target_task,
+      address,
+      size,
+      sync_flags,
+    );
+  }
+
+  late final _vm_msyncPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t, vm_address_t, vm_size_t, vm_sync_t)>>('vm_msync');
+  late final _vm_msync =
+      _vm_msyncPtr.asFunction<int Function(int, int, int, int)>();
+
+  int vm_behavior_set(
+    int target_task,
+    int address,
+    int size,
+    int new_behavior,
+  ) {
+    return _vm_behavior_set(
+      target_task,
+      address,
+      size,
+      new_behavior,
+    );
+  }
+
+  late final _vm_behavior_setPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(vm_map_t, vm_address_t, vm_size_t,
+              vm_behavior_t)>>('vm_behavior_set');
+  late final _vm_behavior_set =
+      _vm_behavior_setPtr.asFunction<int Function(int, int, int, int)>();
+
+  int vm_map(
+    int target_task,
+    ffi.Pointer<vm_address_t> address,
+    int size,
+    int mask,
+    int flags,
+    int object,
+    int offset,
+    int copy,
+    int cur_protection,
+    int max_protection,
+    int inheritance,
+  ) {
+    return _vm_map(
+      target_task,
+      address,
+      size,
+      mask,
+      flags,
+      object,
+      offset,
+      copy,
+      cur_protection,
+      max_protection,
+      inheritance,
+    );
+  }
+
+  late final _vm_mapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t,
+              ffi.Pointer<vm_address_t>,
+              vm_size_t,
+              vm_address_t,
+              ffi.Int,
+              mem_entry_name_port_t,
+              vm_offset_t,
+              boolean_t,
+              vm_prot_t,
+              vm_prot_t,
+              vm_inherit_t)>>('vm_map');
+  late final _vm_map = _vm_mapPtr.asFunction<
+      int Function(int, ffi.Pointer<vm_address_t>, int, int, int, int, int, int,
+          int, int, int)>();
+
+  int vm_machine_attribute(
+    int target_task,
+    int address,
+    int size,
+    int attribute,
+    ffi.Pointer<vm_machine_attribute_val_t> value,
+  ) {
+    return _vm_machine_attribute(
+      target_task,
+      address,
+      size,
+      attribute,
+      value,
+    );
+  }
+
+  late final _vm_machine_attributePtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  vm_map_t,
+                  vm_address_t,
+                  vm_size_t,
+                  vm_machine_attribute_t,
+                  ffi.Pointer<vm_machine_attribute_val_t>)>>(
+      'vm_machine_attribute');
+  late final _vm_machine_attribute = _vm_machine_attributePtr.asFunction<
+      int Function(
+          int, int, int, int, ffi.Pointer<vm_machine_attribute_val_t>)>();
+
+  int vm_remap(
+    int target_task,
+    ffi.Pointer<vm_address_t> target_address,
+    int size,
+    int mask,
+    int flags,
+    int src_task,
+    int src_address,
+    int copy,
+    ffi.Pointer<vm_prot_t> cur_protection,
+    ffi.Pointer<vm_prot_t> max_protection,
+    int inheritance,
+  ) {
+    return _vm_remap(
+      target_task,
+      target_address,
+      size,
+      mask,
+      flags,
+      src_task,
+      src_address,
+      copy,
+      cur_protection,
+      max_protection,
+      inheritance,
+    );
+  }
+
+  late final _vm_remapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t,
+              ffi.Pointer<vm_address_t>,
+              vm_size_t,
+              vm_address_t,
+              ffi.Int,
+              vm_map_t,
+              vm_address_t,
+              boolean_t,
+              ffi.Pointer<vm_prot_t>,
+              ffi.Pointer<vm_prot_t>,
+              vm_inherit_t)>>('vm_remap');
+  late final _vm_remap = _vm_remapPtr.asFunction<
+      int Function(int, ffi.Pointer<vm_address_t>, int, int, int, int, int, int,
+          ffi.Pointer<vm_prot_t>, ffi.Pointer<vm_prot_t>, int)>();
+
+  int task_wire(
+    int target_task,
+    int must_wire,
+  ) {
+    return _task_wire(
+      target_task,
+      must_wire,
+    );
+  }
+
+  late final _task_wirePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(vm_map_t, boolean_t)>>(
+          'task_wire');
+  late final _task_wire = _task_wirePtr.asFunction<int Function(int, int)>();
+
+  int mach_make_memory_entry(
+    int target_task,
+    ffi.Pointer<vm_size_t> size,
+    int offset,
+    int permission,
+    ffi.Pointer<mem_entry_name_port_t> object_handle,
+    int parent_entry,
+  ) {
+    return _mach_make_memory_entry(
+      target_task,
+      size,
+      offset,
+      permission,
+      object_handle,
+      parent_entry,
+    );
+  }
+
+  late final _mach_make_memory_entryPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t,
+              ffi.Pointer<vm_size_t>,
+              vm_offset_t,
+              vm_prot_t,
+              ffi.Pointer<mem_entry_name_port_t>,
+              mem_entry_name_port_t)>>('mach_make_memory_entry');
+  late final _mach_make_memory_entry = _mach_make_memory_entryPtr.asFunction<
+      int Function(int, ffi.Pointer<vm_size_t>, int, int,
+          ffi.Pointer<mem_entry_name_port_t>, int)>();
+
+  int vm_map_page_query(
+    int target_map,
+    int offset,
+    ffi.Pointer<integer_t> disposition,
+    ffi.Pointer<integer_t> ref_count,
+  ) {
+    return _vm_map_page_query(
+      target_map,
+      offset,
+      disposition,
+      ref_count,
+    );
+  }
+
+  late final _vm_map_page_queryPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              vm_offset_t,
+              ffi.Pointer<integer_t>,
+              ffi.Pointer<integer_t>)>>('vm_map_page_query');
+  late final _vm_map_page_query = _vm_map_page_queryPtr.asFunction<
+      int Function(int, int, ffi.Pointer<integer_t>, ffi.Pointer<integer_t>)>();
+
+  int mach_vm_region_info(
+    int task,
+    int address,
+    ffi.Pointer<vm_info_region_t> region,
+    ffi.Pointer<vm_info_object_array_t> objects,
+    ffi.Pointer<mach_msg_type_number_t> objectsCnt,
+  ) {
+    return _mach_vm_region_info(
+      task,
+      address,
+      region,
+      objects,
+      objectsCnt,
+    );
+  }
+
+  late final _mach_vm_region_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              vm_address_t,
+              ffi.Pointer<vm_info_region_t>,
+              ffi.Pointer<vm_info_object_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_vm_region_info');
+  late final _mach_vm_region_info = _mach_vm_region_infoPtr.asFunction<
+      int Function(
+          int,
+          int,
+          ffi.Pointer<vm_info_region_t>,
+          ffi.Pointer<vm_info_object_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int vm_mapped_pages_info(
+    int task,
+    ffi.Pointer<page_address_array_t> pages,
+    ffi.Pointer<mach_msg_type_number_t> pagesCnt,
+  ) {
+    return _vm_mapped_pages_info(
+      task,
+      pages,
+      pagesCnt,
+    );
+  }
+
+  late final _vm_mapped_pages_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              ffi.Pointer<page_address_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('vm_mapped_pages_info');
+  late final _vm_mapped_pages_info = _vm_mapped_pages_infoPtr.asFunction<
+      int Function(int, ffi.Pointer<page_address_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int vm_region_recurse(
+    int target_task,
+    ffi.Pointer<vm_address_t> address,
+    ffi.Pointer<vm_size_t> size,
+    ffi.Pointer<natural_t> nesting_depth,
+    vm_region_recurse_info_t info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+  ) {
+    return _vm_region_recurse(
+      target_task,
+      address,
+      size,
+      nesting_depth,
+      info,
+      infoCnt,
+    );
+  }
+
+  late final _vm_region_recursePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              ffi.Pointer<vm_address_t>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<natural_t>,
+              vm_region_recurse_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('vm_region_recurse');
+  late final _vm_region_recurse = _vm_region_recursePtr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<vm_address_t>,
+          ffi.Pointer<vm_size_t>,
+          ffi.Pointer<natural_t>,
+          vm_region_recurse_info_t,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int vm_region_recurse_64(
+    int target_task,
+    ffi.Pointer<vm_address_t> address,
+    ffi.Pointer<vm_size_t> size,
+    ffi.Pointer<natural_t> nesting_depth,
+    vm_region_recurse_info_t info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+  ) {
+    return _vm_region_recurse_64(
+      target_task,
+      address,
+      size,
+      nesting_depth,
+      info,
+      infoCnt,
+    );
+  }
+
+  late final _vm_region_recurse_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              ffi.Pointer<vm_address_t>,
+              ffi.Pointer<vm_size_t>,
+              ffi.Pointer<natural_t>,
+              vm_region_recurse_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('vm_region_recurse_64');
+  late final _vm_region_recurse_64 = _vm_region_recurse_64Ptr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<vm_address_t>,
+          ffi.Pointer<vm_size_t>,
+          ffi.Pointer<natural_t>,
+          vm_region_recurse_info_t,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_vm_region_info_64(
+    int task,
+    int address,
+    ffi.Pointer<vm_info_region_64_t> region,
+    ffi.Pointer<vm_info_object_array_t> objects,
+    ffi.Pointer<mach_msg_type_number_t> objectsCnt,
+  ) {
+    return _mach_vm_region_info_64(
+      task,
+      address,
+      region,
+      objects,
+      objectsCnt,
+    );
+  }
+
+  late final _mach_vm_region_info_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              vm_address_t,
+              ffi.Pointer<vm_info_region_64_t>,
+              ffi.Pointer<vm_info_object_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_vm_region_info_64');
+  late final _mach_vm_region_info_64 = _mach_vm_region_info_64Ptr.asFunction<
+      int Function(
+          int,
+          int,
+          ffi.Pointer<vm_info_region_64_t>,
+          ffi.Pointer<vm_info_object_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int vm_region_64(
+    int target_task,
+    ffi.Pointer<vm_address_t> address,
+    ffi.Pointer<vm_size_t> size,
+    int flavor,
+    vm_region_info_t info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+    ffi.Pointer<mach_port_t> object_name,
+  ) {
+    return _vm_region_64(
+      target_task,
+      address,
+      size,
+      flavor,
+      info,
+      infoCnt,
+      object_name,
+    );
+  }
+
+  late final _vm_region_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_read_t,
+              ffi.Pointer<vm_address_t>,
+              ffi.Pointer<vm_size_t>,
+              vm_region_flavor_t,
+              vm_region_info_t,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<mach_port_t>)>>('vm_region_64');
+  late final _vm_region_64 = _vm_region_64Ptr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<vm_address_t>,
+          ffi.Pointer<vm_size_t>,
+          int,
+          vm_region_info_t,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<mach_port_t>)>();
+
+  int mach_make_memory_entry_64(
+    int target_task,
+    ffi.Pointer<memory_object_size_t> size,
+    int offset,
+    int permission,
+    ffi.Pointer<mach_port_t> object_handle,
+    int parent_entry,
+  ) {
+    return _mach_make_memory_entry_64(
+      target_task,
+      size,
+      offset,
+      permission,
+      object_handle,
+      parent_entry,
+    );
+  }
+
+  late final _mach_make_memory_entry_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t,
+              ffi.Pointer<memory_object_size_t>,
+              memory_object_offset_t,
+              vm_prot_t,
+              ffi.Pointer<mach_port_t>,
+              mem_entry_name_port_t)>>('mach_make_memory_entry_64');
+  late final _mach_make_memory_entry_64 =
+      _mach_make_memory_entry_64Ptr.asFunction<
+          int Function(int, ffi.Pointer<memory_object_size_t>, int, int,
+              ffi.Pointer<mach_port_t>, int)>();
+
+  int vm_map_64(
+    int target_task,
+    ffi.Pointer<vm_address_t> address,
+    int size,
+    int mask,
+    int flags,
+    int object,
+    int offset,
+    int copy,
+    int cur_protection,
+    int max_protection,
+    int inheritance,
+  ) {
+    return _vm_map_64(
+      target_task,
+      address,
+      size,
+      mask,
+      flags,
+      object,
+      offset,
+      copy,
+      cur_protection,
+      max_protection,
+      inheritance,
+    );
+  }
+
+  late final _vm_map_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t,
+              ffi.Pointer<vm_address_t>,
+              vm_size_t,
+              vm_address_t,
+              ffi.Int,
+              mem_entry_name_port_t,
+              memory_object_offset_t,
+              boolean_t,
+              vm_prot_t,
+              vm_prot_t,
+              vm_inherit_t)>>('vm_map_64');
+  late final _vm_map_64 = _vm_map_64Ptr.asFunction<
+      int Function(int, ffi.Pointer<vm_address_t>, int, int, int, int, int, int,
+          int, int, int)>();
+
+  int vm_purgable_control(
+    int target_task,
+    int address,
+    int control,
+    ffi.Pointer<ffi.Int> state,
+  ) {
+    return _vm_purgable_control(
+      target_task,
+      address,
+      control,
+      state,
+    );
+  }
+
+  late final _vm_purgable_controlPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(vm_map_t, vm_address_t, vm_purgable_t,
+              ffi.Pointer<ffi.Int>)>>('vm_purgable_control');
+  late final _vm_purgable_control = _vm_purgable_controlPtr
+      .asFunction<int Function(int, int, int, ffi.Pointer<ffi.Int>)>();
+
+  int vm_map_exec_lockdown(
+    int target_task,
+  ) {
+    return _vm_map_exec_lockdown(
+      target_task,
+    );
+  }
+
+  late final _vm_map_exec_lockdownPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(vm_map_t)>>(
+          'vm_map_exec_lockdown');
+  late final _vm_map_exec_lockdown =
+      _vm_map_exec_lockdownPtr.asFunction<int Function(int)>();
+
+  int vm_remap_new(
+    int target_task,
+    ffi.Pointer<vm_address_t> target_address,
+    int size,
+    int mask,
+    int flags,
+    int src_task,
+    int src_address,
+    int copy,
+    ffi.Pointer<vm_prot_t> cur_protection,
+    ffi.Pointer<vm_prot_t> max_protection,
+    int inheritance,
+  ) {
+    return _vm_remap_new(
+      target_task,
+      target_address,
+      size,
+      mask,
+      flags,
+      src_task,
+      src_address,
+      copy,
+      cur_protection,
+      max_protection,
+      inheritance,
+    );
+  }
+
+  late final _vm_remap_newPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              vm_map_t,
+              ffi.Pointer<vm_address_t>,
+              vm_size_t,
+              vm_address_t,
+              ffi.Int,
+              vm_map_read_t,
+              vm_address_t,
+              boolean_t,
+              ffi.Pointer<vm_prot_t>,
+              ffi.Pointer<vm_prot_t>,
+              vm_inherit_t)>>('vm_remap_new');
+  late final _vm_remap_new = _vm_remap_newPtr.asFunction<
+      int Function(int, ffi.Pointer<vm_address_t>, int, int, int, int, int, int,
+          ffi.Pointer<vm_prot_t>, ffi.Pointer<vm_prot_t>, int)>();
+
+  int mach_port_names(
+    int task,
+    ffi.Pointer<mach_port_name_array_t> names,
+    ffi.Pointer<mach_msg_type_number_t> namesCnt,
+    ffi.Pointer<mach_port_type_array_t> types,
+    ffi.Pointer<mach_msg_type_number_t> typesCnt,
+  ) {
+    return _mach_port_names(
+      task,
+      names,
+      namesCnt,
+      types,
+      typesCnt,
+    );
+  }
+
+  late final _mach_port_namesPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              ffi.Pointer<mach_port_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<mach_port_type_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_port_names');
+  late final _mach_port_names = _mach_port_namesPtr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<mach_port_name_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<mach_port_type_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_port_type(
+    int task,
+    int name,
+    ffi.Pointer<mach_port_type_t> ptype,
+  ) {
+    return _mach_port_type(
+      task,
+      name,
+      ptype,
+    );
+  }
+
+  late final _mach_port_typePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              ffi.Pointer<mach_port_type_t>)>>('mach_port_type');
+  late final _mach_port_type = _mach_port_typePtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_type_t>)>();
+
+  int mach_port_rename(
+    int task,
+    int old_name,
+    int new_name,
+  ) {
+    return _mach_port_rename(
+      task,
+      old_name,
+      new_name,
+    );
+  }
+
+  late final _mach_port_renamePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_name_t)>>('mach_port_rename');
+  late final _mach_port_rename =
+      _mach_port_renamePtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_allocate_name(
+    int task,
+    int right,
+    int name,
+  ) {
+    return _mach_port_allocate_name(
+      task,
+      right,
+      name,
+    );
+  }
+
+  late final _mach_port_allocate_namePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_right_t,
+              mach_port_name_t)>>('mach_port_allocate_name');
+  late final _mach_port_allocate_name =
+      _mach_port_allocate_namePtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_allocate(
+    int task,
+    int right,
+    ffi.Pointer<mach_port_name_t> name,
+  ) {
+    return _mach_port_allocate(
+      task,
+      right,
+      name,
+    );
+  }
+
+  late final _mach_port_allocatePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_right_t,
+              ffi.Pointer<mach_port_name_t>)>>('mach_port_allocate');
+  late final _mach_port_allocate = _mach_port_allocatePtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_name_t>)>();
+
+  int mach_port_destroy(
+    int task,
+    int name,
+  ) {
+    return _mach_port_destroy(
+      task,
+      name,
+    );
+  }
+
+  late final _mach_port_destroyPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t, mach_port_name_t)>>('mach_port_destroy');
+  late final _mach_port_destroy =
+      _mach_port_destroyPtr.asFunction<int Function(int, int)>();
+
+  int mach_port_deallocate(
+    int task,
+    int name,
+  ) {
+    return _mach_port_deallocate(
+      task,
+      name,
+    );
+  }
+
+  late final _mach_port_deallocatePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t, mach_port_name_t)>>('mach_port_deallocate');
+  late final _mach_port_deallocate =
+      _mach_port_deallocatePtr.asFunction<int Function(int, int)>();
+
+  int mach_port_get_refs(
+    int task,
+    int name,
+    int right,
+    ffi.Pointer<mach_port_urefs_t> refs,
+  ) {
+    return _mach_port_get_refs(
+      task,
+      name,
+      right,
+      refs,
+    );
+  }
+
+  late final _mach_port_get_refsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_port_right_t,
+              ffi.Pointer<mach_port_urefs_t>)>>('mach_port_get_refs');
+  late final _mach_port_get_refs = _mach_port_get_refsPtr.asFunction<
+      int Function(int, int, int, ffi.Pointer<mach_port_urefs_t>)>();
+
+  int mach_port_mod_refs(
+    int task,
+    int name,
+    int right,
+    int delta,
+  ) {
+    return _mach_port_mod_refs(
+      task,
+      name,
+      right,
+      delta,
+    );
+  }
+
+  late final _mach_port_mod_refsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_right_t, mach_port_delta_t)>>('mach_port_mod_refs');
+  late final _mach_port_mod_refs =
+      _mach_port_mod_refsPtr.asFunction<int Function(int, int, int, int)>();
+
+  int mach_port_peek(
+    int task,
+    int name,
+    int trailer_type,
+    ffi.Pointer<mach_port_seqno_t> request_seqnop,
+    ffi.Pointer<mach_msg_size_t> msg_sizep,
+    ffi.Pointer<mach_msg_id_t> msg_idp,
+    mach_msg_trailer_info_t trailer_infop,
+    ffi.Pointer<mach_msg_type_number_t> trailer_infopCnt,
+  ) {
+    return _mach_port_peek(
+      task,
+      name,
+      trailer_type,
+      request_seqnop,
+      msg_sizep,
+      msg_idp,
+      trailer_infop,
+      trailer_infopCnt,
+    );
+  }
+
+  late final _mach_port_peekPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_msg_trailer_type_t,
+              ffi.Pointer<mach_port_seqno_t>,
+              ffi.Pointer<mach_msg_size_t>,
+              ffi.Pointer<mach_msg_id_t>,
+              mach_msg_trailer_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_port_peek');
+  late final _mach_port_peek = _mach_port_peekPtr.asFunction<
+      int Function(
+          int,
+          int,
+          int,
+          ffi.Pointer<mach_port_seqno_t>,
+          ffi.Pointer<mach_msg_size_t>,
+          ffi.Pointer<mach_msg_id_t>,
+          mach_msg_trailer_info_t,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_port_set_mscount(
+    int task,
+    int name,
+    int mscount,
+  ) {
+    return _mach_port_set_mscount(
+      task,
+      name,
+      mscount,
+    );
+  }
+
+  late final _mach_port_set_mscountPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_mscount_t)>>('mach_port_set_mscount');
+  late final _mach_port_set_mscount =
+      _mach_port_set_mscountPtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_get_set_status(
+    int task,
+    int name,
+    ffi.Pointer<mach_port_name_array_t> members,
+    ffi.Pointer<mach_msg_type_number_t> membersCnt,
+  ) {
+    return _mach_port_get_set_status(
+      task,
+      name,
+      members,
+      membersCnt,
+    );
+  }
+
+  late final _mach_port_get_set_statusPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  ipc_space_read_t,
+                  mach_port_name_t,
+                  ffi.Pointer<mach_port_name_array_t>,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'mach_port_get_set_status');
+  late final _mach_port_get_set_status =
+      _mach_port_get_set_statusPtr.asFunction<
+          int Function(int, int, ffi.Pointer<mach_port_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_port_move_member(
+    int task,
+    int member,
+    int after,
+  ) {
+    return _mach_port_move_member(
+      task,
+      member,
+      after,
+    );
+  }
+
+  late final _mach_port_move_memberPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_name_t)>>('mach_port_move_member');
+  late final _mach_port_move_member =
+      _mach_port_move_memberPtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_request_notification(
+    int task,
+    int name,
+    int msgid,
+    int sync1,
+    int notify,
+    int notifyPoly,
+    ffi.Pointer<mach_port_t> previous,
+  ) {
+    return _mach_port_request_notification(
+      task,
+      name,
+      msgid,
+      sync1,
+      notify,
+      notifyPoly,
+      previous,
+    );
+  }
+
+  late final _mach_port_request_notificationPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_msg_id_t,
+              mach_port_mscount_t,
+              mach_port_t,
+              mach_msg_type_name_t,
+              ffi.Pointer<mach_port_t>)>>('mach_port_request_notification');
+  late final _mach_port_request_notification =
+      _mach_port_request_notificationPtr.asFunction<
+          int Function(
+              int, int, int, int, int, int, ffi.Pointer<mach_port_t>)>();
+
+  int mach_port_insert_right(
+    int task,
+    int name,
+    int poly,
+    int polyPoly,
+  ) {
+    return _mach_port_insert_right(
+      task,
+      name,
+      poly,
+      polyPoly,
+    );
+  }
+
+  late final _mach_port_insert_rightPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t, mach_port_t,
+              mach_msg_type_name_t)>>('mach_port_insert_right');
+  late final _mach_port_insert_right =
+      _mach_port_insert_rightPtr.asFunction<int Function(int, int, int, int)>();
+
+  int mach_port_extract_right(
+    int task,
+    int name,
+    int msgt_name,
+    ffi.Pointer<mach_port_t> poly,
+    ffi.Pointer<mach_msg_type_name_t> polyPoly,
+  ) {
+    return _mach_port_extract_right(
+      task,
+      name,
+      msgt_name,
+      poly,
+      polyPoly,
+    );
+  }
+
+  late final _mach_port_extract_rightPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_msg_type_name_t,
+              ffi.Pointer<mach_port_t>,
+              ffi.Pointer<mach_msg_type_name_t>)>>('mach_port_extract_right');
+  late final _mach_port_extract_right = _mach_port_extract_rightPtr.asFunction<
+      int Function(int, int, int, ffi.Pointer<mach_port_t>,
+          ffi.Pointer<mach_msg_type_name_t>)>();
+
+  int mach_port_set_seqno(
+    int task,
+    int name,
+    int seqno,
+  ) {
+    return _mach_port_set_seqno(
+      task,
+      name,
+      seqno,
+    );
+  }
+
+  late final _mach_port_set_seqnoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_seqno_t)>>('mach_port_set_seqno');
+  late final _mach_port_set_seqno =
+      _mach_port_set_seqnoPtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_get_attributes(
+    int task,
+    int name,
+    int flavor,
+    mach_port_info_t port_info_out,
+    ffi.Pointer<mach_msg_type_number_t> port_info_outCnt,
+  ) {
+    return _mach_port_get_attributes(
+      task,
+      name,
+      flavor,
+      port_info_out,
+      port_info_outCnt,
+    );
+  }
+
+  late final _mach_port_get_attributesPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  ipc_space_read_t,
+                  mach_port_name_t,
+                  mach_port_flavor_t,
+                  mach_port_info_t,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'mach_port_get_attributes');
+  late final _mach_port_get_attributes =
+      _mach_port_get_attributesPtr.asFunction<
+          int Function(int, int, int, mach_port_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_port_set_attributes(
+    int task,
+    int name,
+    int flavor,
+    mach_port_info_t port_info,
+    int port_infoCnt,
+  ) {
+    return _mach_port_set_attributes(
+      task,
+      name,
+      flavor,
+      port_info,
+      port_infoCnt,
+    );
+  }
+
+  late final _mach_port_set_attributesPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_port_flavor_t,
+              mach_port_info_t,
+              mach_msg_type_number_t)>>('mach_port_set_attributes');
+  late final _mach_port_set_attributes = _mach_port_set_attributesPtr
+      .asFunction<int Function(int, int, int, mach_port_info_t, int)>();
+
+  int mach_port_allocate_qos(
+    int task,
+    int right,
+    ffi.Pointer<mach_port_qos_t> qos,
+    ffi.Pointer<mach_port_name_t> name,
+  ) {
+    return _mach_port_allocate_qos(
+      task,
+      right,
+      qos,
+      name,
+    );
+  }
+
+  late final _mach_port_allocate_qosPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_right_t,
+              ffi.Pointer<mach_port_qos_t>,
+              ffi.Pointer<mach_port_name_t>)>>('mach_port_allocate_qos');
+  late final _mach_port_allocate_qos = _mach_port_allocate_qosPtr.asFunction<
+      int Function(int, int, ffi.Pointer<mach_port_qos_t>,
+          ffi.Pointer<mach_port_name_t>)>();
+
+  int mach_port_allocate_full(
+    int task,
+    int right,
+    int proto,
+    ffi.Pointer<mach_port_qos_t> qos,
+    ffi.Pointer<mach_port_name_t> name,
+  ) {
+    return _mach_port_allocate_full(
+      task,
+      right,
+      proto,
+      qos,
+      name,
+    );
+  }
+
+  late final _mach_port_allocate_fullPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_right_t,
+              mach_port_t,
+              ffi.Pointer<mach_port_qos_t>,
+              ffi.Pointer<mach_port_name_t>)>>('mach_port_allocate_full');
+  late final _mach_port_allocate_full = _mach_port_allocate_fullPtr.asFunction<
+      int Function(int, int, int, ffi.Pointer<mach_port_qos_t>,
+          ffi.Pointer<mach_port_name_t>)>();
+
+  int task_set_port_space(
+    int task,
+    int table_entries,
+  ) {
+    return _task_set_port_space(
+      task,
+      table_entries,
+    );
+  }
+
+  late final _task_set_port_spacePtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(ipc_space_t, ffi.Int)>>(
+          'task_set_port_space');
+  late final _task_set_port_space =
+      _task_set_port_spacePtr.asFunction<int Function(int, int)>();
+
+  int mach_port_get_srights(
+    int task,
+    int name,
+    ffi.Pointer<mach_port_rights_t> srights,
+  ) {
+    return _mach_port_get_srights(
+      task,
+      name,
+      srights,
+    );
+  }
+
+  late final _mach_port_get_srightsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              ffi.Pointer<mach_port_rights_t>)>>('mach_port_get_srights');
+  late final _mach_port_get_srights = _mach_port_get_srightsPtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_rights_t>)>();
+
+  int mach_port_space_info(
+    int space,
+    ffi.Pointer<ipc_info_space_t> space_info,
+    ffi.Pointer<ipc_info_name_array_t> table_info,
+    ffi.Pointer<mach_msg_type_number_t> table_infoCnt,
+    ffi.Pointer<ipc_info_tree_name_array_t> tree_info,
+    ffi.Pointer<mach_msg_type_number_t> tree_infoCnt,
+  ) {
+    return _mach_port_space_info(
+      space,
+      space_info,
+      table_info,
+      table_infoCnt,
+      tree_info,
+      tree_infoCnt,
+    );
+  }
+
+  late final _mach_port_space_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_read_t,
+              ffi.Pointer<ipc_info_space_t>,
+              ffi.Pointer<ipc_info_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<ipc_info_tree_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_port_space_info');
+  late final _mach_port_space_info = _mach_port_space_infoPtr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<ipc_info_space_t>,
+          ffi.Pointer<ipc_info_name_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<ipc_info_tree_name_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_port_dnrequest_info(
+    int task,
+    int name,
+    ffi.Pointer<ffi.UnsignedInt> dnr_total,
+    ffi.Pointer<ffi.UnsignedInt> dnr_used,
+  ) {
+    return _mach_port_dnrequest_info(
+      task,
+      name,
+      dnr_total,
+      dnr_used,
+    );
+  }
+
+  late final _mach_port_dnrequest_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              ffi.Pointer<ffi.UnsignedInt>,
+              ffi.Pointer<ffi.UnsignedInt>)>>('mach_port_dnrequest_info');
+  late final _mach_port_dnrequest_info =
+      _mach_port_dnrequest_infoPtr.asFunction<
+          int Function(int, int, ffi.Pointer<ffi.UnsignedInt>,
+              ffi.Pointer<ffi.UnsignedInt>)>();
+
+  int mach_port_kernel_object(
+    int task,
+    int name,
+    ffi.Pointer<ffi.UnsignedInt> object_type,
+    ffi.Pointer<ffi.UnsignedInt> object_addr,
+  ) {
+    return _mach_port_kernel_object(
+      task,
+      name,
+      object_type,
+      object_addr,
+    );
+  }
+
+  late final _mach_port_kernel_objectPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_read_t,
+              mach_port_name_t,
+              ffi.Pointer<ffi.UnsignedInt>,
+              ffi.Pointer<ffi.UnsignedInt>)>>('mach_port_kernel_object');
+  late final _mach_port_kernel_object = _mach_port_kernel_objectPtr.asFunction<
+      int Function(int, int, ffi.Pointer<ffi.UnsignedInt>,
+          ffi.Pointer<ffi.UnsignedInt>)>();
+
+  int mach_port_insert_member(
+    int task,
+    int name,
+    int pset,
+  ) {
+    return _mach_port_insert_member(
+      task,
+      name,
+      pset,
+    );
+  }
+
+  late final _mach_port_insert_memberPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_name_t)>>('mach_port_insert_member');
+  late final _mach_port_insert_member =
+      _mach_port_insert_memberPtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_extract_member(
+    int task,
+    int name,
+    int pset,
+  ) {
+    return _mach_port_extract_member(
+      task,
+      name,
+      pset,
+    );
+  }
+
+  late final _mach_port_extract_memberPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_name_t)>>('mach_port_extract_member');
+  late final _mach_port_extract_member =
+      _mach_port_extract_memberPtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_get_context(
+    int task,
+    int name,
+    ffi.Pointer<mach_port_context_t> context,
+  ) {
+    return _mach_port_get_context(
+      task,
+      name,
+      context,
+    );
+  }
+
+  late final _mach_port_get_contextPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_read_t, mach_port_name_t,
+              ffi.Pointer<mach_port_context_t>)>>('mach_port_get_context');
+  late final _mach_port_get_context = _mach_port_get_contextPtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_context_t>)>();
+
+  int mach_port_set_context(
+    int task,
+    int name,
+    int context,
+  ) {
+    return _mach_port_set_context(
+      task,
+      name,
+      context,
+    );
+  }
+
+  late final _mach_port_set_contextPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_context_t)>>('mach_port_set_context');
+  late final _mach_port_set_context =
+      _mach_port_set_contextPtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_kobject(
+    int task,
+    int name,
+    ffi.Pointer<natural_t> object_type,
+    ffi.Pointer<mach_vm_address_t> object_addr,
+  ) {
+    return _mach_port_kobject(
+      task,
+      name,
+      object_type,
+      object_addr,
+    );
+  }
+
+  late final _mach_port_kobjectPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_read_t,
+              mach_port_name_t,
+              ffi.Pointer<natural_t>,
+              ffi.Pointer<mach_vm_address_t>)>>('mach_port_kobject');
+  late final _mach_port_kobject = _mach_port_kobjectPtr.asFunction<
+      int Function(
+          int, int, ffi.Pointer<natural_t>, ffi.Pointer<mach_vm_address_t>)>();
+
+  int mach_port_construct(
+    int task,
+    mach_port_options_ptr_t options,
+    int context,
+    ffi.Pointer<mach_port_name_t> name,
+  ) {
+    return _mach_port_construct(
+      task,
+      options,
+      context,
+      name,
+    );
+  }
+
+  late final _mach_port_constructPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_options_ptr_t,
+              mach_port_context_t,
+              ffi.Pointer<mach_port_name_t>)>>('mach_port_construct');
+  late final _mach_port_construct = _mach_port_constructPtr.asFunction<
+      int Function(
+          int, mach_port_options_ptr_t, int, ffi.Pointer<mach_port_name_t>)>();
+
+  int mach_port_destruct(
+    int task,
+    int name,
+    int srdelta,
+    int guard,
+  ) {
+    return _mach_port_destruct(
+      task,
+      name,
+      srdelta,
+      guard,
+    );
+  }
+
+  late final _mach_port_destructPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_delta_t, mach_port_context_t)>>('mach_port_destruct');
+  late final _mach_port_destruct =
+      _mach_port_destructPtr.asFunction<int Function(int, int, int, int)>();
+
+  int mach_port_guard(
+    int task,
+    int name,
+    int guard,
+    int strict,
+  ) {
+    return _mach_port_guard(
+      task,
+      name,
+      guard,
+      strict,
+    );
+  }
+
+  late final _mach_port_guardPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_context_t, boolean_t)>>('mach_port_guard');
+  late final _mach_port_guard =
+      _mach_port_guardPtr.asFunction<int Function(int, int, int, int)>();
+
+  int mach_port_unguard(
+    int task,
+    int name,
+    int guard,
+  ) {
+    return _mach_port_unguard(
+      task,
+      name,
+      guard,
+    );
+  }
+
+  late final _mach_port_unguardPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_context_t)>>('mach_port_unguard');
+  late final _mach_port_unguard =
+      _mach_port_unguardPtr.asFunction<int Function(int, int, int)>();
+
+  int mach_port_space_basic_info(
+    int task,
+    ffi.Pointer<ipc_info_space_basic_t> basic_info,
+  ) {
+    return _mach_port_space_basic_info(
+      task,
+      basic_info,
+    );
+  }
+
+  late final _mach_port_space_basic_infoPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  ipc_space_inspect_t, ffi.Pointer<ipc_info_space_basic_t>)>>(
+      'mach_port_space_basic_info');
+  late final _mach_port_space_basic_info = _mach_port_space_basic_infoPtr
+      .asFunction<int Function(int, ffi.Pointer<ipc_info_space_basic_t>)>();
+
+  int mach_port_guard_with_flags(
+    int task,
+    int name,
+    int guard,
+    int flags,
+  ) {
+    return _mach_port_guard_with_flags(
+      task,
+      name,
+      guard,
+      flags,
+    );
+  }
+
+  late final _mach_port_guard_with_flagsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(ipc_space_t, mach_port_name_t,
+              mach_port_context_t, ffi.Uint64)>>('mach_port_guard_with_flags');
+  late final _mach_port_guard_with_flags = _mach_port_guard_with_flagsPtr
+      .asFunction<int Function(int, int, int, int)>();
+
+  int mach_port_swap_guard(
+    int task,
+    int name,
+    int old_guard,
+    int new_guard,
+  ) {
+    return _mach_port_swap_guard(
+      task,
+      name,
+      old_guard,
+      new_guard,
+    );
+  }
+
+  late final _mach_port_swap_guardPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_port_context_t,
+              mach_port_context_t)>>('mach_port_swap_guard');
+  late final _mach_port_swap_guard =
+      _mach_port_swap_guardPtr.asFunction<int Function(int, int, int, int)>();
+
+  int mach_port_kobject_description(
+    int task,
+    int name,
+    ffi.Pointer<natural_t> object_type,
+    ffi.Pointer<mach_vm_address_t> object_addr,
+    ffi.Pointer<ffi.Char> description,
+  ) {
+    return _mach_port_kobject_description(
+      task,
+      name,
+      object_type,
+      object_addr,
+      description,
+    );
+  }
+
+  late final _mach_port_kobject_descriptionPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_read_t,
+              mach_port_name_t,
+              ffi.Pointer<natural_t>,
+              ffi.Pointer<mach_vm_address_t>,
+              ffi.Pointer<ffi.Char>)>>('mach_port_kobject_description');
+  late final _mach_port_kobject_description =
+      _mach_port_kobject_descriptionPtr.asFunction<
+          int Function(int, int, ffi.Pointer<natural_t>,
+              ffi.Pointer<mach_vm_address_t>, ffi.Pointer<ffi.Char>)>();
+
+  int mach_port_is_connection_for_service(
+    int task,
+    int connection_port,
+    int service_port,
+    ffi.Pointer<ffi.Uint64> filter_policy_id,
+  ) {
+    return _mach_port_is_connection_for_service(
+      task,
+      connection_port,
+      service_port,
+      filter_policy_id,
+    );
+  }
+
+  late final _mach_port_is_connection_for_servicePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_port_name_t,
+              ffi.Pointer<ffi.Uint64>)>>('mach_port_is_connection_for_service');
+  late final _mach_port_is_connection_for_service =
+      _mach_port_is_connection_for_servicePtr
+          .asFunction<int Function(int, int, int, ffi.Pointer<ffi.Uint64>)>();
+
+  int mach_port_get_service_port_info(
+    int task,
+    int name,
+    ffi.Pointer<mach_service_port_info_data_t> sp_info_out,
+  ) {
+    return _mach_port_get_service_port_info(
+      task,
+      name,
+      sp_info_out,
+    );
+  }
+
+  late final _mach_port_get_service_port_infoPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(ipc_space_read_t, mach_port_name_t,
+                  ffi.Pointer<mach_service_port_info_data_t>)>>(
+      'mach_port_get_service_port_info');
+  late final _mach_port_get_service_port_info =
+      _mach_port_get_service_port_infoPtr.asFunction<
+          int Function(int, int, ffi.Pointer<mach_service_port_info_data_t>)>();
+
+  int mach_port_assert_attributes(
+    int task,
+    int name,
+    int flavor,
+    mach_port_info_t info,
+    int infoCnt,
+  ) {
+    return _mach_port_assert_attributes(
+      task,
+      name,
+      flavor,
+      info,
+      infoCnt,
+    );
+  }
+
+  late final _mach_port_assert_attributesPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ipc_space_t,
+              mach_port_name_t,
+              mach_port_flavor_t,
+              mach_port_info_t,
+              mach_msg_type_number_t)>>('mach_port_assert_attributes');
+  late final _mach_port_assert_attributes = _mach_port_assert_attributesPtr
+      .asFunction<int Function(int, int, int, mach_port_info_t, int)>();
+
+  int mach_host_self() {
+    return _mach_host_self();
+  }
+
+  late final _mach_host_selfPtr =
+      _lookup<ffi.NativeFunction<mach_port_t Function()>>('mach_host_self');
+  late final _mach_host_self = _mach_host_selfPtr.asFunction<int Function()>();
+
+  int mach_thread_self() {
+    return _mach_thread_self();
+  }
+
+  late final _mach_thread_selfPtr =
+      _lookup<ffi.NativeFunction<mach_port_t Function()>>('mach_thread_self');
+  late final _mach_thread_self =
+      _mach_thread_selfPtr.asFunction<int Function()>();
+
+  int mach_task_is_self(
+    int task,
+  ) {
+    return _mach_task_is_self(
+      task,
+    );
+  }
+
+  late final _mach_task_is_selfPtr =
+      _lookup<ffi.NativeFunction<boolean_t Function(task_name_t)>>(
+          'mach_task_is_self');
+  late final _mach_task_is_self =
+      _mach_task_is_selfPtr.asFunction<int Function(int)>();
+
+  int host_page_size(
+    int arg0,
+    ffi.Pointer<vm_size_t> arg1,
+  ) {
+    return _host_page_size1(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _host_page_sizePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t, ffi.Pointer<vm_size_t>)>>('host_page_size');
+  late final _host_page_size1 = _host_page_sizePtr
+      .asFunction<int Function(int, ffi.Pointer<vm_size_t>)>();
+
+  late final ffi.Pointer<mach_port_t> _mach_task_self_ =
+      _lookup<mach_port_t>('mach_task_self_');
+
+  int get mach_task_self_ => _mach_task_self_.value;
+
+  set mach_task_self_(int value) => _mach_task_self_.value = value;
+
+  int clock_sleep_trap(
+    int clock_name,
+    int sleep_type,
+    int sleep_sec,
+    int sleep_nsec,
+    ffi.Pointer<mach_timespec_t> wakeup_time,
+  ) {
+    return _clock_sleep_trap(
+      clock_name,
+      sleep_type,
+      sleep_sec,
+      sleep_nsec,
+      wakeup_time,
+    );
+  }
+
+  late final _clock_sleep_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, sleep_type_t, ffi.Int,
+              ffi.Int, ffi.Pointer<mach_timespec_t>)>>('clock_sleep_trap');
+  late final _clock_sleep_trap = _clock_sleep_trapPtr.asFunction<
+      int Function(int, int, int, int, ffi.Pointer<mach_timespec_t>)>();
+
+  int _kernelrpc_mach_vm_allocate_trap(
+    int target,
+    ffi.Pointer<mach_vm_offset_t> addr,
+    int size,
+    int flags,
+  ) {
+    return __kernelrpc_mach_vm_allocate_trap(
+      target,
+      addr,
+      size,
+      flags,
+    );
+  }
+
+  late final __kernelrpc_mach_vm_allocate_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t,
+              ffi.Pointer<mach_vm_offset_t>,
+              mach_vm_size_t,
+              ffi.Int)>>('_kernelrpc_mach_vm_allocate_trap');
+  late final __kernelrpc_mach_vm_allocate_trap =
+      __kernelrpc_mach_vm_allocate_trapPtr.asFunction<
+          int Function(int, ffi.Pointer<mach_vm_offset_t>, int, int)>();
+
+  int _kernelrpc_mach_vm_deallocate_trap(
+    int target,
+    int address,
+    int size,
+  ) {
+    return __kernelrpc_mach_vm_deallocate_trap(
+      target,
+      address,
+      size,
+    );
+  }
+
+  late final __kernelrpc_mach_vm_deallocate_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, mach_vm_address_t,
+              mach_vm_size_t)>>('_kernelrpc_mach_vm_deallocate_trap');
+  late final __kernelrpc_mach_vm_deallocate_trap =
+      __kernelrpc_mach_vm_deallocate_trapPtr
+          .asFunction<int Function(int, int, int)>();
+
+  int task_dyld_process_info_notify_get(
+    mach_port_name_array_t names_addr,
+    ffi.Pointer<natural_t> names_count_addr,
+  ) {
+    return _task_dyld_process_info_notify_get(
+      names_addr,
+      names_count_addr,
+    );
+  }
+
+  late final _task_dyld_process_info_notify_getPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_array_t,
+              ffi.Pointer<natural_t>)>>('task_dyld_process_info_notify_get');
+  late final _task_dyld_process_info_notify_get =
+      _task_dyld_process_info_notify_getPtr.asFunction<
+          int Function(mach_port_name_array_t, ffi.Pointer<natural_t>)>();
+
+  int _kernelrpc_mach_vm_protect_trap(
+    int target,
+    int address,
+    int size,
+    int set_maximum,
+    int new_protection,
+  ) {
+    return __kernelrpc_mach_vm_protect_trap(
+      target,
+      address,
+      size,
+      set_maximum,
+      new_protection,
+    );
+  }
+
+  late final __kernelrpc_mach_vm_protect_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t,
+              mach_vm_address_t,
+              mach_vm_size_t,
+              boolean_t,
+              vm_prot_t)>>('_kernelrpc_mach_vm_protect_trap');
+  late final __kernelrpc_mach_vm_protect_trap =
+      __kernelrpc_mach_vm_protect_trapPtr
+          .asFunction<int Function(int, int, int, int, int)>();
+
+  int _kernelrpc_mach_vm_map_trap(
+    int target,
+    ffi.Pointer<mach_vm_offset_t> address,
+    int size,
+    int mask,
+    int flags,
+    int cur_protection,
+  ) {
+    return __kernelrpc_mach_vm_map_trap(
+      target,
+      address,
+      size,
+      mask,
+      flags,
+      cur_protection,
+    );
+  }
+
+  late final __kernelrpc_mach_vm_map_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t,
+              ffi.Pointer<mach_vm_offset_t>,
+              mach_vm_size_t,
+              mach_vm_offset_t,
+              ffi.Int,
+              vm_prot_t)>>('_kernelrpc_mach_vm_map_trap');
+  late final __kernelrpc_mach_vm_map_trap =
+      __kernelrpc_mach_vm_map_trapPtr.asFunction<
+          int Function(
+              int, ffi.Pointer<mach_vm_offset_t>, int, int, int, int)>();
+
+  int _kernelrpc_mach_vm_purgable_control_trap(
+    int target,
+    int address,
+    int control,
+    ffi.Pointer<ffi.Int> state,
+  ) {
+    return __kernelrpc_mach_vm_purgable_control_trap(
+      target,
+      address,
+      control,
+      state,
+    );
+  }
+
+  late final __kernelrpc_mach_vm_purgable_control_trapPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(mach_port_name_t, mach_vm_offset_t,
+                  vm_purgable_t, ffi.Pointer<ffi.Int>)>>(
+      '_kernelrpc_mach_vm_purgable_control_trap');
+  late final __kernelrpc_mach_vm_purgable_control_trap =
+      __kernelrpc_mach_vm_purgable_control_trapPtr
+          .asFunction<int Function(int, int, int, ffi.Pointer<ffi.Int>)>();
+
+  int _kernelrpc_mach_port_allocate_trap(
+    int target,
+    int right,
+    ffi.Pointer<mach_port_name_t> name,
+  ) {
+    return __kernelrpc_mach_port_allocate_trap(
+      target,
+      right,
+      name,
+    );
+  }
+
+  late final __kernelrpc_mach_port_allocate_trapPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(mach_port_name_t, mach_port_right_t,
+                  ffi.Pointer<mach_port_name_t>)>>(
+      '_kernelrpc_mach_port_allocate_trap');
+  late final __kernelrpc_mach_port_allocate_trap =
+      __kernelrpc_mach_port_allocate_trapPtr
+          .asFunction<int Function(int, int, ffi.Pointer<mach_port_name_t>)>();
+
+  int _kernelrpc_mach_port_deallocate_trap(
+    int target,
+    int name,
+  ) {
+    return __kernelrpc_mach_port_deallocate_trap(
+      target,
+      name,
+    );
+  }
+
+  late final __kernelrpc_mach_port_deallocate_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t,
+              mach_port_name_t)>>('_kernelrpc_mach_port_deallocate_trap');
+  late final __kernelrpc_mach_port_deallocate_trap =
+      __kernelrpc_mach_port_deallocate_trapPtr
+          .asFunction<int Function(int, int)>();
+
+  int _kernelrpc_mach_port_mod_refs_trap(
+    int target,
+    int name,
+    int right,
+    int delta,
+  ) {
+    return __kernelrpc_mach_port_mod_refs_trap(
+      target,
+      name,
+      right,
+      delta,
+    );
+  }
+
+  late final __kernelrpc_mach_port_mod_refs_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t,
+              mach_port_name_t,
+              mach_port_right_t,
+              mach_port_delta_t)>>('_kernelrpc_mach_port_mod_refs_trap');
+  late final __kernelrpc_mach_port_mod_refs_trap =
+      __kernelrpc_mach_port_mod_refs_trapPtr
+          .asFunction<int Function(int, int, int, int)>();
+
+  int _kernelrpc_mach_port_move_member_trap(
+    int target,
+    int member,
+    int after,
+  ) {
+    return __kernelrpc_mach_port_move_member_trap(
+      target,
+      member,
+      after,
+    );
+  }
+
+  late final __kernelrpc_mach_port_move_member_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, mach_port_name_t,
+              mach_port_name_t)>>('_kernelrpc_mach_port_move_member_trap');
+  late final __kernelrpc_mach_port_move_member_trap =
+      __kernelrpc_mach_port_move_member_trapPtr
+          .asFunction<int Function(int, int, int)>();
+
+  int _kernelrpc_mach_port_insert_right_trap(
+    int target,
+    int name,
+    int poly,
+    int polyPoly,
+  ) {
+    return __kernelrpc_mach_port_insert_right_trap(
+      target,
+      name,
+      poly,
+      polyPoly,
+    );
+  }
+
+  late final __kernelrpc_mach_port_insert_right_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t,
+              mach_port_name_t,
+              mach_port_name_t,
+              mach_msg_type_name_t)>>('_kernelrpc_mach_port_insert_right_trap');
+  late final __kernelrpc_mach_port_insert_right_trap =
+      __kernelrpc_mach_port_insert_right_trapPtr
+          .asFunction<int Function(int, int, int, int)>();
+
+  int _kernelrpc_mach_port_get_attributes_trap(
+    int target,
+    int name,
+    int flavor,
+    mach_port_info_t port_info_out,
+    ffi.Pointer<mach_msg_type_number_t> port_info_outCnt,
+  ) {
+    return __kernelrpc_mach_port_get_attributes_trap(
+      target,
+      name,
+      flavor,
+      port_info_out,
+      port_info_outCnt,
+    );
+  }
+
+  late final __kernelrpc_mach_port_get_attributes_trapPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  mach_port_name_t,
+                  mach_port_name_t,
+                  mach_port_flavor_t,
+                  mach_port_info_t,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      '_kernelrpc_mach_port_get_attributes_trap');
+  late final __kernelrpc_mach_port_get_attributes_trap =
+      __kernelrpc_mach_port_get_attributes_trapPtr.asFunction<
+          int Function(int, int, int, mach_port_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int _kernelrpc_mach_port_insert_member_trap(
+    int target,
+    int name,
+    int pset,
+  ) {
+    return __kernelrpc_mach_port_insert_member_trap(
+      target,
+      name,
+      pset,
+    );
+  }
+
+  late final __kernelrpc_mach_port_insert_member_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, mach_port_name_t,
+              mach_port_name_t)>>('_kernelrpc_mach_port_insert_member_trap');
+  late final __kernelrpc_mach_port_insert_member_trap =
+      __kernelrpc_mach_port_insert_member_trapPtr
+          .asFunction<int Function(int, int, int)>();
+
+  int _kernelrpc_mach_port_extract_member_trap(
+    int target,
+    int name,
+    int pset,
+  ) {
+    return __kernelrpc_mach_port_extract_member_trap(
+      target,
+      name,
+      pset,
+    );
+  }
+
+  late final __kernelrpc_mach_port_extract_member_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, mach_port_name_t,
+              mach_port_name_t)>>('_kernelrpc_mach_port_extract_member_trap');
+  late final __kernelrpc_mach_port_extract_member_trap =
+      __kernelrpc_mach_port_extract_member_trapPtr
+          .asFunction<int Function(int, int, int)>();
+
+  int _kernelrpc_mach_port_construct_trap(
+    int target,
+    ffi.Pointer<mach_port_options_t> options,
+    int context,
+    ffi.Pointer<mach_port_name_t> name,
+  ) {
+    return __kernelrpc_mach_port_construct_trap(
+      target,
+      options,
+      context,
+      name,
+    );
+  }
+
+  late final __kernelrpc_mach_port_construct_trapPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  mach_port_name_t,
+                  ffi.Pointer<mach_port_options_t>,
+                  ffi.Uint64,
+                  ffi.Pointer<mach_port_name_t>)>>(
+      '_kernelrpc_mach_port_construct_trap');
+  late final __kernelrpc_mach_port_construct_trap =
+      __kernelrpc_mach_port_construct_trapPtr.asFunction<
+          int Function(int, ffi.Pointer<mach_port_options_t>, int,
+              ffi.Pointer<mach_port_name_t>)>();
+
+  int _kernelrpc_mach_port_destruct_trap(
+    int target,
+    int name,
+    int srdelta,
+    int guard,
+  ) {
+    return __kernelrpc_mach_port_destruct_trap(
+      target,
+      name,
+      srdelta,
+      guard,
+    );
+  }
+
+  late final __kernelrpc_mach_port_destruct_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t,
+              mach_port_name_t,
+              mach_port_delta_t,
+              ffi.Uint64)>>('_kernelrpc_mach_port_destruct_trap');
+  late final __kernelrpc_mach_port_destruct_trap =
+      __kernelrpc_mach_port_destruct_trapPtr
+          .asFunction<int Function(int, int, int, int)>();
+
+  int _kernelrpc_mach_port_guard_trap(
+    int target,
+    int name,
+    int guard,
+    int strict,
+  ) {
+    return __kernelrpc_mach_port_guard_trap(
+      target,
+      name,
+      guard,
+      strict,
+    );
+  }
+
+  late final __kernelrpc_mach_port_guard_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, mach_port_name_t, ffi.Uint64,
+              boolean_t)>>('_kernelrpc_mach_port_guard_trap');
+  late final __kernelrpc_mach_port_guard_trap =
+      __kernelrpc_mach_port_guard_trapPtr
+          .asFunction<int Function(int, int, int, int)>();
+
+  int _kernelrpc_mach_port_unguard_trap(
+    int target,
+    int name,
+    int guard,
+  ) {
+    return __kernelrpc_mach_port_unguard_trap(
+      target,
+      name,
+      guard,
+    );
+  }
+
+  late final __kernelrpc_mach_port_unguard_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, mach_port_name_t,
+              ffi.Uint64)>>('_kernelrpc_mach_port_unguard_trap');
+  late final __kernelrpc_mach_port_unguard_trap =
+      __kernelrpc_mach_port_unguard_trapPtr
+          .asFunction<int Function(int, int, int)>();
+
+  int mach_generate_activity_id(
+    int target,
+    int count,
+    ffi.Pointer<ffi.Uint64> activity_id,
+  ) {
+    return _mach_generate_activity_id(
+      target,
+      count,
+      activity_id,
+    );
+  }
+
+  late final _mach_generate_activity_idPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, ffi.Int,
+              ffi.Pointer<ffi.Uint64>)>>('mach_generate_activity_id');
+  late final _mach_generate_activity_id = _mach_generate_activity_idPtr
+      .asFunction<int Function(int, int, ffi.Pointer<ffi.Uint64>)>();
+
+  int macx_swapon(
+    int filename,
+    int flags,
+    int size,
+    int priority,
+  ) {
+    return _macx_swapon(
+      filename,
+      flags,
+      size,
+      priority,
+    );
+  }
+
+  late final _macx_swaponPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ffi.Uint64, ffi.Int, ffi.Int, ffi.Int)>>('macx_swapon');
+  late final _macx_swapon =
+      _macx_swaponPtr.asFunction<int Function(int, int, int, int)>();
+
+  int macx_swapoff(
+    int filename,
+    int flags,
+  ) {
+    return _macx_swapoff(
+      filename,
+      flags,
+    );
+  }
+
+  late final _macx_swapoffPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(ffi.Uint64, ffi.Int)>>(
+          'macx_swapoff');
+  late final _macx_swapoff =
+      _macx_swapoffPtr.asFunction<int Function(int, int)>();
+
+  int macx_triggers(
+    int hi_water,
+    int low_water,
+    int flags,
+    int alert_port,
+  ) {
+    return _macx_triggers(
+      hi_water,
+      low_water,
+      flags,
+      alert_port,
+    );
+  }
+
+  late final _macx_triggersPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              ffi.Int, ffi.Int, ffi.Int, mach_port_t)>>('macx_triggers');
+  late final _macx_triggers =
+      _macx_triggersPtr.asFunction<int Function(int, int, int, int)>();
+
+  int macx_backing_store_suspend(
+    int suspend,
+  ) {
+    return _macx_backing_store_suspend(
+      suspend,
+    );
+  }
+
+  late final _macx_backing_store_suspendPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(boolean_t)>>(
+          'macx_backing_store_suspend');
+  late final _macx_backing_store_suspend =
+      _macx_backing_store_suspendPtr.asFunction<int Function(int)>();
+
+  int macx_backing_store_recovery(
+    int pid,
+  ) {
+    return _macx_backing_store_recovery(
+      pid,
+    );
+  }
+
+  late final _macx_backing_store_recoveryPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(ffi.Int)>>(
+          'macx_backing_store_recovery');
+  late final _macx_backing_store_recovery =
+      _macx_backing_store_recoveryPtr.asFunction<int Function(int)>();
+
+  int swtch_pri(
+    int pri,
+  ) {
+    return _swtch_pri(
+      pri,
+    );
+  }
+
+  late final _swtch_priPtr =
+      _lookup<ffi.NativeFunction<boolean_t Function(ffi.Int)>>('swtch_pri');
+  late final _swtch_pri = _swtch_priPtr.asFunction<int Function(int)>();
+
+  int swtch() {
+    return _swtch();
+  }
+
+  late final _swtchPtr =
+      _lookup<ffi.NativeFunction<boolean_t Function()>>('swtch');
+  late final _swtch = _swtchPtr.asFunction<int Function()>();
+
+  int thread_switch(
+    int thread_name,
+    int option,
+    int option_time,
+  ) {
+    return _thread_switch(
+      thread_name,
+      option,
+      option_time,
+    );
+  }
+
+  late final _thread_switchPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t, ffi.Int, mach_msg_timeout_t)>>('thread_switch');
+  late final _thread_switch =
+      _thread_switchPtr.asFunction<int Function(int, int, int)>();
+
+  int task_self_trap() {
+    return _task_self_trap();
+  }
+
+  late final _task_self_trapPtr =
+      _lookup<ffi.NativeFunction<mach_port_name_t Function()>>(
+          'task_self_trap');
+  late final _task_self_trap = _task_self_trapPtr.asFunction<int Function()>();
+
+  int host_create_mach_voucher_trap(
+    int host,
+    mach_voucher_attr_raw_recipe_array_t recipes,
+    int recipes_size,
+    ffi.Pointer<mach_port_name_t> voucher,
+  ) {
+    return _host_create_mach_voucher_trap(
+      host,
+      recipes,
+      recipes_size,
+      voucher,
+    );
+  }
+
+  late final _host_create_mach_voucher_trapPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t,
+              mach_voucher_attr_raw_recipe_array_t,
+              ffi.Int,
+              ffi.Pointer<mach_port_name_t>)>>('host_create_mach_voucher_trap');
+  late final _host_create_mach_voucher_trap =
+      _host_create_mach_voucher_trapPtr.asFunction<
+          int Function(int, mach_voucher_attr_raw_recipe_array_t, int,
+              ffi.Pointer<mach_port_name_t>)>();
+
+  int mach_voucher_extract_attr_recipe_trap(
+    int voucher_name,
+    int key,
+    mach_voucher_attr_raw_recipe_t recipe,
+    ffi.Pointer<mach_msg_type_number_t> recipe_size,
+  ) {
+    return _mach_voucher_extract_attr_recipe_trap(
+      voucher_name,
+      key,
+      recipe,
+      recipe_size,
+    );
+  }
+
+  late final _mach_voucher_extract_attr_recipe_trapPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  mach_port_name_t,
+                  mach_voucher_attr_key_t,
+                  mach_voucher_attr_raw_recipe_t,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'mach_voucher_extract_attr_recipe_trap');
+  late final _mach_voucher_extract_attr_recipe_trap =
+      _mach_voucher_extract_attr_recipe_trapPtr.asFunction<
+          int Function(int, int, mach_voucher_attr_raw_recipe_t,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int _kernelrpc_mach_port_type_trap(
+    int task,
+    int name,
+    ffi.Pointer<mach_port_type_t> ptype,
+  ) {
+    return __kernelrpc_mach_port_type_trap(
+      task,
+      name,
+      ptype,
+    );
+  }
+
+  late final __kernelrpc_mach_port_type_trapPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(ipc_space_t, mach_port_name_t,
+                  ffi.Pointer<mach_port_type_t>)>>(
+      '_kernelrpc_mach_port_type_trap');
+  late final __kernelrpc_mach_port_type_trap =
+      __kernelrpc_mach_port_type_trapPtr
+          .asFunction<int Function(int, int, ffi.Pointer<mach_port_type_t>)>();
+
+  int _kernelrpc_mach_port_request_notification_trap(
+    int task,
+    int name,
+    int msgid,
+    int sync1,
+    int notify,
+    int notifyPoly,
+    ffi.Pointer<mach_port_name_t> previous,
+  ) {
+    return __kernelrpc_mach_port_request_notification_trap(
+      task,
+      name,
+      msgid,
+      sync1,
+      notify,
+      notifyPoly,
+      previous,
+    );
+  }
+
+  late final __kernelrpc_mach_port_request_notification_trapPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  ipc_space_t,
+                  mach_port_name_t,
+                  mach_msg_id_t,
+                  mach_port_mscount_t,
+                  mach_port_name_t,
+                  mach_msg_type_name_t,
+                  ffi.Pointer<mach_port_name_t>)>>(
+      '_kernelrpc_mach_port_request_notification_trap');
+  late final __kernelrpc_mach_port_request_notification_trap =
+      __kernelrpc_mach_port_request_notification_trapPtr.asFunction<
+          int Function(
+              int, int, int, int, int, int, ffi.Pointer<mach_port_name_t>)>();
+
+  int task_for_pid(
+    int target_tport,
+    int pid,
+    ffi.Pointer<mach_port_name_t> t,
+  ) {
+    return _task_for_pid(
+      target_tport,
+      pid,
+      t,
+    );
+  }
+
+  late final _task_for_pidPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, ffi.Int,
+              ffi.Pointer<mach_port_name_t>)>>('task_for_pid');
+  late final _task_for_pid = _task_for_pidPtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_name_t>)>();
+
+  int task_name_for_pid(
+    int target_tport,
+    int pid,
+    ffi.Pointer<mach_port_name_t> tn,
+  ) {
+    return _task_name_for_pid(
+      target_tport,
+      pid,
+      tn,
+    );
+  }
+
+  late final _task_name_for_pidPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, ffi.Int,
+              ffi.Pointer<mach_port_name_t>)>>('task_name_for_pid');
+  late final _task_name_for_pid = _task_name_for_pidPtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_name_t>)>();
+
+  int pid_for_task(
+    int t,
+    ffi.Pointer<ffi.Int> x,
+  ) {
+    return _pid_for_task(
+      t,
+      x,
+    );
+  }
+
+  late final _pid_for_taskPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_name_t, ffi.Pointer<ffi.Int>)>>('pid_for_task');
+  late final _pid_for_task =
+      _pid_for_taskPtr.asFunction<int Function(int, ffi.Pointer<ffi.Int>)>();
+
+  int debug_control_port_for_pid(
+    int target_tport,
+    int pid,
+    ffi.Pointer<mach_port_name_t> t,
+  ) {
+    return _debug_control_port_for_pid(
+      target_tport,
+      pid,
+      t,
+    );
+  }
+
+  late final _debug_control_port_for_pidPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_name_t, ffi.Int,
+              ffi.Pointer<mach_port_name_t>)>>('debug_control_port_for_pid');
+  late final _debug_control_port_for_pid = _debug_control_port_for_pidPtr
+      .asFunction<int Function(int, int, ffi.Pointer<mach_port_name_t>)>();
+
+  late final ffi.Pointer<mach_port_t> _bootstrap_port =
+      _lookup<mach_port_t>('bootstrap_port');
+
+  int get bootstrap_port => _bootstrap_port.value;
+
+  set bootstrap_port(int value) => _bootstrap_port.value = value;
+
+  late final ffi.Pointer<
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>>
+      _vprintf_stderr_func = _lookup<
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(ffi.Pointer<ffi.Char>,
+                      ffi.Pointer<__va_list_tag>)>>>('vprintf_stderr_func');
+
+  ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Int Function(
+                  ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>
+      get vprintf_stderr_func => _vprintf_stderr_func.value;
+
+  set vprintf_stderr_func(
+          ffi.Pointer<
+                  ffi.NativeFunction<
+                      ffi.Int Function(
+                          ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>
+              value) =>
+      _vprintf_stderr_func.value = value;
+
+  int host_info(
+    int host,
+    int flavor,
+    host_info_t host_info_out,
+    ffi.Pointer<mach_msg_type_number_t> host_info_outCnt,
+  ) {
+    return _host_info(
+      host,
+      flavor,
+      host_info_out,
+      host_info_outCnt,
+    );
+  }
+
+  late final _host_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, host_flavor_t, host_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_info');
+  late final _host_info = _host_infoPtr.asFunction<
+      int Function(
+          int, int, host_info_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_kernel_version(
+    int host,
+    ffi.Pointer<ffi.Char> kernel_version,
+  ) {
+    return _host_kernel_version(
+      host,
+      kernel_version,
+    );
+  }
+
+  late final _host_kernel_versionPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t, ffi.Pointer<ffi.Char>)>>('host_kernel_version');
+  late final _host_kernel_version = _host_kernel_versionPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Char>)>();
+
+  int _host_page_size(
+    int host,
+    ffi.Pointer<vm_size_t> out_page_size,
+  ) {
+    return __host_page_size(
+      host,
+      out_page_size,
+    );
+  }
+
+  late final __host_page_sizePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t, ffi.Pointer<vm_size_t>)>>('_host_page_size');
+  late final __host_page_size = __host_page_sizePtr
+      .asFunction<int Function(int, ffi.Pointer<vm_size_t>)>();
+
+  int mach_memory_object_memory_entry(
+    int host,
+    int internal,
+    int size,
+    int permission,
+    int pager,
+    ffi.Pointer<mach_port_t> entry_handle,
+  ) {
+    return _mach_memory_object_memory_entry(
+      host,
+      internal,
+      size,
+      permission,
+      pager,
+      entry_handle,
+    );
+  }
+
+  late final _mach_memory_object_memory_entryPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t,
+              boolean_t,
+              vm_size_t,
+              vm_prot_t,
+              memory_object_t,
+              ffi.Pointer<mach_port_t>)>>('mach_memory_object_memory_entry');
+  late final _mach_memory_object_memory_entry =
+      _mach_memory_object_memory_entryPtr.asFunction<
+          int Function(int, int, int, int, int, ffi.Pointer<mach_port_t>)>();
+
+  int host_processor_info(
+    int host,
+    int flavor,
+    ffi.Pointer<natural_t> out_processor_count,
+    ffi.Pointer<processor_info_array_t> out_processor_info,
+    ffi.Pointer<mach_msg_type_number_t> out_processor_infoCnt,
+  ) {
+    return _host_processor_info(
+      host,
+      flavor,
+      out_processor_count,
+      out_processor_info,
+      out_processor_infoCnt,
+    );
+  }
+
+  late final _host_processor_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t,
+              processor_flavor_t,
+              ffi.Pointer<natural_t>,
+              ffi.Pointer<processor_info_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_processor_info');
+  late final _host_processor_info = _host_processor_infoPtr.asFunction<
+      int Function(
+          int,
+          int,
+          ffi.Pointer<natural_t>,
+          ffi.Pointer<processor_info_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_get_io_main(
+    int host,
+    ffi.Pointer<io_main_t> io_main,
+  ) {
+    return _host_get_io_main(
+      host,
+      io_main,
+    );
+  }
+
+  late final _host_get_io_mainPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t, ffi.Pointer<io_main_t>)>>('host_get_io_main');
+  late final _host_get_io_main = _host_get_io_mainPtr
+      .asFunction<int Function(int, ffi.Pointer<io_main_t>)>();
+
+  int host_get_clock_service(
+    int host,
+    int clock_id,
+    ffi.Pointer<clock_serv_t> clock_serv,
+  ) {
+    return _host_get_clock_service(
+      host,
+      clock_id,
+      clock_serv,
+    );
+  }
+
+  late final _host_get_clock_servicePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, clock_id_t,
+              ffi.Pointer<clock_serv_t>)>>('host_get_clock_service');
+  late final _host_get_clock_service = _host_get_clock_servicePtr
+      .asFunction<int Function(int, int, ffi.Pointer<clock_serv_t>)>();
+
+  int kmod_get_info(
+    int host,
+    ffi.Pointer<kmod_args_t> modules,
+    ffi.Pointer<mach_msg_type_number_t> modulesCnt,
+  ) {
+    return _kmod_get_info(
+      host,
+      modules,
+      modulesCnt,
+    );
+  }
+
+  late final _kmod_get_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, ffi.Pointer<kmod_args_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('kmod_get_info');
+  late final _kmod_get_info = _kmod_get_infoPtr.asFunction<
+      int Function(int, ffi.Pointer<kmod_args_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_virtual_physical_table_info(
+    int host,
+    ffi.Pointer<hash_info_bucket_array_t> info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+  ) {
+    return _host_virtual_physical_table_info(
+      host,
+      info,
+      infoCnt,
+    );
+  }
+
+  late final _host_virtual_physical_table_infoPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  host_t,
+                  ffi.Pointer<hash_info_bucket_array_t>,
+                  ffi.Pointer<mach_msg_type_number_t>)>>(
+      'host_virtual_physical_table_info');
+  late final _host_virtual_physical_table_info =
+      _host_virtual_physical_table_infoPtr.asFunction<
+          int Function(int, ffi.Pointer<hash_info_bucket_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int processor_set_default(
+    int host,
+    ffi.Pointer<processor_set_name_t> default_set,
+  ) {
+    return _processor_set_default(
+      host,
+      default_set,
+    );
+  }
+
+  late final _processor_set_defaultPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t,
+              ffi.Pointer<processor_set_name_t>)>>('processor_set_default');
+  late final _processor_set_default = _processor_set_defaultPtr
+      .asFunction<int Function(int, ffi.Pointer<processor_set_name_t>)>();
+
+  int processor_set_create(
+    int host,
+    ffi.Pointer<processor_set_t> new_set,
+    ffi.Pointer<processor_set_name_t> new_name,
+  ) {
+    return _processor_set_create(
+      host,
+      new_set,
+      new_name,
+    );
+  }
+
+  late final _processor_set_createPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, ffi.Pointer<processor_set_t>,
+              ffi.Pointer<processor_set_name_t>)>>('processor_set_create');
+  late final _processor_set_create = _processor_set_createPtr.asFunction<
+      int Function(int, ffi.Pointer<processor_set_t>,
+          ffi.Pointer<processor_set_name_t>)>();
+
+  int mach_memory_object_memory_entry_64(
+    int host,
+    int internal,
+    int size,
+    int permission,
+    int pager,
+    ffi.Pointer<mach_port_t> entry_handle,
+  ) {
+    return _mach_memory_object_memory_entry_64(
+      host,
+      internal,
+      size,
+      permission,
+      pager,
+      entry_handle,
+    );
+  }
+
+  late final _mach_memory_object_memory_entry_64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t,
+              boolean_t,
+              memory_object_size_t,
+              vm_prot_t,
+              memory_object_t,
+              ffi.Pointer<mach_port_t>)>>('mach_memory_object_memory_entry_64');
+  late final _mach_memory_object_memory_entry_64 =
+      _mach_memory_object_memory_entry_64Ptr.asFunction<
+          int Function(int, int, int, int, int, ffi.Pointer<mach_port_t>)>();
+
+  int host_statistics(
+    int host_priv,
+    int flavor,
+    host_info_t host_info_out,
+    ffi.Pointer<mach_msg_type_number_t> host_info_outCnt,
+  ) {
+    return _host_statistics(
+      host_priv,
+      flavor,
+      host_info_out,
+      host_info_outCnt,
+    );
+  }
+
+  late final _host_statisticsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, host_flavor_t, host_info_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_statistics');
+  late final _host_statistics = _host_statisticsPtr.asFunction<
+      int Function(
+          int, int, host_info_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_request_notification(
+    int host,
+    int notify_type,
+    int notify_port,
+  ) {
+    return _host_request_notification(
+      host,
+      notify_type,
+      notify_port,
+    );
+  }
+
+  late final _host_request_notificationPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, host_flavor_t,
+              mach_port_t)>>('host_request_notification');
+  late final _host_request_notification =
+      _host_request_notificationPtr.asFunction<int Function(int, int, int)>();
+
+  int host_lockgroup_info(
+    int host,
+    ffi.Pointer<lockgroup_info_array_t> lockgroup_info,
+    ffi.Pointer<mach_msg_type_number_t> lockgroup_infoCnt,
+  ) {
+    return _host_lockgroup_info(
+      host,
+      lockgroup_info,
+      lockgroup_infoCnt,
+    );
+  }
+
+  late final _host_lockgroup_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, ffi.Pointer<lockgroup_info_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_lockgroup_info');
+  late final _host_lockgroup_info = _host_lockgroup_infoPtr.asFunction<
+      int Function(int, ffi.Pointer<lockgroup_info_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_statistics64(
+    int host_priv,
+    int flavor,
+    host_info64_t host_info64_out,
+    ffi.Pointer<mach_msg_type_number_t> host_info64_outCnt,
+  ) {
+    return _host_statistics64(
+      host_priv,
+      flavor,
+      host_info64_out,
+      host_info64_outCnt,
+    );
+  }
+
+  late final _host_statistics64Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t, host_flavor_t, host_info64_t,
+              ffi.Pointer<mach_msg_type_number_t>)>>('host_statistics64');
+  late final _host_statistics64 = _host_statistics64Ptr.asFunction<
+      int Function(
+          int, int, host_info64_t, ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int mach_zone_info(
+    int host,
+    ffi.Pointer<mach_zone_name_array_t> names,
+    ffi.Pointer<mach_msg_type_number_t> namesCnt,
+    ffi.Pointer<mach_zone_info_array_t> info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+  ) {
+    return _mach_zone_info(
+      host,
+      names,
+      namesCnt,
+      info,
+      infoCnt,
+    );
+  }
+
+  late final _mach_zone_infoPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              ffi.Pointer<mach_zone_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<mach_zone_info_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_zone_info');
+  late final _mach_zone_info = _mach_zone_infoPtr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<mach_zone_name_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<mach_zone_info_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_create_mach_voucher(
+    int host,
+    mach_voucher_attr_raw_recipe_array_t recipes,
+    int recipesCnt,
+    ffi.Pointer<ipc_voucher_t> voucher,
+  ) {
+    return _host_create_mach_voucher(
+      host,
+      recipes,
+      recipesCnt,
+      voucher,
+    );
+  }
+
+  late final _host_create_mach_voucherPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t,
+              mach_voucher_attr_raw_recipe_array_t,
+              mach_msg_type_number_t,
+              ffi.Pointer<ipc_voucher_t>)>>('host_create_mach_voucher');
+  late final _host_create_mach_voucher =
+      _host_create_mach_voucherPtr.asFunction<
+          int Function(int, mach_voucher_attr_raw_recipe_array_t, int,
+              ffi.Pointer<ipc_voucher_t>)>();
+
+  int host_register_mach_voucher_attr_manager(
+    int host,
+    int attr_manager,
+    int default_value,
+    ffi.Pointer<mach_voucher_attr_key_t> new_key,
+    ffi.Pointer<ipc_voucher_attr_control_t> new_attr_control,
+  ) {
+    return _host_register_mach_voucher_attr_manager(
+      host,
+      attr_manager,
+      default_value,
+      new_key,
+      new_attr_control,
+    );
+  }
+
+  late final _host_register_mach_voucher_attr_managerPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  host_t,
+                  mach_voucher_attr_manager_t,
+                  mach_voucher_attr_value_handle_t,
+                  ffi.Pointer<mach_voucher_attr_key_t>,
+                  ffi.Pointer<ipc_voucher_attr_control_t>)>>(
+      'host_register_mach_voucher_attr_manager');
+  late final _host_register_mach_voucher_attr_manager =
+      _host_register_mach_voucher_attr_managerPtr.asFunction<
+          int Function(int, int, int, ffi.Pointer<mach_voucher_attr_key_t>,
+              ffi.Pointer<ipc_voucher_attr_control_t>)>();
+
+  int host_register_well_known_mach_voucher_attr_manager(
+    int host,
+    int attr_manager,
+    int default_value,
+    int key,
+    ffi.Pointer<ipc_voucher_attr_control_t> new_attr_control,
+  ) {
+    return _host_register_well_known_mach_voucher_attr_manager(
+      host,
+      attr_manager,
+      default_value,
+      key,
+      new_attr_control,
+    );
+  }
+
+  late final _host_register_well_known_mach_voucher_attr_managerPtr = _lookup<
+          ffi.NativeFunction<
+              kern_return_t Function(
+                  host_t,
+                  mach_voucher_attr_manager_t,
+                  mach_voucher_attr_value_handle_t,
+                  mach_voucher_attr_key_t,
+                  ffi.Pointer<ipc_voucher_attr_control_t>)>>(
+      'host_register_well_known_mach_voucher_attr_manager');
+  late final _host_register_well_known_mach_voucher_attr_manager =
+      _host_register_well_known_mach_voucher_attr_managerPtr.asFunction<
+          int Function(
+              int, int, int, int, ffi.Pointer<ipc_voucher_attr_control_t>)>();
+
+  int host_set_atm_diagnostic_flag(
+    int host,
+    int diagnostic_flag,
+  ) {
+    return _host_set_atm_diagnostic_flag(
+      host,
+      diagnostic_flag,
+    );
+  }
+
+  late final _host_set_atm_diagnostic_flagPtr =
+      _lookup<ffi.NativeFunction<kern_return_t Function(host_t, ffi.Uint32)>>(
+          'host_set_atm_diagnostic_flag');
+  late final _host_set_atm_diagnostic_flag =
+      _host_set_atm_diagnostic_flagPtr.asFunction<int Function(int, int)>();
+
+  int host_get_atm_diagnostic_flag(
+    int host,
+    ffi.Pointer<ffi.Uint32> diagnostic_flag,
+  ) {
+    return _host_get_atm_diagnostic_flag(
+      host,
+      diagnostic_flag,
+    );
+  }
+
+  late final _host_get_atm_diagnostic_flagPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t,
+              ffi.Pointer<ffi.Uint32>)>>('host_get_atm_diagnostic_flag');
+  late final _host_get_atm_diagnostic_flag = _host_get_atm_diagnostic_flagPtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Uint32>)>();
+
+  int mach_memory_info1(
+    int host,
+    ffi.Pointer<mach_zone_name_array_t> names,
+    ffi.Pointer<mach_msg_type_number_t> namesCnt,
+    ffi.Pointer<mach_zone_info_array_t> info,
+    ffi.Pointer<mach_msg_type_number_t> infoCnt,
+    ffi.Pointer<mach_memory_info_array_t> memory_info,
+    ffi.Pointer<mach_msg_type_number_t> memory_infoCnt,
+  ) {
+    return _mach_memory_info1(
+      host,
+      names,
+      namesCnt,
+      info,
+      infoCnt,
+      memory_info,
+      memory_infoCnt,
+    );
+  }
+
+  late final _mach_memory_info1Ptr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_priv_t,
+              ffi.Pointer<mach_zone_name_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<mach_zone_info_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>,
+              ffi.Pointer<mach_memory_info_array_t>,
+              ffi.Pointer<mach_msg_type_number_t>)>>('mach_memory_info');
+  late final _mach_memory_info1 = _mach_memory_info1Ptr.asFunction<
+      int Function(
+          int,
+          ffi.Pointer<mach_zone_name_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<mach_zone_info_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>,
+          ffi.Pointer<mach_memory_info_array_t>,
+          ffi.Pointer<mach_msg_type_number_t>)>();
+
+  int host_set_multiuser_config_flags(
+    int host_priv,
+    int multiuser_flags,
+  ) {
+    return _host_set_multiuser_config_flags(
+      host_priv,
+      multiuser_flags,
+    );
+  }
+
+  late final _host_set_multiuser_config_flagsPtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(host_priv_t, ffi.Uint32)>>(
+      'host_set_multiuser_config_flags');
+  late final _host_set_multiuser_config_flags =
+      _host_set_multiuser_config_flagsPtr.asFunction<int Function(int, int)>();
+
+  int host_get_multiuser_config_flags(
+    int host,
+    ffi.Pointer<ffi.Uint32> multiuser_flags,
+  ) {
+    return _host_get_multiuser_config_flags(
+      host,
+      multiuser_flags,
+    );
+  }
+
+  late final _host_get_multiuser_config_flagsPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_t,
+              ffi.Pointer<ffi.Uint32>)>>('host_get_multiuser_config_flags');
+  late final _host_get_multiuser_config_flags =
+      _host_get_multiuser_config_flagsPtr
+          .asFunction<int Function(int, ffi.Pointer<ffi.Uint32>)>();
+
+  int host_check_multiuser_mode(
+    int host,
+    ffi.Pointer<ffi.Uint32> multiuser_mode,
+  ) {
+    return _host_check_multiuser_mode(
+      host,
+      multiuser_mode,
+    );
+  }
+
+  late final _host_check_multiuser_modePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              host_t, ffi.Pointer<ffi.Uint32>)>>('host_check_multiuser_mode');
+  late final _host_check_multiuser_mode = _host_check_multiuser_modePtr
+      .asFunction<int Function(int, ffi.Pointer<ffi.Uint32>)>();
+
+  int mach_zone_info_for_zone(
+    int host,
+    mach_zone_name_t name,
+    ffi.Pointer<mach_zone_info_t> info,
+  ) {
+    return _mach_zone_info_for_zone(
+      host,
+      name,
+      info,
+    );
+  }
+
+  late final _mach_zone_info_for_zonePtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(host_priv_t, mach_zone_name_t,
+              ffi.Pointer<mach_zone_info_t>)>>('mach_zone_info_for_zone');
+  late final _mach_zone_info_for_zone = _mach_zone_info_for_zonePtr.asFunction<
+      int Function(int, mach_zone_name_t, ffi.Pointer<mach_zone_info_t>)>();
+
+  ffi.Pointer<ffi.Char> mach_error_string(
+    int error_value,
+  ) {
+    return _mach_error_string(
+      error_value,
+    );
+  }
+
+  late final _mach_error_stringPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(mach_error_t)>>(
+          'mach_error_string');
+  late final _mach_error_string =
+      _mach_error_stringPtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  void mach_error(
+    ffi.Pointer<ffi.Char> str,
+    int error_value,
+  ) {
+    return _mach_error(
+      str,
+      error_value,
+    );
+  }
+
+  late final _mach_errorPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ffi.Char>, mach_error_t)>>('mach_error');
+  late final _mach_error =
+      _mach_errorPtr.asFunction<void Function(ffi.Pointer<ffi.Char>, int)>();
+
+  ffi.Pointer<ffi.Char> mach_error_type(
+    int error_value,
+  ) {
+    return _mach_error_type(
+      error_value,
+    );
+  }
+
+  late final _mach_error_typePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(mach_error_t)>>(
+          'mach_error_type');
+  late final _mach_error_type =
+      _mach_error_typePtr.asFunction<ffi.Pointer<ffi.Char> Function(int)>();
+
+  void panic_init(
+    int arg0,
+  ) {
+    return _panic_init(
+      arg0,
+    );
+  }
+
+  late final _panic_initPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(mach_port_t)>>('panic_init');
+  late final _panic_init = _panic_initPtr.asFunction<void Function(int)>();
+
+  void panic(
+    ffi.Pointer<ffi.Char> arg0,
+  ) {
+    return _panic(
+      arg0,
+    );
+  }
+
+  late final _panicPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Char>)>>(
+          'panic');
+  late final _panic =
+      _panicPtr.asFunction<void Function(ffi.Pointer<ffi.Char>)>();
+
+  void slot_name(
+    int arg0,
+    int arg1,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg2,
+    ffi.Pointer<ffi.Pointer<ffi.Char>> arg3,
+  ) {
+    return _slot_name(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _slot_namePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              cpu_type_t,
+              cpu_subtype_t,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>>('slot_name');
+  late final _slot_name = _slot_namePtr.asFunction<
+      void Function(int, int, ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<ffi.Pointer<ffi.Char>>)>();
+
+  void mig_reply_setup(
+    ffi.Pointer<mach_msg_header_t> arg0,
+    ffi.Pointer<mach_msg_header_t> arg1,
+  ) {
+    return _mig_reply_setup(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _mig_reply_setupPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<mach_msg_header_t>,
+              ffi.Pointer<mach_msg_header_t>)>>('mig_reply_setup');
+  late final _mig_reply_setup = _mig_reply_setupPtr.asFunction<
+      void Function(
+          ffi.Pointer<mach_msg_header_t>, ffi.Pointer<mach_msg_header_t>)>();
+
+  void mach_msg_destroy(
+    ffi.Pointer<mach_msg_header_t> arg0,
+  ) {
+    return _mach_msg_destroy(
+      arg0,
+    );
+  }
+
+  late final _mach_msg_destroyPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Pointer<mach_msg_header_t>)>>(
+      'mach_msg_destroy');
+  late final _mach_msg_destroy = _mach_msg_destroyPtr
+      .asFunction<void Function(ffi.Pointer<mach_msg_header_t>)>();
+
+  int mach_msg_receive(
+    ffi.Pointer<mach_msg_header_t> arg0,
+  ) {
+    return _mach_msg_receive(
+      arg0,
+    );
+  }
+
+  late final _mach_msg_receivePtr = _lookup<
+      ffi.NativeFunction<
+          mach_msg_return_t Function(
+              ffi.Pointer<mach_msg_header_t>)>>('mach_msg_receive');
+  late final _mach_msg_receive = _mach_msg_receivePtr
+      .asFunction<int Function(ffi.Pointer<mach_msg_header_t>)>();
+
+  int mach_msg_send(
+    ffi.Pointer<mach_msg_header_t> arg0,
+  ) {
+    return _mach_msg_send(
+      arg0,
+    );
+  }
+
+  late final _mach_msg_sendPtr = _lookup<
+      ffi.NativeFunction<
+          mach_msg_return_t Function(
+              ffi.Pointer<mach_msg_header_t>)>>('mach_msg_send');
+  late final _mach_msg_send = _mach_msg_sendPtr
+      .asFunction<int Function(ffi.Pointer<mach_msg_header_t>)>();
+
+  int mach_msg_server_once(
+    ffi.Pointer<
+            ffi.NativeFunction<
+                boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                    ffi.Pointer<mach_msg_header_t>)>>
+        arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _mach_msg_server_once(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _mach_msg_server_oncePtr = _lookup<
+      ffi.NativeFunction<
+          mach_msg_return_t Function(
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                          ffi.Pointer<mach_msg_header_t>)>>,
+              mach_msg_size_t,
+              mach_port_t,
+              mach_msg_options_t)>>('mach_msg_server_once');
+  late final _mach_msg_server_once = _mach_msg_server_oncePtr.asFunction<
+      int Function(
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                      ffi.Pointer<mach_msg_header_t>)>>,
+          int,
+          int,
+          int)>();
+
+  int mach_msg_server(
+    ffi.Pointer<
+            ffi.NativeFunction<
+                boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                    ffi.Pointer<mach_msg_header_t>)>>
+        arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _mach_msg_server(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _mach_msg_serverPtr = _lookup<
+      ffi.NativeFunction<
+          mach_msg_return_t Function(
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                          ffi.Pointer<mach_msg_header_t>)>>,
+              mach_msg_size_t,
+              mach_port_t,
+              mach_msg_options_t)>>('mach_msg_server');
+  late final _mach_msg_server = _mach_msg_serverPtr.asFunction<
+      int Function(
+          ffi.Pointer<
+              ffi.NativeFunction<
+                  boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                      ffi.Pointer<mach_msg_header_t>)>>,
+          int,
+          int,
+          int)>();
+
+  int mach_msg_server_importance(
+    ffi.Pointer<
+            ffi.NativeFunction<
+                boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                    ffi.Pointer<mach_msg_header_t>)>>
+        arg0,
+    int arg1,
+    int arg2,
+    int arg3,
+  ) {
+    return _mach_msg_server_importance(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _mach_msg_server_importancePtr = _lookup<
+      ffi.NativeFunction<
+          mach_msg_return_t Function(
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                          ffi.Pointer<mach_msg_header_t>)>>,
+              mach_msg_size_t,
+              mach_port_t,
+              mach_msg_options_t)>>('mach_msg_server_importance');
+  late final _mach_msg_server_importance =
+      _mach_msg_server_importancePtr.asFunction<
+          int Function(
+              ffi.Pointer<
+                  ffi.NativeFunction<
+                      boolean_t Function(ffi.Pointer<mach_msg_header_t>,
+                          ffi.Pointer<mach_msg_header_t>)>>,
+              int,
+              int,
+              int)>();
+
+  int clock_get_res(
+    int arg0,
+    ffi.Pointer<clock_res_t> arg1,
+  ) {
+    return _clock_get_res(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _clock_get_resPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(
+              mach_port_t, ffi.Pointer<clock_res_t>)>>('clock_get_res');
+  late final _clock_get_res = _clock_get_resPtr
+      .asFunction<int Function(int, ffi.Pointer<clock_res_t>)>();
+
+  int clock_set_res(
+    int arg0,
+    int arg1,
+  ) {
+    return _clock_set_res(
+      arg0,
+      arg1,
+    );
+  }
+
+  late final _clock_set_resPtr = _lookup<
+          ffi.NativeFunction<kern_return_t Function(mach_port_t, clock_res_t)>>(
+      'clock_set_res');
+  late final _clock_set_res =
+      _clock_set_resPtr.asFunction<int Function(int, int)>();
+
+  int clock_sleep(
+    int arg0,
+    int arg1,
+    mach_timespec_t arg2,
+    ffi.Pointer<mach_timespec_t> arg3,
+  ) {
+    return _clock_sleep(
+      arg0,
+      arg1,
+      arg2,
+      arg3,
+    );
+  }
+
+  late final _clock_sleepPtr = _lookup<
+      ffi.NativeFunction<
+          kern_return_t Function(mach_port_t, ffi.Int, mach_timespec_t,
+              ffi.Pointer<mach_timespec_t>)>>('clock_sleep');
+  late final _clock_sleep = _clock_sleepPtr.asFunction<
+      int Function(int, int, mach_timespec_t, ffi.Pointer<mach_timespec_t>)>();
+
+  /// !
+  /// @function voucher_mach_msg_set
+  ///
+  /// @abstract
+  /// Change specified message header to contain current mach voucher with a
+  /// COPY_SEND disposition.
+  /// Does not change message if it already has non-zero MACH_MSGH_BITS_VOUCHER.
+  ///
+  /// @discussion
+  /// Borrows reference to current thread voucher so message should be sent
+  /// immediately (without intervening calls that might change that voucher).
+  ///
+  /// @param msg
+  /// The message to modify.
+  ///
+  /// @result
+  /// True if header was changed.
+  int voucher_mach_msg_set(
+    ffi.Pointer<mach_msg_header_t> msg,
+  ) {
+    return _voucher_mach_msg_set(
+      msg,
+    );
+  }
+
+  late final _voucher_mach_msg_setPtr = _lookup<
+          ffi
+          .NativeFunction<boolean_t Function(ffi.Pointer<mach_msg_header_t>)>>(
+      'voucher_mach_msg_set');
+  late final _voucher_mach_msg_set = _voucher_mach_msg_setPtr
+      .asFunction<int Function(ffi.Pointer<mach_msg_header_t>)>();
+
+  /// !
+  /// @function voucher_mach_msg_clear
+  ///
+  /// @abstract
+  /// Removes changes made to specified message header by voucher_mach_msg_set()
+  /// and any mach_msg() send operations (successful or not).
+  /// If the message is not needed further, mach_msg_destroy() should be called
+  /// instead.
+  ///
+  /// @discussion
+  /// Not intended to be called if voucher_mach_msg_set() returned false.
+  /// Releases reference to message mach voucher if an extra reference was
+  /// acquired due to an unsuccessful send operation (pseudo-receive).
+  ///
+  /// @param msg
+  /// The message to modify.
+  void voucher_mach_msg_clear(
+    ffi.Pointer<mach_msg_header_t> msg,
+  ) {
+    return _voucher_mach_msg_clear(
+      msg,
+    );
+  }
+
+  late final _voucher_mach_msg_clearPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(ffi.Pointer<mach_msg_header_t>)>>(
+      'voucher_mach_msg_clear');
+  late final _voucher_mach_msg_clear = _voucher_mach_msg_clearPtr
+      .asFunction<void Function(ffi.Pointer<mach_msg_header_t>)>();
+
+  /// !
+  /// @function voucher_mach_msg_adopt
+  ///
+  /// @abstract
+  /// Adopt the voucher contained in the specified message on the current thread
+  /// and return the previous thread voucher state.
+  ///
+  /// @discussion
+  /// Ownership of the mach voucher in the message is transferred to the current
+  /// thread and the message header voucher fields are cleared.
+  ///
+  /// @param msg
+  /// The message to query and modify.
+  ///
+  /// @result
+  /// The previous thread voucher state or VOUCHER_MACH_MSG_STATE_UNCHANGED if no
+  /// state change occurred.
+  voucher_mach_msg_state_t voucher_mach_msg_adopt(
+    ffi.Pointer<mach_msg_header_t> msg,
+  ) {
+    return _voucher_mach_msg_adopt(
+      msg,
+    );
+  }
+
+  late final _voucher_mach_msg_adoptPtr = _lookup<
+      ffi.NativeFunction<
+          voucher_mach_msg_state_t Function(
+              ffi.Pointer<mach_msg_header_t>)>>('voucher_mach_msg_adopt');
+  late final _voucher_mach_msg_adopt = _voucher_mach_msg_adoptPtr.asFunction<
+      voucher_mach_msg_state_t Function(ffi.Pointer<mach_msg_header_t>)>();
+
+  /// !
+  /// @function voucher_mach_msg_revert
+  ///
+  /// @abstract
+  /// Restore thread voucher state previously modified by voucher_mach_msg_adopt().
+  ///
+  /// @discussion
+  /// Current thread voucher reference is released.
+  /// No change to thread voucher state if passed VOUCHER_MACH_MSG_STATE_UNCHANGED.
+  ///
+  /// @param state
+  /// The thread voucher state to restore.
+  void voucher_mach_msg_revert(
+    voucher_mach_msg_state_t state,
+  ) {
+    return _voucher_mach_msg_revert(
+      state,
+    );
+  }
+
+  late final _voucher_mach_msg_revertPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(voucher_mach_msg_state_t)>>(
+          'voucher_mach_msg_revert');
+  late final _voucher_mach_msg_revert = _voucher_mach_msg_revertPtr
+      .asFunction<void Function(voucher_mach_msg_state_t)>();
+
+  /// !
+  /// @function launch_activate_socket
+  ///
+  /// @abstract
+  /// Retrieves the file descriptors for sockets specified in the process'
+  /// launchd.plist(5).
+  ///
+  /// @param name
+  /// The name of the socket entry in the service's Sockets dictionary.
+  ///
+  /// @param fds
+  /// On return, this parameter will be populated with an array of file
+  /// descriptors. One socket can have many descriptors associated with it
+  /// depending on the characteristics of the network interfaces on the system.
+  /// The descriptors in this array are the results of calling getaddrinfo(3) with
+  /// the parameters described in launchd.plist(5).
+  ///
+  /// The caller is responsible for calling free(3) on the returned pointer.
+  ///
+  /// @param cnt
+  /// The number of file descriptor entries in the returned array.
+  ///
+  /// @result
+  /// On success, zero is returned. Otherwise, an appropriate POSIX-domain is
+  /// returned. Possible error codes are:
+  ///
+  /// ENOENT -> There was no socket of the specified name owned by the caller.
+  /// ESRCH -> The caller is not a process managed by launchd.
+  /// EALREADY -> The socket has already been activated by the caller.
+  int launch_activate_socket(
+    ffi.Pointer<ffi.Char> name,
+    ffi.Pointer<ffi.Pointer<ffi.Int>> fds,
+    ffi.Pointer<ffi.Size> cnt,
+  ) {
+    return _launch_activate_socket(
+      name,
+      fds,
+      cnt,
+    );
+  }
+
+  late final _launch_activate_socketPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Pointer<ffi.Int>>,
+              ffi.Pointer<ffi.Size>)>>('launch_activate_socket');
+  late final _launch_activate_socket = _launch_activate_socketPtr.asFunction<
+      int Function(ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Pointer<ffi.Int>>,
+          ffi.Pointer<ffi.Size>)>();
+
+  launch_data_t launch_data_alloc(
+    int type,
+  ) {
+    return _launch_data_alloc(
+      type,
+    );
+  }
+
+  late final _launch_data_allocPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(ffi.Int32)>>(
+          'launch_data_alloc');
+  late final _launch_data_alloc =
+      _launch_data_allocPtr.asFunction<launch_data_t Function(int)>();
+
+  launch_data_t launch_data_copy(
+    launch_data_t ld,
+  ) {
+    return _launch_data_copy(
+      ld,
+    );
+  }
+
+  late final _launch_data_copyPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(launch_data_t)>>(
+          'launch_data_copy');
+  late final _launch_data_copy =
+      _launch_data_copyPtr.asFunction<launch_data_t Function(launch_data_t)>();
+
+  int launch_data_get_type(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_type(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_typePtr =
+      _lookup<ffi.NativeFunction<ffi.Int32 Function(launch_data_t)>>(
+          'launch_data_get_type');
+  late final _launch_data_get_type =
+      _launch_data_get_typePtr.asFunction<int Function(launch_data_t)>();
+
+  void launch_data_free(
+    launch_data_t ld,
+  ) {
+    return _launch_data_free(
+      ld,
+    );
+  }
+
+  late final _launch_data_freePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(launch_data_t)>>(
+          'launch_data_free');
+  late final _launch_data_free =
+      _launch_data_freePtr.asFunction<void Function(launch_data_t)>();
+
+  bool launch_data_dict_insert(
+    launch_data_t ldict,
+    launch_data_t lval,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _launch_data_dict_insert(
+      ldict,
+      lval,
+      key,
+    );
+  }
+
+  late final _launch_data_dict_insertPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(launch_data_t, launch_data_t,
+              ffi.Pointer<ffi.Char>)>>('launch_data_dict_insert');
+  late final _launch_data_dict_insert = _launch_data_dict_insertPtr.asFunction<
+      bool Function(launch_data_t, launch_data_t, ffi.Pointer<ffi.Char>)>();
+
+  launch_data_t launch_data_dict_lookup(
+    launch_data_t ldict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _launch_data_dict_lookup(
+      ldict,
+      key,
+    );
+  }
+
+  late final _launch_data_dict_lookupPtr = _lookup<
+      ffi.NativeFunction<
+          launch_data_t Function(launch_data_t,
+              ffi.Pointer<ffi.Char>)>>('launch_data_dict_lookup');
+  late final _launch_data_dict_lookup = _launch_data_dict_lookupPtr.asFunction<
+      launch_data_t Function(launch_data_t, ffi.Pointer<ffi.Char>)>();
+
+  bool launch_data_dict_remove(
+    launch_data_t ldict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _launch_data_dict_remove(
+      ldict,
+      key,
+    );
+  }
+
+  late final _launch_data_dict_removePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(launch_data_t,
+              ffi.Pointer<ffi.Char>)>>('launch_data_dict_remove');
+  late final _launch_data_dict_remove = _launch_data_dict_removePtr
+      .asFunction<bool Function(launch_data_t, ffi.Pointer<ffi.Char>)>();
+
+  void launch_data_dict_iterate(
+    launch_data_t ldict,
+    launch_data_dict_iterator_t iterator,
+    ffi.Pointer<ffi.Void> ctx,
+  ) {
+    return _launch_data_dict_iterate(
+      ldict,
+      iterator,
+      ctx,
+    );
+  }
+
+  late final _launch_data_dict_iteratePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(launch_data_t, launch_data_dict_iterator_t,
+              ffi.Pointer<ffi.Void>)>>('launch_data_dict_iterate');
+  late final _launch_data_dict_iterate =
+      _launch_data_dict_iteratePtr.asFunction<
+          void Function(launch_data_t, launch_data_dict_iterator_t,
+              ffi.Pointer<ffi.Void>)>();
+
+  int launch_data_dict_get_count(
+    launch_data_t ldict,
+  ) {
+    return _launch_data_dict_get_count(
+      ldict,
+    );
+  }
+
+  late final _launch_data_dict_get_countPtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(launch_data_t)>>(
+          'launch_data_dict_get_count');
+  late final _launch_data_dict_get_count =
+      _launch_data_dict_get_countPtr.asFunction<int Function(launch_data_t)>();
+
+  bool launch_data_array_set_index(
+    launch_data_t larray,
+    launch_data_t lval,
+    int idx,
+  ) {
+    return _launch_data_array_set_index(
+      larray,
+      lval,
+      idx,
+    );
+  }
+
+  late final _launch_data_array_set_indexPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(launch_data_t, launch_data_t,
+              ffi.Size)>>('launch_data_array_set_index');
+  late final _launch_data_array_set_index = _launch_data_array_set_indexPtr
+      .asFunction<bool Function(launch_data_t, launch_data_t, int)>();
+
+  launch_data_t launch_data_array_get_index(
+    launch_data_t larray,
+    int idx,
+  ) {
+    return _launch_data_array_get_index(
+      larray,
+      idx,
+    );
+  }
+
+  late final _launch_data_array_get_indexPtr = _lookup<
+          ffi.NativeFunction<launch_data_t Function(launch_data_t, ffi.Size)>>(
+      'launch_data_array_get_index');
+  late final _launch_data_array_get_index = _launch_data_array_get_indexPtr
+      .asFunction<launch_data_t Function(launch_data_t, int)>();
+
+  int launch_data_array_get_count(
+    launch_data_t larray,
+  ) {
+    return _launch_data_array_get_count(
+      larray,
+    );
+  }
+
+  late final _launch_data_array_get_countPtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(launch_data_t)>>(
+          'launch_data_array_get_count');
+  late final _launch_data_array_get_count =
+      _launch_data_array_get_countPtr.asFunction<int Function(launch_data_t)>();
+
+  launch_data_t launch_data_new_fd(
+    int fd,
+  ) {
+    return _launch_data_new_fd(
+      fd,
+    );
+  }
+
+  late final _launch_data_new_fdPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(ffi.Int)>>(
+          'launch_data_new_fd');
+  late final _launch_data_new_fd =
+      _launch_data_new_fdPtr.asFunction<launch_data_t Function(int)>();
+
+  launch_data_t launch_data_new_machport(
+    int val,
+  ) {
+    return _launch_data_new_machport(
+      val,
+    );
+  }
+
+  late final _launch_data_new_machportPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(mach_port_t)>>(
+          'launch_data_new_machport');
+  late final _launch_data_new_machport =
+      _launch_data_new_machportPtr.asFunction<launch_data_t Function(int)>();
+
+  launch_data_t launch_data_new_integer(
+    int val,
+  ) {
+    return _launch_data_new_integer(
+      val,
+    );
+  }
+
+  late final _launch_data_new_integerPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(ffi.LongLong)>>(
+          'launch_data_new_integer');
+  late final _launch_data_new_integer =
+      _launch_data_new_integerPtr.asFunction<launch_data_t Function(int)>();
+
+  launch_data_t launch_data_new_bool(
+    bool val,
+  ) {
+    return _launch_data_new_bool(
+      val,
+    );
+  }
+
+  late final _launch_data_new_boolPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(ffi.Bool)>>(
+          'launch_data_new_bool');
+  late final _launch_data_new_bool =
+      _launch_data_new_boolPtr.asFunction<launch_data_t Function(bool)>();
+
+  launch_data_t launch_data_new_real(
+    double val,
+  ) {
+    return _launch_data_new_real(
+      val,
+    );
+  }
+
+  late final _launch_data_new_realPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(ffi.Double)>>(
+          'launch_data_new_real');
+  late final _launch_data_new_real =
+      _launch_data_new_realPtr.asFunction<launch_data_t Function(double)>();
+
+  launch_data_t launch_data_new_string(
+    ffi.Pointer<ffi.Char> val,
+  ) {
+    return _launch_data_new_string(
+      val,
+    );
+  }
+
+  late final _launch_data_new_stringPtr = _lookup<
+          ffi.NativeFunction<launch_data_t Function(ffi.Pointer<ffi.Char>)>>(
+      'launch_data_new_string');
+  late final _launch_data_new_string = _launch_data_new_stringPtr
+      .asFunction<launch_data_t Function(ffi.Pointer<ffi.Char>)>();
+
+  launch_data_t launch_data_new_opaque(
+    ffi.Pointer<ffi.Void> bytes,
+    int sz,
+  ) {
+    return _launch_data_new_opaque(
+      bytes,
+      sz,
+    );
+  }
+
+  late final _launch_data_new_opaquePtr = _lookup<
+      ffi.NativeFunction<
+          launch_data_t Function(
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('launch_data_new_opaque');
+  late final _launch_data_new_opaque = _launch_data_new_opaquePtr
+      .asFunction<launch_data_t Function(ffi.Pointer<ffi.Void>, int)>();
+
+  bool launch_data_set_fd(
+    launch_data_t ld,
+    int fd,
+  ) {
+    return _launch_data_set_fd(
+      ld,
+      fd,
+    );
+  }
+
+  late final _launch_data_set_fdPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(launch_data_t, ffi.Int)>>(
+          'launch_data_set_fd');
+  late final _launch_data_set_fd =
+      _launch_data_set_fdPtr.asFunction<bool Function(launch_data_t, int)>();
+
+  bool launch_data_set_machport(
+    launch_data_t ld,
+    int mp,
+  ) {
+    return _launch_data_set_machport(
+      ld,
+      mp,
+    );
+  }
+
+  late final _launch_data_set_machportPtr = _lookup<
+          ffi.NativeFunction<ffi.Bool Function(launch_data_t, mach_port_t)>>(
+      'launch_data_set_machport');
+  late final _launch_data_set_machport = _launch_data_set_machportPtr
+      .asFunction<bool Function(launch_data_t, int)>();
+
+  bool launch_data_set_integer(
+    launch_data_t ld,
+    int val,
+  ) {
+    return _launch_data_set_integer(
+      ld,
+      val,
+    );
+  }
+
+  late final _launch_data_set_integerPtr = _lookup<
+          ffi.NativeFunction<ffi.Bool Function(launch_data_t, ffi.LongLong)>>(
+      'launch_data_set_integer');
+  late final _launch_data_set_integer = _launch_data_set_integerPtr
+      .asFunction<bool Function(launch_data_t, int)>();
+
+  bool launch_data_set_bool(
+    launch_data_t ld,
+    bool val,
+  ) {
+    return _launch_data_set_bool(
+      ld,
+      val,
+    );
+  }
+
+  late final _launch_data_set_boolPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(launch_data_t, ffi.Bool)>>(
+          'launch_data_set_bool');
+  late final _launch_data_set_bool =
+      _launch_data_set_boolPtr.asFunction<bool Function(launch_data_t, bool)>();
+
+  bool launch_data_set_real(
+    launch_data_t ld,
+    double val,
+  ) {
+    return _launch_data_set_real(
+      ld,
+      val,
+    );
+  }
+
+  late final _launch_data_set_realPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(launch_data_t, ffi.Double)>>(
+          'launch_data_set_real');
+  late final _launch_data_set_real = _launch_data_set_realPtr
+      .asFunction<bool Function(launch_data_t, double)>();
+
+  bool launch_data_set_string(
+    launch_data_t ld,
+    ffi.Pointer<ffi.Char> val,
+  ) {
+    return _launch_data_set_string(
+      ld,
+      val,
+    );
+  }
+
+  late final _launch_data_set_stringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              launch_data_t, ffi.Pointer<ffi.Char>)>>('launch_data_set_string');
+  late final _launch_data_set_string = _launch_data_set_stringPtr
+      .asFunction<bool Function(launch_data_t, ffi.Pointer<ffi.Char>)>();
+
+  bool launch_data_set_opaque(
+    launch_data_t ld,
+    ffi.Pointer<ffi.Void> bytes,
+    int sz,
+  ) {
+    return _launch_data_set_opaque(
+      ld,
+      bytes,
+      sz,
+    );
+  }
+
+  late final _launch_data_set_opaquePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(launch_data_t, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('launch_data_set_opaque');
+  late final _launch_data_set_opaque = _launch_data_set_opaquePtr
+      .asFunction<bool Function(launch_data_t, ffi.Pointer<ffi.Void>, int)>();
+
+  int launch_data_get_fd(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_fd(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_fdPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(launch_data_t)>>(
+          'launch_data_get_fd');
+  late final _launch_data_get_fd =
+      _launch_data_get_fdPtr.asFunction<int Function(launch_data_t)>();
+
+  int launch_data_get_machport(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_machport(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_machportPtr =
+      _lookup<ffi.NativeFunction<mach_port_t Function(launch_data_t)>>(
+          'launch_data_get_machport');
+  late final _launch_data_get_machport =
+      _launch_data_get_machportPtr.asFunction<int Function(launch_data_t)>();
+
+  int launch_data_get_integer(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_integer(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_integerPtr =
+      _lookup<ffi.NativeFunction<ffi.LongLong Function(launch_data_t)>>(
+          'launch_data_get_integer');
+  late final _launch_data_get_integer =
+      _launch_data_get_integerPtr.asFunction<int Function(launch_data_t)>();
+
+  bool launch_data_get_bool(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_bool(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_boolPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(launch_data_t)>>(
+          'launch_data_get_bool');
+  late final _launch_data_get_bool =
+      _launch_data_get_boolPtr.asFunction<bool Function(launch_data_t)>();
+
+  double launch_data_get_real(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_real(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_realPtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(launch_data_t)>>(
+          'launch_data_get_real');
+  late final _launch_data_get_real =
+      _launch_data_get_realPtr.asFunction<double Function(launch_data_t)>();
+
+  ffi.Pointer<ffi.Char> launch_data_get_string(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_string(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_stringPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(launch_data_t)>>(
+      'launch_data_get_string');
+  late final _launch_data_get_string = _launch_data_get_stringPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(launch_data_t)>();
+
+  ffi.Pointer<ffi.Void> launch_data_get_opaque(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_opaque(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_opaquePtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(launch_data_t)>>(
+      'launch_data_get_opaque');
+  late final _launch_data_get_opaque = _launch_data_get_opaquePtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(launch_data_t)>();
+
+  int launch_data_get_opaque_size(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_opaque_size(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_opaque_sizePtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(launch_data_t)>>(
+          'launch_data_get_opaque_size');
+  late final _launch_data_get_opaque_size =
+      _launch_data_get_opaque_sizePtr.asFunction<int Function(launch_data_t)>();
+
+  int launch_data_get_errno(
+    launch_data_t ld,
+  ) {
+    return _launch_data_get_errno(
+      ld,
+    );
+  }
+
+  late final _launch_data_get_errnoPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(launch_data_t)>>(
+          'launch_data_get_errno');
+  late final _launch_data_get_errno =
+      _launch_data_get_errnoPtr.asFunction<int Function(launch_data_t)>();
+
+  int launch_get_fd() {
+    return _launch_get_fd();
+  }
+
+  late final _launch_get_fdPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function()>>('launch_get_fd');
+  late final _launch_get_fd = _launch_get_fdPtr.asFunction<int Function()>();
+
+  launch_data_t launch_msg(
+    launch_data_t request,
+  ) {
+    return _launch_msg(
+      request,
+    );
+  }
+
+  late final _launch_msgPtr =
+      _lookup<ffi.NativeFunction<launch_data_t Function(launch_data_t)>>(
+          'launch_msg');
+  late final _launch_msg =
+      _launch_msgPtr.asFunction<launch_data_t Function(launch_data_t)>();
+
+  /// !
+  /// @function xpc_retain
+  ///
+  /// @abstract
+  /// Increments the reference count of an object.
+  ///
+  /// @param object
+  /// The object which is to be manipulated.
+  ///
+  /// @result
+  /// The object which was given.
+  ///
+  /// @discussion
+  /// Calls to xpc_retain() must be balanced with calls to xpc_release()
+  /// to avoid leaking memory.
+  xpc_object_t xpc_retain(
+    xpc_object_t object,
+  ) {
+    return _xpc_retain(
+      object,
+    );
+  }
+
+  late final _xpc_retainPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(xpc_object_t)>>(
+          'xpc_retain');
+  late final _xpc_retain =
+      _xpc_retainPtr.asFunction<xpc_object_t Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_release
+  ///
+  /// @abstract
+  /// Decrements the reference count of an object.
+  ///
+  /// @param object
+  /// The object which is to be manipulated.
+  ///
+  /// @discussion
+  /// The caller must take care to balance retains and releases. When creating or
+  /// retaining XPC objects, the creator obtains a reference on the object. Thus,
+  /// it is the caller's responsibility to call xpc_release() on those objects when
+  /// they are no longer needed.
+  void xpc_release(
+    xpc_object_t object,
+  ) {
+    return _xpc_release(
+      object,
+    );
+  }
+
+  late final _xpc_releasePtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(xpc_object_t)>>(
+          'xpc_release');
+  late final _xpc_release =
+      _xpc_releasePtr.asFunction<void Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_get_type
+  ///
+  /// @abstract
+  /// Returns the type of an object.
+  ///
+  /// @param object
+  /// The object to examine.
+  ///
+  /// @result
+  /// An opaque pointer describing the type of the object. This pointer is suitable
+  /// direct comparison to exported type constants with the equality operator.
+  xpc_type_t xpc_get_type(
+    xpc_object_t object,
+  ) {
+    return _xpc_get_type(
+      object,
+    );
+  }
+
+  late final _xpc_get_typePtr =
+      _lookup<ffi.NativeFunction<xpc_type_t Function(xpc_object_t)>>(
+          'xpc_get_type');
+  late final _xpc_get_type =
+      _xpc_get_typePtr.asFunction<xpc_type_t Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_type_get_name
+  ///
+  /// @abstract
+  /// Returns a string describing an XPC object type.
+  ///
+  /// @param type
+  /// The type to describe.
+  ///
+  /// @result
+  /// A string describing the type of an object, like "string" or "int64".
+  /// This string should not be freed or modified.
+  ffi.Pointer<ffi.Char> xpc_type_get_name(
+    xpc_type_t type,
+  ) {
+    return _xpc_type_get_name(
+      type,
+    );
+  }
+
+  late final _xpc_type_get_namePtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(xpc_type_t)>>(
+          'xpc_type_get_name');
+  late final _xpc_type_get_name = _xpc_type_get_namePtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(xpc_type_t)>();
+
+  /// !
+  /// @function xpc_copy
+  ///
+  /// @abstract
+  /// Creates a copy of the object.
+  ///
+  /// @param object
+  /// The object to copy.
+  ///
+  /// @result
+  /// The new object. NULL if the object type does not support copying or if
+  /// sufficient memory for the copy could not be allocated. Service objects do
+  /// not support copying.
+  ///
+  /// @discussion
+  /// When called on an array or dictionary, xpc_copy() will perform a deep copy.
+  ///
+  /// The object returned is not necessarily guaranteed to be a new object, and
+  /// whether it is will depend on the implementation of the object being copied.
+  xpc_object_t xpc_copy(
+    xpc_object_t object,
+  ) {
+    return _xpc_copy(
+      object,
+    );
+  }
+
+  late final _xpc_copyPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(xpc_object_t)>>(
+          'xpc_copy');
+  late final _xpc_copy =
+      _xpc_copyPtr.asFunction<xpc_object_t Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_equal
+  ///
+  /// @abstract
+  /// Compares two objects for equality.
+  ///
+  /// @param object1
+  /// The first object to compare.
+  ///
+  /// @param object2
+  /// The second object to compare.
+  ///
+  /// @result
+  /// Returns true if the objects are equal, otherwise false. Two objects must be
+  /// of the same type in order to be equal.
+  ///
+  /// For two arrays to be equal, they must contain the same values at the
+  /// same indexes. For two dictionaries to be equal, they must contain the same
+  /// values for the same keys.
+  ///
+  /// Two objects being equal implies that their hashes (as returned by xpc_hash())
+  /// are also equal.
+  bool xpc_equal(
+    xpc_object_t object1,
+    xpc_object_t object2,
+  ) {
+    return _xpc_equal(
+      object1,
+      object2,
+    );
+  }
+
+  late final _xpc_equalPtr = _lookup<
+          ffi.NativeFunction<ffi.Bool Function(xpc_object_t, xpc_object_t)>>(
+      'xpc_equal');
+  late final _xpc_equal =
+      _xpc_equalPtr.asFunction<bool Function(xpc_object_t, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_hash
+  ///
+  /// @abstract
+  /// Calculates a hash value for the given object.
+  ///
+  /// @param object
+  /// The object for which to calculate a hash value. This value may be modded
+  /// with a table size for insertion into a dictionary-like data structure.
+  ///
+  /// @result
+  /// The calculated hash value.
+  ///
+  /// @discussion
+  /// Note that the computed hash values for any particular type and value of an
+  /// object can change from across releases and platforms and should not be
+  /// assumed to be constant across all time and space or stored persistently.
+  int xpc_hash(
+    xpc_object_t object,
+  ) {
+    return _xpc_hash(
+      object,
+    );
+  }
+
+  late final _xpc_hashPtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(xpc_object_t)>>('xpc_hash');
+  late final _xpc_hash = _xpc_hashPtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_copy_description
+  ///
+  /// @abstract
+  /// Copies a debug string describing the object.
+  ///
+  /// @param object
+  /// The object which is to be examined.
+  ///
+  /// @result
+  /// A string describing object which contains information useful for debugging.
+  /// This string should be disposed of with free(3) when done.
+  ffi.Pointer<ffi.Char> xpc_copy_description(
+    xpc_object_t object,
+  ) {
+    return _xpc_copy_description(
+      object,
+    );
+  }
+
+  late final _xpc_copy_descriptionPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(xpc_object_t)>>(
+          'xpc_copy_description');
+  late final _xpc_copy_description = _xpc_copy_descriptionPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_null_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing the null object.
+  ///
+  /// @result
+  /// A new null object.
+  xpc_object_t xpc_null_create() {
+    return _xpc_null_create();
+  }
+
+  late final _xpc_null_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function()>>('xpc_null_create');
+  late final _xpc_null_create =
+      _xpc_null_createPtr.asFunction<xpc_object_t Function()>();
+
+  /// !
+  /// @function xpc_bool_create
+  ///
+  /// @abstract
+  /// Creates an XPC Boolean object.
+  ///
+  /// @param value
+  /// The Boolean primitive value which is to be boxed.
+  ///
+  /// @result
+  /// A new Boolean object.
+  xpc_object_t xpc_bool_create(
+    bool value,
+  ) {
+    return _xpc_bool_create(
+      value,
+    );
+  }
+
+  late final _xpc_bool_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Bool)>>(
+          'xpc_bool_create');
+  late final _xpc_bool_create =
+      _xpc_bool_createPtr.asFunction<xpc_object_t Function(bool)>();
+
+  /// !
+  /// @function xpc_bool_get_value
+  ///
+  /// @abstract
+  /// Returns the underlying Boolean value from the object.
+  ///
+  /// @param xbool
+  /// The Boolean object which is to be examined.
+  ///
+  /// @result
+  /// The underlying Boolean value or false if the given object was not an XPC
+  /// Boolean object.
+  bool xpc_bool_get_value(
+    xpc_object_t xbool,
+  ) {
+    return _xpc_bool_get_value(
+      xbool,
+    );
+  }
+
+  late final _xpc_bool_get_valuePtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(xpc_object_t)>>(
+          'xpc_bool_get_value');
+  late final _xpc_bool_get_value =
+      _xpc_bool_get_valuePtr.asFunction<bool Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_int64_create
+  ///
+  /// @abstract
+  /// Creates an XPC signed integer object.
+  ///
+  /// @param value
+  /// The signed integer value which is to be boxed.
+  ///
+  /// @result
+  /// A new signed integer object.
+  xpc_object_t xpc_int64_create(
+    int value,
+  ) {
+    return _xpc_int64_create(
+      value,
+    );
+  }
+
+  late final _xpc_int64_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Int64)>>(
+          'xpc_int64_create');
+  late final _xpc_int64_create =
+      _xpc_int64_createPtr.asFunction<xpc_object_t Function(int)>();
+
+  /// !
+  /// @function xpc_int64_get_value
+  ///
+  /// @abstract
+  /// Returns the underlying signed 64-bit integer value from an object.
+  ///
+  /// @param xint
+  /// The signed integer object which is to be examined.
+  ///
+  /// @result
+  /// The underlying signed 64-bit value or 0 if the given object was not an XPC
+  /// integer object.
+  int xpc_int64_get_value(
+    xpc_object_t xint,
+  ) {
+    return _xpc_int64_get_value(
+      xint,
+    );
+  }
+
+  late final _xpc_int64_get_valuePtr =
+      _lookup<ffi.NativeFunction<ffi.Int64 Function(xpc_object_t)>>(
+          'xpc_int64_get_value');
+  late final _xpc_int64_get_value =
+      _xpc_int64_get_valuePtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_uint64_create
+  ///
+  /// @abstract
+  /// Creates an XPC unsigned integer object.
+  ///
+  /// @param value
+  /// The unsigned integer value which is to be boxed.
+  ///
+  /// @result
+  /// A new unsigned integer object.
+  xpc_object_t xpc_uint64_create(
+    int value,
+  ) {
+    return _xpc_uint64_create(
+      value,
+    );
+  }
+
+  late final _xpc_uint64_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Uint64)>>(
+          'xpc_uint64_create');
+  late final _xpc_uint64_create =
+      _xpc_uint64_createPtr.asFunction<xpc_object_t Function(int)>();
+
+  /// !
+  /// @function xpc_uint64_get_value
+  ///
+  /// @abstract
+  /// Returns the underlying unsigned 64-bit integer value from an object.
+  ///
+  /// @param xuint
+  /// The unsigned integer object which is to be examined.
+  ///
+  /// @result
+  /// The underlying unsigned integer value or 0 if the given object was not an XPC
+  /// unsigned integer object.
+  int xpc_uint64_get_value(
+    xpc_object_t xuint,
+  ) {
+    return _xpc_uint64_get_value(
+      xuint,
+    );
+  }
+
+  late final _xpc_uint64_get_valuePtr =
+      _lookup<ffi.NativeFunction<ffi.Uint64 Function(xpc_object_t)>>(
+          'xpc_uint64_get_value');
+  late final _xpc_uint64_get_value =
+      _xpc_uint64_get_valuePtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_double_create
+  ///
+  /// @abstract
+  /// Creates an XPC double object.
+  ///
+  /// @param value
+  /// The floating point quantity which is to be boxed.
+  ///
+  /// @result
+  /// A new floating point object.
+  xpc_object_t xpc_double_create(
+    double value,
+  ) {
+    return _xpc_double_create(
+      value,
+    );
+  }
+
+  late final _xpc_double_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Double)>>(
+          'xpc_double_create');
+  late final _xpc_double_create =
+      _xpc_double_createPtr.asFunction<xpc_object_t Function(double)>();
+
+  /// !
+  /// @function xpc_double_get_value
+  ///
+  /// @abstract
+  /// Returns the underlying double-precision floating point value from an object.
+  ///
+  /// @param xdouble
+  /// The floating point object which is to be examined.
+  ///
+  /// @result
+  /// The underlying floating point value or NAN if the given object was not an XPC
+  /// floating point object.
+  double xpc_double_get_value(
+    xpc_object_t xdouble,
+  ) {
+    return _xpc_double_get_value(
+      xdouble,
+    );
+  }
+
+  late final _xpc_double_get_valuePtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(xpc_object_t)>>(
+          'xpc_double_get_value');
+  late final _xpc_double_get_value =
+      _xpc_double_get_valuePtr.asFunction<double Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_date_create
+  ///
+  /// @abstract
+  /// Creates an XPC date object.
+  ///
+  /// @param interval
+  /// The date interval which is to be boxed. Negative values indicate the number
+  /// of nanoseconds before the epoch. Positive values indicate the number of
+  /// nanoseconds after the epoch.
+  ///
+  /// @result
+  /// A new date object.
+  xpc_object_t xpc_date_create(
+    int interval,
+  ) {
+    return _xpc_date_create(
+      interval,
+    );
+  }
+
+  late final _xpc_date_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Int64)>>(
+          'xpc_date_create');
+  late final _xpc_date_create =
+      _xpc_date_createPtr.asFunction<xpc_object_t Function(int)>();
+
+  /// !
+  /// @function xpc_date_create_from_current
+  ///
+  /// @abstract
+  /// Creates an XPC date object representing the current date.
+  ///
+  /// @result
+  /// A new date object representing the current date.
+  xpc_object_t xpc_date_create_from_current() {
+    return _xpc_date_create_from_current();
+  }
+
+  late final _xpc_date_create_from_currentPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function()>>(
+          'xpc_date_create_from_current');
+  late final _xpc_date_create_from_current =
+      _xpc_date_create_from_currentPtr.asFunction<xpc_object_t Function()>();
+
+  /// !
+  /// @function xpc_date_get_value
+  ///
+  /// @abstract
+  /// Returns the underlying date interval from an object.
+  ///
+  /// @param xdate
+  /// The date object which is to be examined.
+  ///
+  /// @result
+  /// The underlying date interval or 0 if the given object was not an XPC date
+  /// object.
+  int xpc_date_get_value(
+    xpc_object_t xdate,
+  ) {
+    return _xpc_date_get_value(
+      xdate,
+    );
+  }
+
+  late final _xpc_date_get_valuePtr =
+      _lookup<ffi.NativeFunction<ffi.Int64 Function(xpc_object_t)>>(
+          'xpc_date_get_value');
+  late final _xpc_date_get_value =
+      _xpc_date_get_valuePtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_data_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing buffer of bytes.
+  ///
+  /// @param bytes
+  /// The buffer of bytes which is to be boxed. You may create an empty data object
+  /// by passing NULL for this parameter and 0 for the length. Passing NULL with
+  /// any other length will result in undefined behavior.
+  ///
+  /// @param length
+  /// The number of bytes which are to be boxed.
+  ///
+  /// @result
+  /// A new data object.
+  ///
+  /// @discussion
+  /// This method will copy the buffer given into internal storage. After calling
+  /// this method, it is safe to dispose of the given buffer.
+  xpc_object_t xpc_data_create(
+    ffi.Pointer<ffi.Void> bytes,
+    int length,
+  ) {
+    return _xpc_data_create(
+      bytes,
+      length,
+    );
+  }
+
+  late final _xpc_data_createPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('xpc_data_create');
+  late final _xpc_data_create = _xpc_data_createPtr
+      .asFunction<xpc_object_t Function(ffi.Pointer<ffi.Void>, int)>();
+
+  /// !
+  /// @function xpc_data_create_with_dispatch_data
+  ///
+  /// @abstract
+  /// Creates an XPC object representing buffer of bytes described by the given GCD
+  /// data object.
+  ///
+  /// @param ddata
+  /// The GCD data object containing the bytes which are to be boxed. This object
+  /// is retained by the data object.
+  ///
+  /// @result
+  /// A new data object.
+  ///
+  /// @discussion
+  /// The object returned by this method will refer to the buffer returned by
+  /// dispatch_data_create_map(). The point where XPC will make the call to
+  /// dispatch_data_create_map() is undefined.
+  xpc_object_t xpc_data_create_with_dispatch_data(
+    dispatch_data_t ddata,
+  ) {
+    return _xpc_data_create_with_dispatch_data(
+      ddata,
+    );
+  }
+
+  late final _xpc_data_create_with_dispatch_dataPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(dispatch_data_t)>>(
+          'xpc_data_create_with_dispatch_data');
+  late final _xpc_data_create_with_dispatch_data =
+      _xpc_data_create_with_dispatch_dataPtr
+          .asFunction<xpc_object_t Function(dispatch_data_t)>();
+
+  /// !
+  /// @function xpc_data_get_length
+  ///
+  /// @abstract
+  /// Returns the length of the data encapsulated by an XPC data object.
+  ///
+  /// @param xdata
+  /// The data object which is to be examined.
+  ///
+  /// @result
+  /// The length of the underlying boxed data or 0 if the given object was not an
+  /// XPC data object.
+  int xpc_data_get_length(
+    xpc_object_t xdata,
+  ) {
+    return _xpc_data_get_length(
+      xdata,
+    );
+  }
+
+  late final _xpc_data_get_lengthPtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(xpc_object_t)>>(
+          'xpc_data_get_length');
+  late final _xpc_data_get_length =
+      _xpc_data_get_lengthPtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_data_get_bytes_ptr
+  ///
+  /// @abstract
+  /// Returns a pointer to the internal storage of a data object.
+  ///
+  /// @param xdata
+  /// The data object which is to be examined.
+  ///
+  /// @result
+  /// A pointer to the underlying boxed data or NULL if the given object was not an
+  /// XPC data object.
+  ffi.Pointer<ffi.Void> xpc_data_get_bytes_ptr(
+    xpc_object_t xdata,
+  ) {
+    return _xpc_data_get_bytes_ptr(
+      xdata,
+    );
+  }
+
+  late final _xpc_data_get_bytes_ptrPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(xpc_object_t)>>(
+          'xpc_data_get_bytes_ptr');
+  late final _xpc_data_get_bytes_ptr = _xpc_data_get_bytes_ptrPtr
+      .asFunction<ffi.Pointer<ffi.Void> Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_data_get_bytes
+  ///
+  /// @abstract
+  /// Copies the bytes stored in an data objects into the specified buffer.
+  ///
+  /// @param xdata
+  /// The data object which is to be examined.
+  ///
+  /// @param buffer
+  /// The buffer in which to copy the data object's bytes.
+  ///
+  /// @param off
+  /// The offset at which to begin the copy. If this offset is greater than the
+  /// length of the data element, nothing is copied. Pass 0 to start the copy
+  /// at the beginning of the buffer.
+  ///
+  /// @param length
+  /// The length of the destination buffer.
+  ///
+  /// @result
+  /// The number of bytes that were copied into the buffer or 0 if the given object
+  /// was not an XPC data object.
+  int xpc_data_get_bytes(
+    xpc_object_t xdata,
+    ffi.Pointer<ffi.Void> buffer,
+    int off,
+    int length,
+  ) {
+    return _xpc_data_get_bytes(
+      xdata,
+      buffer,
+      off,
+      length,
+    );
+  }
+
+  late final _xpc_data_get_bytesPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Size Function(xpc_object_t, ffi.Pointer<ffi.Void>, ffi.Size,
+              ffi.Size)>>('xpc_data_get_bytes');
+  late final _xpc_data_get_bytes = _xpc_data_get_bytesPtr.asFunction<
+      int Function(xpc_object_t, ffi.Pointer<ffi.Void>, int, int)>();
+
+  /// !
+  /// @function xpc_string_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing a NUL-terminated C-string.
+  ///
+  /// @param string
+  /// The C-string which is to be boxed.
+  ///
+  /// @result
+  /// A new string object.
+  xpc_object_t xpc_string_create(
+    ffi.Pointer<ffi.Char> string,
+  ) {
+    return _xpc_string_create(
+      string,
+    );
+  }
+
+  late final _xpc_string_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Pointer<ffi.Char>)>>(
+          'xpc_string_create');
+  late final _xpc_string_create = _xpc_string_createPtr
+      .asFunction<xpc_object_t Function(ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_string_create_with_format
+  ///
+  /// @abstract
+  /// Creates an XPC object representing a C-string that is generated from the
+  /// given format string and arguments.
+  ///
+  /// @param fmt
+  /// The printf(3)-style format string from which to construct the final C-string
+  /// to be boxed.
+  ///
+  /// @param ...
+  /// The arguments which correspond to those specified in the format string.
+  ///
+  /// @result
+  /// A new string object.
+  xpc_object_t xpc_string_create_with_format(
+    ffi.Pointer<ffi.Char> fmt,
+  ) {
+    return _xpc_string_create_with_format(
+      fmt,
+    );
+  }
+
+  late final _xpc_string_create_with_formatPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Pointer<ffi.Char>)>>(
+          'xpc_string_create_with_format');
+  late final _xpc_string_create_with_format = _xpc_string_create_with_formatPtr
+      .asFunction<xpc_object_t Function(ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_string_create_with_format_and_arguments
+  ///
+  /// @abstract
+  /// Creates an XPC object representing a C-string that is generated from the
+  /// given format string and argument list pointer.
+  ///
+  /// @param fmt
+  /// The printf(3)-style format string from which to construct the final C-string
+  /// to be boxed.
+  ///
+  /// @param ap
+  /// A pointer to the arguments which correspond to those specified in the format
+  /// string.
+  ///
+  /// @result
+  /// A new string object.
+  xpc_object_t xpc_string_create_with_format_and_arguments(
+    ffi.Pointer<ffi.Char> fmt,
+    ffi.Pointer<__va_list_tag> ap,
+  ) {
+    return _xpc_string_create_with_format_and_arguments(
+      fmt,
+      ap,
+    );
+  }
+
+  late final _xpc_string_create_with_format_and_argumentsPtr = _lookup<
+          ffi.NativeFunction<
+              xpc_object_t Function(
+                  ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>>(
+      'xpc_string_create_with_format_and_arguments');
+  late final _xpc_string_create_with_format_and_arguments =
+      _xpc_string_create_with_format_and_argumentsPtr.asFunction<
+          xpc_object_t Function(
+              ffi.Pointer<ffi.Char>, ffi.Pointer<__va_list_tag>)>();
+
+  /// !
+  /// @function xpc_string_get_length
+  ///
+  /// @abstract
+  /// Returns the length of the underlying string.
+  ///
+  /// @param xstring
+  /// The string object which is to be examined.
+  ///
+  /// @result
+  /// The length of the underlying string, not including the NUL-terminator, or 0
+  /// if the given object was not an XPC string object.
+  int xpc_string_get_length(
+    xpc_object_t xstring,
+  ) {
+    return _xpc_string_get_length(
+      xstring,
+    );
+  }
+
+  late final _xpc_string_get_lengthPtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(xpc_object_t)>>(
+          'xpc_string_get_length');
+  late final _xpc_string_get_length =
+      _xpc_string_get_lengthPtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_string_get_string_ptr
+  ///
+  /// @abstract
+  /// Returns a pointer to the internal storage of a string object.
+  ///
+  /// @param xstring
+  /// The string object which is to be examined.
+  ///
+  /// @result
+  /// A pointer to the string object's internal storage or NULL if the given object
+  /// was not an XPC string object.
+  ffi.Pointer<ffi.Char> xpc_string_get_string_ptr(
+    xpc_object_t xstring,
+  ) {
+    return _xpc_string_get_string_ptr(
+      xstring,
+    );
+  }
+
+  late final _xpc_string_get_string_ptrPtr =
+      _lookup<ffi.NativeFunction<ffi.Pointer<ffi.Char> Function(xpc_object_t)>>(
+          'xpc_string_get_string_ptr');
+  late final _xpc_string_get_string_ptr = _xpc_string_get_string_ptrPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_uuid_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing a universally-unique identifier (UUID) as
+  /// described by uuid(3).
+  ///
+  /// @param uuid
+  /// The UUID which is to be boxed.
+  ///
+  /// @result
+  /// A new UUID object.
+  xpc_object_t xpc_uuid_create(
+    ffi.Pointer<ffi.UnsignedChar> uuid,
+  ) {
+    return _xpc_uuid_create(
+      uuid,
+    );
+  }
+
+  late final _xpc_uuid_createPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(
+              ffi.Pointer<ffi.UnsignedChar>)>>('xpc_uuid_create');
+  late final _xpc_uuid_create = _xpc_uuid_createPtr
+      .asFunction<xpc_object_t Function(ffi.Pointer<ffi.UnsignedChar>)>();
+
+  /// !
+  /// @function xpc_uuid_get_bytes
+  ///
+  /// @abstract
+  /// Returns a pointer to the the boxed UUID bytes in an XPC UUID object.
+  ///
+  /// @param xuuid
+  /// The UUID object which is to be examined.
+  ///
+  /// @result
+  /// The underlying <code>uuid_t</code> bytes or NULL if the given object was not
+  /// an XPC UUID object. The returned pointer may be safely passed to the uuid(3)
+  /// APIs.
+  ffi.Pointer<ffi.Uint8> xpc_uuid_get_bytes(
+    xpc_object_t xuuid,
+  ) {
+    return _xpc_uuid_get_bytes(
+      xuuid,
+    );
+  }
+
+  late final _xpc_uuid_get_bytesPtr = _lookup<
+          ffi.NativeFunction<ffi.Pointer<ffi.Uint8> Function(xpc_object_t)>>(
+      'xpc_uuid_get_bytes');
+  late final _xpc_uuid_get_bytes = _xpc_uuid_get_bytesPtr
+      .asFunction<ffi.Pointer<ffi.Uint8> Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_fd_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing a POSIX file descriptor.
+  ///
+  /// @param fd
+  /// The file descriptor which is to be boxed.
+  ///
+  /// @result
+  /// A new file descriptor object. NULL if sufficient memory could not be
+  /// allocated or if the given file descriptor was not valid.
+  ///
+  /// @discussion
+  /// This method performs the equivalent of a dup(2) on the descriptor, and thus
+  /// it is safe to call close(2) on the descriptor after boxing it with a file
+  /// descriptor object.
+  ///
+  /// IMPORTANT: Pointer equality is the ONLY valid test for equality between two
+  /// file descriptor objects. There is no reliable way to determine whether two
+  /// file descriptors refer to the same inode with the same capabilities, so two
+  /// file descriptor objects created from the same underlying file descriptor
+  /// number will not compare equally with xpc_equal(). This is also true of a
+  /// file descriptor object created using xpc_copy() and the original.
+  ///
+  /// This also implies that two collections containing file descriptor objects
+  /// cannot be equal unless the exact same object was inserted into both.
+  xpc_object_t xpc_fd_create(
+    int fd,
+  ) {
+    return _xpc_fd_create(
+      fd,
+    );
+  }
+
+  late final _xpc_fd_createPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(ffi.Int)>>(
+          'xpc_fd_create');
+  late final _xpc_fd_create =
+      _xpc_fd_createPtr.asFunction<xpc_object_t Function(int)>();
+
+  /// !
+  /// @function xpc_fd_dup
+  ///
+  /// @abstract
+  /// Returns a file descriptor that is equivalent to the one boxed by the file
+  /// file descriptor object.
+  ///
+  /// @param xfd
+  /// The file descriptor object which is to be examined.
+  ///
+  /// @result
+  /// A file descriptor that is equivalent to the one originally given to
+  /// xpc_fd_create(). If the descriptor could not be created or if the given
+  /// object was not an XPC file descriptor, -1 is returned.
+  ///
+  /// @discussion
+  /// Multiple invocations of xpc_fd_dup() will not return the same file descriptor
+  /// number, but they will return descriptors that are equivalent, as though they
+  /// had been created by dup(2).
+  ///
+  /// The caller is responsible for calling close(2) on the returned descriptor.
+  int xpc_fd_dup(
+    xpc_object_t xfd,
+  ) {
+    return _xpc_fd_dup(
+      xfd,
+    );
+  }
+
+  late final _xpc_fd_dupPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(xpc_object_t)>>('xpc_fd_dup');
+  late final _xpc_fd_dup =
+      _xpc_fd_dupPtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_shmem_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing the given shared memory region.
+  ///
+  /// @param region
+  /// A pointer to a region of shared memory, created through a call to mmap(2)
+  /// with the MAP_SHARED flag, which is to be boxed.
+  ///
+  /// @param length
+  /// The length of the region.
+  ///
+  /// @result
+  /// A new shared memory object.
+  ///
+  /// @discussion
+  /// Only memory regions whose exact characteristics are known to the caller
+  /// should be boxed using this API. Memory returned from malloc(3) may not be
+  /// safely shared on either OS X or iOS because the underlying virtual memory
+  /// objects for malloc(3)ed allocations are owned by the malloc(3) subsystem and
+  /// not the caller of malloc(3).
+  ///
+  /// If you wish to share a memory region that you receive from another subsystem,
+  /// part of the interface contract with that other subsystem must include how to
+  /// create the region of memory, or sharing it may be unsafe.
+  ///
+  /// Certain operations may internally fragment a region of memory in a way that
+  /// would truncate the range detected by the shared memory object. vm_copy(), for
+  /// example, may split the region into multiple parts to avoid copying certain
+  /// page ranges. For this reason, it is recommended that you delay all VM
+  /// operations until the shared memory object has been created so that the VM
+  /// system knows that the entire range is intended for sharing.
+  xpc_object_t xpc_shmem_create(
+    ffi.Pointer<ffi.Void> region,
+    int length,
+  ) {
+    return _xpc_shmem_create(
+      region,
+      length,
+    );
+  }
+
+  late final _xpc_shmem_createPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('xpc_shmem_create');
+  late final _xpc_shmem_create = _xpc_shmem_createPtr
+      .asFunction<xpc_object_t Function(ffi.Pointer<ffi.Void>, int)>();
+
+  /// !
+  /// @function xpc_shmem_map
+  ///
+  /// @abstract
+  /// Maps the region boxed by the XPC shared memory object into the caller's
+  /// address space.
+  ///
+  /// @param xshmem
+  /// The shared memory object to be examined.
+  ///
+  /// @param region
+  /// On return, this will point to the region at which the shared memory was
+  /// mapped.
+  ///
+  /// @result
+  /// The length of the region that was mapped. If the mapping failed or if the
+  /// given object was not an XPC shared memory object, 0 is returned. The length
+  /// of the mapped region will always be an integral page size, even if the
+  /// creator of the region specified a non-integral page size.
+  ///
+  /// @discussion
+  /// The resulting region must be disposed of with munmap(2).
+  ///
+  /// It is the responsibility of the caller to manage protections on the new
+  /// region accordingly.
+  int xpc_shmem_map(
+    xpc_object_t xshmem,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> region,
+  ) {
+    return _xpc_shmem_map(
+      xshmem,
+      region,
+    );
+  }
+
+  late final _xpc_shmem_mapPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Size Function(xpc_object_t,
+              ffi.Pointer<ffi.Pointer<ffi.Void>>)>>('xpc_shmem_map');
+  late final _xpc_shmem_map = _xpc_shmem_mapPtr.asFunction<
+      int Function(xpc_object_t, ffi.Pointer<ffi.Pointer<ffi.Void>>)>();
+
+  /// !
+  /// @function xpc_array_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing an array of XPC objects.
+  ///
+  /// @discussion
+  /// This array must be contiguous and cannot contain any NULL values. If you
+  /// wish to insert the equivalent of a NULL value, you may use the result of
+  /// {@link xpc_null_create}.
+  ///
+  /// @param objects
+  /// An array of XPC objects which is to be boxed. The order of this array is
+  /// preserved in the object. If this array contains a NULL value, the behavior
+  /// is undefined. This parameter may be NULL only if the count is 0.
+  ///
+  /// @param count
+  /// The number of objects in the given array. If the number passed is less than
+  /// the actual number of values in the array, only the specified number of items
+  /// are inserted into the resulting array. If the number passed is more than
+  /// the the actual number of values, the behavior is undefined.
+  ///
+  /// @result
+  /// A new array object.
+  xpc_object_t xpc_array_create(
+    ffi.Pointer<xpc_object_t> objects,
+    int count,
+  ) {
+    return _xpc_array_create(
+      objects,
+      count,
+    );
+  }
+
+  late final _xpc_array_createPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(
+              ffi.Pointer<xpc_object_t>, ffi.Size)>>('xpc_array_create');
+  late final _xpc_array_create = _xpc_array_createPtr
+      .asFunction<xpc_object_t Function(ffi.Pointer<xpc_object_t>, int)>();
+
+  /// !
+  /// @function xpc_array_create_empty
+  ///
+  /// @abstract
+  /// Creates an XPC object representing an array of XPC objects.
+  ///
+  /// @result
+  /// A new array object.
+  ///
+  /// @see
+  /// xpc_array_create
+  xpc_object_t xpc_array_create_empty() {
+    return _xpc_array_create_empty();
+  }
+
+  late final _xpc_array_create_emptyPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function()>>(
+          'xpc_array_create_empty');
+  late final _xpc_array_create_empty =
+      _xpc_array_create_emptyPtr.asFunction<xpc_object_t Function()>();
+
+  /// !
+  /// @function xpc_array_set_value
+  ///
+  /// @abstract
+  /// Inserts the specified object into the array at the specified index.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array).
+  /// If the index is outside that range, the behavior is undefined.
+  ///
+  /// @param value
+  /// The object to insert. This value is retained by the array and cannot be
+  /// NULL. If there is already a value at the specified index, it is released,
+  /// and the new value is inserted in its place.
+  void xpc_array_set_value(
+    xpc_object_t xarray,
+    int index,
+    xpc_object_t value,
+  ) {
+    return _xpc_array_set_value(
+      xarray,
+      index,
+      value,
+    );
+  }
+
+  late final _xpc_array_set_valuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              xpc_object_t, ffi.Size, xpc_object_t)>>('xpc_array_set_value');
+  late final _xpc_array_set_value = _xpc_array_set_valuePtr
+      .asFunction<void Function(xpc_object_t, int, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_array_append_value
+  ///
+  /// @abstract
+  /// Appends an object to an XPC array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param value
+  /// The object to append. This object is retained by the array.
+  void xpc_array_append_value(
+    xpc_object_t xarray,
+    xpc_object_t value,
+  ) {
+    return _xpc_array_append_value(
+      xarray,
+      value,
+    );
+  }
+
+  late final _xpc_array_append_valuePtr = _lookup<
+          ffi.NativeFunction<ffi.Void Function(xpc_object_t, xpc_object_t)>>(
+      'xpc_array_append_value');
+  late final _xpc_array_append_value = _xpc_array_append_valuePtr
+      .asFunction<void Function(xpc_object_t, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_array_get_count
+  ///
+  /// @abstract
+  /// Returns the count of values currently in the array.
+  ///
+  /// @param xarray
+  /// The array object which is to be examined.
+  ///
+  /// @result
+  /// The count of values in the array or 0 if the given object was not an XPC
+  /// array.
+  int xpc_array_get_count(
+    xpc_object_t xarray,
+  ) {
+    return _xpc_array_get_count(
+      xarray,
+    );
+  }
+
+  late final _xpc_array_get_countPtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(xpc_object_t)>>(
+          'xpc_array_get_count');
+  late final _xpc_array_get_count =
+      _xpc_array_get_countPtr.asFunction<int Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_array_get_value
+  ///
+  /// @abstract
+  /// Returns the value at the specified index in the array.
+  ///
+  /// @param xarray
+  /// The array object which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the range of
+  /// indexes as specified in xpc_array_set_value().
+  ///
+  /// @result
+  /// The object at the specified index within the array or NULL if the given
+  /// object was not an XPC array.
+  ///
+  /// @discussion
+  /// This method does not grant the caller a reference to the underlying object,
+  /// and thus the caller is not responsible for releasing the object.
+  xpc_object_t xpc_array_get_value(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_value(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_valuePtr = _lookup<
+          ffi.NativeFunction<xpc_object_t Function(xpc_object_t, ffi.Size)>>(
+      'xpc_array_get_value');
+  late final _xpc_array_get_value = _xpc_array_get_valuePtr
+      .asFunction<xpc_object_t Function(xpc_object_t, int)>();
+
+  bool xpc_array_apply(
+    xpc_object_t xarray,
+    xpc_array_applier_t applier,
+  ) {
+    return _xpc_array_apply(
+      xarray,
+      applier,
+    );
+  }
+
+  late final _xpc_array_applyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              xpc_object_t, xpc_array_applier_t)>>('xpc_array_apply');
+  late final _xpc_array_apply = _xpc_array_applyPtr
+      .asFunction<bool Function(xpc_object_t, xpc_array_applier_t)>();
+
+  /// !
+  /// @function xpc_array_set_bool
+  ///
+  /// @abstract
+  /// Inserts a <code>bool</code> (primitive) value into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param value
+  /// The <code>bool</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_array_get_value()}.
+  void xpc_array_set_bool(
+    xpc_object_t xarray,
+    int index,
+    bool value,
+  ) {
+    return _xpc_array_set_bool(
+      xarray,
+      index,
+      value,
+    );
+  }
+
+  late final _xpc_array_set_boolPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(xpc_object_t, ffi.Size, ffi.Bool)>>(
+      'xpc_array_set_bool');
+  late final _xpc_array_set_bool = _xpc_array_set_boolPtr
+      .asFunction<void Function(xpc_object_t, int, bool)>();
+
+  /// !
+  /// @function xpc_array_set_int64
+  ///
+  /// @abstract
+  /// Inserts an <code>int64_t</code> (primitive) value into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param value
+  /// The <code>int64_t</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_array_get_value()}.
+  void xpc_array_set_int64(
+    xpc_object_t xarray,
+    int index,
+    int value,
+  ) {
+    return _xpc_array_set_int64(
+      xarray,
+      index,
+      value,
+    );
+  }
+
+  late final _xpc_array_set_int64Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              xpc_object_t, ffi.Size, ffi.Int64)>>('xpc_array_set_int64');
+  late final _xpc_array_set_int64 = _xpc_array_set_int64Ptr
+      .asFunction<void Function(xpc_object_t, int, int)>();
+
+  /// !
+  /// @function xpc_array_set_uint64
+  ///
+  /// @abstract
+  /// Inserts a <code>uint64_t</code> (primitive) value into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param value
+  /// The <code>uint64_t</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_array_get_value()}.
+  void xpc_array_set_uint64(
+    xpc_object_t xarray,
+    int index,
+    int value,
+  ) {
+    return _xpc_array_set_uint64(
+      xarray,
+      index,
+      value,
+    );
+  }
+
+  late final _xpc_array_set_uint64Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              xpc_object_t, ffi.Size, ffi.Uint64)>>('xpc_array_set_uint64');
+  late final _xpc_array_set_uint64 = _xpc_array_set_uint64Ptr
+      .asFunction<void Function(xpc_object_t, int, int)>();
+
+  /// !
+  /// @function xpc_array_set_double
+  ///
+  /// @abstract
+  /// Inserts a <code>double</code> (primitive) value into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param value
+  /// The <code>double</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_array_get_value()}.
+  void xpc_array_set_double(
+    xpc_object_t xarray,
+    int index,
+    double value,
+  ) {
+    return _xpc_array_set_double(
+      xarray,
+      index,
+      value,
+    );
+  }
+
+  late final _xpc_array_set_doublePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              xpc_object_t, ffi.Size, ffi.Double)>>('xpc_array_set_double');
+  late final _xpc_array_set_double = _xpc_array_set_doublePtr
+      .asFunction<void Function(xpc_object_t, int, double)>();
+
+  /// !
+  /// @function xpc_array_set_date
+  ///
+  /// @abstract
+  /// Inserts a date value into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param value
+  /// The date value to insert, represented as an <code>int64_t</code>. After
+  /// calling this method, the XPC object corresponding to the primitive value
+  /// inserted may be safely retrieved with {@link xpc_array_get_value()}.
+  void xpc_array_set_date(
+    xpc_object_t xarray,
+    int index,
+    int value,
+  ) {
+    return _xpc_array_set_date(
+      xarray,
+      index,
+      value,
+    );
+  }
+
+  late final _xpc_array_set_datePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              xpc_object_t, ffi.Size, ffi.Int64)>>('xpc_array_set_date');
+  late final _xpc_array_set_date = _xpc_array_set_datePtr
+      .asFunction<void Function(xpc_object_t, int, int)>();
+
+  /// !
+  /// @function xpc_array_set_data
+  ///
+  /// @abstract
+  /// Inserts a raw data value into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param bytes
+  /// The raw data to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_array_get_value()}.
+  ///
+  /// @param length
+  /// The length of the data.
+  void xpc_array_set_data(
+    xpc_object_t xarray,
+    int index,
+    ffi.Pointer<ffi.Void> bytes,
+    int length,
+  ) {
+    return _xpc_array_set_data(
+      xarray,
+      index,
+      bytes,
+      length,
+    );
+  }
+
+  late final _xpc_array_set_dataPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Size, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('xpc_array_set_data');
+  late final _xpc_array_set_data = _xpc_array_set_dataPtr.asFunction<
+      void Function(xpc_object_t, int, ffi.Pointer<ffi.Void>, int)>();
+
+  /// !
+  /// @function xpc_array_set_string
+  ///
+  /// @abstract
+  /// Inserts a C string into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param string
+  /// The C string to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_array_get_value()}.
+  void xpc_array_set_string(
+    xpc_object_t xarray,
+    int index,
+    ffi.Pointer<ffi.Char> string,
+  ) {
+    return _xpc_array_set_string(
+      xarray,
+      index,
+      string,
+    );
+  }
+
+  late final _xpc_array_set_stringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Size,
+              ffi.Pointer<ffi.Char>)>>('xpc_array_set_string');
+  late final _xpc_array_set_string = _xpc_array_set_stringPtr
+      .asFunction<void Function(xpc_object_t, int, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_array_set_uuid
+  ///
+  /// @abstract
+  /// Inserts a <code>uuid_t</code> (primitive) value into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param uuid
+  /// The UUID primitive to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_array_get_value()}.
+  void xpc_array_set_uuid(
+    xpc_object_t xarray,
+    int index,
+    ffi.Pointer<ffi.UnsignedChar> uuid,
+  ) {
+    return _xpc_array_set_uuid(
+      xarray,
+      index,
+      uuid,
+    );
+  }
+
+  late final _xpc_array_set_uuidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Size,
+              ffi.Pointer<ffi.UnsignedChar>)>>('xpc_array_set_uuid');
+  late final _xpc_array_set_uuid = _xpc_array_set_uuidPtr.asFunction<
+      void Function(xpc_object_t, int, ffi.Pointer<ffi.UnsignedChar>)>();
+
+  /// !
+  /// @function xpc_array_set_fd
+  ///
+  /// @abstract
+  /// Inserts a file descriptor into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param fd
+  /// The file descriptor to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_array_get_value()}.
+  void xpc_array_set_fd(
+    xpc_object_t xarray,
+    int index,
+    int fd,
+  ) {
+    return _xpc_array_set_fd(
+      xarray,
+      index,
+      fd,
+    );
+  }
+
+  late final _xpc_array_set_fdPtr = _lookup<
+          ffi
+          .NativeFunction<ffi.Void Function(xpc_object_t, ffi.Size, ffi.Int)>>(
+      'xpc_array_set_fd');
+  late final _xpc_array_set_fd =
+      _xpc_array_set_fdPtr.asFunction<void Function(xpc_object_t, int, int)>();
+
+  /// !
+  /// @function xpc_array_set_connection
+  ///
+  /// @abstract
+  /// Inserts a connection into an array.
+  ///
+  /// @param xarray
+  /// The array object which is to be manipulated.
+  ///
+  /// @param index
+  /// The index at which to insert the value. This value must lie within the index
+  /// space of the array (0 to N-1 inclusive, where N is the count of the array) or
+  /// be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is
+  /// undefined.
+  ///
+  /// @param connection
+  /// The connection to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_array_get_value()}. The connection is NOT retained by the array.
+  void xpc_array_set_connection(
+    xpc_object_t xarray,
+    int index,
+    xpc_connection_t connection,
+  ) {
+    return _xpc_array_set_connection(
+      xarray,
+      index,
+      connection,
+    );
+  }
+
+  late final _xpc_array_set_connectionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Size,
+              xpc_connection_t)>>('xpc_array_set_connection');
+  late final _xpc_array_set_connection = _xpc_array_set_connectionPtr
+      .asFunction<void Function(xpc_object_t, int, xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_array_get_bool
+  ///
+  /// @abstract
+  /// Gets a <code>bool</code> primitive value from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// The underlying <code>bool</code> value at the specified index. false if the
+  /// value at the specified index is not a Boolean value.
+  bool xpc_array_get_bool(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_bool(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_boolPtr =
+      _lookup<ffi.NativeFunction<ffi.Bool Function(xpc_object_t, ffi.Size)>>(
+          'xpc_array_get_bool');
+  late final _xpc_array_get_bool =
+      _xpc_array_get_boolPtr.asFunction<bool Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_int64
+  ///
+  /// @abstract
+  /// Gets an <code>int64_t</code> primitive value from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// The underlying <code>int64_t</code> value at the specified index. 0 if the
+  /// value at the specified index is not a signed integer value.
+  int xpc_array_get_int64(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_int64(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_int64Ptr =
+      _lookup<ffi.NativeFunction<ffi.Int64 Function(xpc_object_t, ffi.Size)>>(
+          'xpc_array_get_int64');
+  late final _xpc_array_get_int64 =
+      _xpc_array_get_int64Ptr.asFunction<int Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_uint64
+  ///
+  /// @abstract
+  /// Gets a <code>uint64_t</code> primitive value from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// The underlying <code>uint64_t</code> value at the specified index. 0 if the
+  /// value at the specified index is not an unsigned integer value.
+  int xpc_array_get_uint64(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_uint64(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_uint64Ptr =
+      _lookup<ffi.NativeFunction<ffi.Uint64 Function(xpc_object_t, ffi.Size)>>(
+          'xpc_array_get_uint64');
+  late final _xpc_array_get_uint64 =
+      _xpc_array_get_uint64Ptr.asFunction<int Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_double
+  ///
+  /// @abstract
+  /// Gets a <code>double</code> primitive value from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// The underlying <code>double</code> value at the specified index. NAN if the
+  /// value at the specified index is not a floating point value.
+  double xpc_array_get_double(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_double(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_doublePtr =
+      _lookup<ffi.NativeFunction<ffi.Double Function(xpc_object_t, ffi.Size)>>(
+          'xpc_array_get_double');
+  late final _xpc_array_get_double =
+      _xpc_array_get_doublePtr.asFunction<double Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_date
+  ///
+  /// @abstract
+  /// Gets a date interval from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// The underlying date interval at the specified index. 0 if the value at the
+  /// specified index is not a date value.
+  int xpc_array_get_date(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_date(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_datePtr =
+      _lookup<ffi.NativeFunction<ffi.Int64 Function(xpc_object_t, ffi.Size)>>(
+          'xpc_array_get_date');
+  late final _xpc_array_get_date =
+      _xpc_array_get_datePtr.asFunction<int Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_data
+  ///
+  /// @abstract
+  /// Gets a pointer to the raw bytes of a data object from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @param length
+  /// Upon return output, will contain the length of the data corresponding to the
+  /// specified key.
+  ///
+  /// @result
+  /// The underlying bytes at the specified index. NULL if the value at the
+  /// specified index is not a data value.
+  ffi.Pointer<ffi.Void> xpc_array_get_data(
+    xpc_object_t xarray,
+    int index,
+    ffi.Pointer<ffi.Size> length,
+  ) {
+    return _xpc_array_get_data(
+      xarray,
+      index,
+      length,
+    );
+  }
+
+  late final _xpc_array_get_dataPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(xpc_object_t, ffi.Size,
+              ffi.Pointer<ffi.Size>)>>('xpc_array_get_data');
+  late final _xpc_array_get_data = _xpc_array_get_dataPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          xpc_object_t, int, ffi.Pointer<ffi.Size>)>();
+
+  /// !
+  /// @function xpc_array_get_string
+  ///
+  /// @abstract
+  /// Gets a C string value from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// The underlying C string at the specified index. NULL if the value at the
+  /// specified index is not a C string value.
+  ffi.Pointer<ffi.Char> xpc_array_get_string(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_string(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_stringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(
+              xpc_object_t, ffi.Size)>>('xpc_array_get_string');
+  late final _xpc_array_get_string = _xpc_array_get_stringPtr
+      .asFunction<ffi.Pointer<ffi.Char> Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_uuid
+  ///
+  /// @abstract
+  /// Gets a <code>uuid_t</code> value from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// The underlying <code>uuid_t</code> value at the specified index. The null
+  /// UUID if the value at the specified index is not a UUID value. The returned
+  /// pointer may be safely passed to the uuid(3) APIs.
+  ffi.Pointer<ffi.Uint8> xpc_array_get_uuid(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_uuid(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_uuidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Uint8> Function(
+              xpc_object_t, ffi.Size)>>('xpc_array_get_uuid');
+  late final _xpc_array_get_uuid = _xpc_array_get_uuidPtr
+      .asFunction<ffi.Pointer<ffi.Uint8> Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_dup_fd
+  ///
+  /// @abstract
+  /// Gets a file descriptor from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// A new file descriptor created from the value at the specified index. You are
+  /// responsible for close(2)ing this descriptor. -1 if the value at the specified
+  /// index is not a file descriptor value.
+  int xpc_array_dup_fd(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_dup_fd(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_dup_fdPtr =
+      _lookup<ffi.NativeFunction<ffi.Int Function(xpc_object_t, ffi.Size)>>(
+          'xpc_array_dup_fd');
+  late final _xpc_array_dup_fd =
+      _xpc_array_dup_fdPtr.asFunction<int Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_create_connection
+  ///
+  /// @abstract
+  /// Creates a connection object from an array directly.
+  ///
+  /// @param xarray
+  /// The array which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the index space
+  /// of the array (0 to N-1 inclusive, where N is the count of the array). If the
+  /// index is outside that range, the behavior is undefined.
+  ///
+  /// @result
+  /// A new connection created from the value at the specified index. You are
+  /// responsible for calling xpc_release() on the returned connection. NULL if the
+  /// value at the specified index is not an endpoint containing a connection. Each
+  /// call to this method for the same index in the same array will yield a
+  /// different connection. See {@link xpc_connection_create_from_endpoint()} for
+  /// discussion as to the responsibilities when dealing with the returned
+  /// connection.
+  xpc_connection_t xpc_array_create_connection(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_create_connection(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_create_connectionPtr = _lookup<
+          ffi
+          .NativeFunction<xpc_connection_t Function(xpc_object_t, ffi.Size)>>(
+      'xpc_array_create_connection');
+  late final _xpc_array_create_connection = _xpc_array_create_connectionPtr
+      .asFunction<xpc_connection_t Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_dictionary
+  ///
+  /// @abstract
+  /// Returns the dictionary at the specified index in the array.
+  ///
+  /// @param xarray
+  /// The array object which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the range of
+  /// indexes as specified in xpc_array_set_value().
+  ///
+  /// @result
+  /// The object at the specified index within the array or NULL if the given
+  /// object was not an XPC array or if the the value at the specified index was
+  /// not a dictionary.
+  ///
+  /// @discussion
+  /// This method does not grant the caller a reference to the underlying object,
+  /// and thus the caller is not responsible for releasing the object.
+  xpc_object_t xpc_array_get_dictionary(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_dictionary(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_dictionaryPtr = _lookup<
+          ffi.NativeFunction<xpc_object_t Function(xpc_object_t, ffi.Size)>>(
+      'xpc_array_get_dictionary');
+  late final _xpc_array_get_dictionary = _xpc_array_get_dictionaryPtr
+      .asFunction<xpc_object_t Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_array_get_array
+  ///
+  /// @abstract
+  /// Returns the array at the specified index in the array.
+  ///
+  /// @param xarray
+  /// The array object which is to be examined.
+  ///
+  /// @param index
+  /// The index of the value to obtain. This value must lie within the range of
+  /// indexes as specified in xpc_array_set_value().
+  ///
+  /// @result
+  /// The object at the specified index within the array or NULL if the given
+  /// object was not an XPC array or if the the value at the specified index was
+  /// not an array.
+  ///
+  /// @discussion
+  /// This method does not grant the caller a reference to the underlying object,
+  /// and thus the caller is not responsible for releasing the object.
+  xpc_object_t xpc_array_get_array(
+    xpc_object_t xarray,
+    int index,
+  ) {
+    return _xpc_array_get_array(
+      xarray,
+      index,
+    );
+  }
+
+  late final _xpc_array_get_arrayPtr = _lookup<
+          ffi.NativeFunction<xpc_object_t Function(xpc_object_t, ffi.Size)>>(
+      'xpc_array_get_array');
+  late final _xpc_array_get_array = _xpc_array_get_arrayPtr
+      .asFunction<xpc_object_t Function(xpc_object_t, int)>();
+
+  /// !
+  /// @function xpc_dictionary_create
+  ///
+  /// @abstract
+  /// Creates an XPC object representing a dictionary of XPC objects keyed to
+  /// C-strings.
+  ///
+  /// @param keys
+  /// An array of C-strings that are to be the keys for the values to be inserted.
+  /// Each element of this array is copied into the dictionary's internal storage.
+  /// Elements of this array may NOT be NULL.
+  ///
+  /// @param values
+  /// A C-array that is parallel to the array of keys, consisting of objects that
+  /// are to be inserted. Each element in this array is retained. Elements in this
+  /// array may be NULL.
+  ///
+  /// @param count
+  /// The number of key/value pairs in the given arrays. If the count is less than
+  /// the actual count of values, only that many key/value pairs will be inserted
+  /// into the dictionary.
+  ///
+  /// If the count is more than the the actual count of key/value pairs, the
+  /// behavior is undefined. If one array is NULL and the other is not, the
+  /// behavior is undefined. If both arrays are NULL and the count is non-0, the
+  /// behavior is undefined.
+  ///
+  /// @result
+  /// The new dictionary object.
+  xpc_object_t xpc_dictionary_create(
+    ffi.Pointer<ffi.Pointer<ffi.Char>> keys,
+    ffi.Pointer<xpc_object_t> values,
+    int count,
+  ) {
+    return _xpc_dictionary_create(
+      keys,
+      values,
+      count,
+    );
+  }
+
+  late final _xpc_dictionary_createPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+              ffi.Pointer<xpc_object_t>, ffi.Size)>>('xpc_dictionary_create');
+  late final _xpc_dictionary_create = _xpc_dictionary_createPtr.asFunction<
+      xpc_object_t Function(ffi.Pointer<ffi.Pointer<ffi.Char>>,
+          ffi.Pointer<xpc_object_t>, int)>();
+
+  /// !
+  /// @function xpc_dictionary_create_empty
+  ///
+  /// @abstract
+  /// Creates an XPC object representing a dictionary of XPC objects keyed to
+  /// C-strings.
+  ///
+  /// @result
+  /// The new dictionary object.
+  ///
+  /// @see
+  /// xpc_dictionary_create
+  xpc_object_t xpc_dictionary_create_empty() {
+    return _xpc_dictionary_create_empty();
+  }
+
+  late final _xpc_dictionary_create_emptyPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function()>>(
+          'xpc_dictionary_create_empty');
+  late final _xpc_dictionary_create_empty =
+      _xpc_dictionary_create_emptyPtr.asFunction<xpc_object_t Function()>();
+
+  /// !
+  /// @function xpc_dictionary_create_reply
+  ///
+  /// @abstract
+  /// Creates a dictionary that is in reply to the given dictionary.
+  ///
+  /// @param original
+  /// The original dictionary that is to be replied to.
+  ///
+  /// @result
+  /// The new dictionary object. NULL if the object was not a dictionary with a
+  /// reply context.
+  ///
+  /// @discussion
+  /// After completing successfully on a dictionary, this method may not be called
+  /// again on that same dictionary. Attempts to do so will return NULL.
+  ///
+  /// When this dictionary is sent across the reply connection, the remote end's
+  /// reply handler is invoked.
+  xpc_object_t xpc_dictionary_create_reply(
+    xpc_object_t original,
+  ) {
+    return _xpc_dictionary_create_reply(
+      original,
+    );
+  }
+
+  late final _xpc_dictionary_create_replyPtr =
+      _lookup<ffi.NativeFunction<xpc_object_t Function(xpc_object_t)>>(
+          'xpc_dictionary_create_reply');
+  late final _xpc_dictionary_create_reply = _xpc_dictionary_create_replyPtr
+      .asFunction<xpc_object_t Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_dictionary_set_value
+  ///
+  /// @abstract
+  /// Sets the value for the specified key to the specified object.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the value shall be set.
+  ///
+  /// @param value
+  /// The object to insert. The object is retained by the dictionary. If there
+  /// already exists a value for the specified key, the old value is released
+  /// and overwritten by the new value. This parameter may be NULL, in which case
+  /// the value corresponding to the specified key is deleted if present.
+  void xpc_dictionary_set_value(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    xpc_object_t value,
+  ) {
+    return _xpc_dictionary_set_value(
+      xdict,
+      key,
+      value,
+    );
+  }
+
+  late final _xpc_dictionary_set_valuePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              xpc_object_t)>>('xpc_dictionary_set_value');
+  late final _xpc_dictionary_set_value =
+      _xpc_dictionary_set_valuePtr.asFunction<
+          void Function(xpc_object_t, ffi.Pointer<ffi.Char>, xpc_object_t)>();
+
+  /// !
+  /// @function xpc_dictionary_get_value
+  ///
+  /// @abstract
+  /// Returns the value for the specified key.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The object for the specified key within the dictionary. NULL if there is no
+  /// value associated with the specified key or if the given object was not an
+  /// XPC dictionary.
+  ///
+  /// @discussion
+  /// This method does not grant the caller a reference to the underlying object,
+  /// and thus the caller is not responsible for releasing the object.
+  xpc_object_t xpc_dictionary_get_value(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_value(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_valuePtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_value');
+  late final _xpc_dictionary_get_value = _xpc_dictionary_get_valuePtr
+      .asFunction<xpc_object_t Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_count
+  ///
+  /// @abstract
+  /// Returns the number of values stored in the dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @result
+  /// The number of values stored in the dictionary or 0 if the given object was
+  /// not an XPC dictionary. Calling xpc_dictionary_set_value() with a non-NULL
+  /// value will increment the count. Calling xpc_dictionary_set_value() with a
+  /// NULL value will decrement the count.
+  int xpc_dictionary_get_count(
+    xpc_object_t xdict,
+  ) {
+    return _xpc_dictionary_get_count(
+      xdict,
+    );
+  }
+
+  late final _xpc_dictionary_get_countPtr =
+      _lookup<ffi.NativeFunction<ffi.Size Function(xpc_object_t)>>(
+          'xpc_dictionary_get_count');
+  late final _xpc_dictionary_get_count =
+      _xpc_dictionary_get_countPtr.asFunction<int Function(xpc_object_t)>();
+
+  bool xpc_dictionary_apply(
+    xpc_object_t xdict,
+    xpc_dictionary_applier_t applier,
+  ) {
+    return _xpc_dictionary_apply(
+      xdict,
+      applier,
+    );
+  }
+
+  late final _xpc_dictionary_applyPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              xpc_object_t, xpc_dictionary_applier_t)>>('xpc_dictionary_apply');
+  late final _xpc_dictionary_apply = _xpc_dictionary_applyPtr
+      .asFunction<bool Function(xpc_object_t, xpc_dictionary_applier_t)>();
+
+  /// !
+  /// @function xpc_dictionary_get_remote_connection
+  ///
+  /// @abstract
+  /// Returns the connection from which the dictionary was received.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @result
+  /// If the dictionary was received by a connection event handler or a dictionary
+  /// created through xpc_dictionary_create_reply(), a connection object over which
+  /// a reply message can be sent is returned. For any other dictionary, NULL is
+  /// returned.
+  xpc_connection_t xpc_dictionary_get_remote_connection(
+    xpc_object_t xdict,
+  ) {
+    return _xpc_dictionary_get_remote_connection(
+      xdict,
+    );
+  }
+
+  late final _xpc_dictionary_get_remote_connectionPtr =
+      _lookup<ffi.NativeFunction<xpc_connection_t Function(xpc_object_t)>>(
+          'xpc_dictionary_get_remote_connection');
+  late final _xpc_dictionary_get_remote_connection =
+      _xpc_dictionary_get_remote_connectionPtr
+          .asFunction<xpc_connection_t Function(xpc_object_t)>();
+
+  /// !
+  /// @function xpc_dictionary_set_bool
+  ///
+  /// @abstract
+  /// Inserts a <code>bool</code> (primitive) value into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param value
+  /// The <code>bool</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_bool(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    bool value,
+  ) {
+    return _xpc_dictionary_set_bool(
+      xdict,
+      key,
+      value,
+    );
+  }
+
+  late final _xpc_dictionary_set_boolPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Bool)>>('xpc_dictionary_set_bool');
+  late final _xpc_dictionary_set_bool = _xpc_dictionary_set_boolPtr
+      .asFunction<void Function(xpc_object_t, ffi.Pointer<ffi.Char>, bool)>();
+
+  /// !
+  /// @function xpc_dictionary_set_int64
+  ///
+  /// @abstract
+  /// Inserts an <code>int64_t</code> (primitive) value into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param value
+  /// The <code>int64_t</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_int64(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    int value,
+  ) {
+    return _xpc_dictionary_set_int64(
+      xdict,
+      key,
+      value,
+    );
+  }
+
+  late final _xpc_dictionary_set_int64Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Int64)>>('xpc_dictionary_set_int64');
+  late final _xpc_dictionary_set_int64 = _xpc_dictionary_set_int64Ptr
+      .asFunction<void Function(xpc_object_t, ffi.Pointer<ffi.Char>, int)>();
+
+  /// !
+  /// @function xpc_dictionary_set_uint64
+  ///
+  /// @abstract
+  /// Inserts a <code>uint64_t</code> (primitive) value into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param value
+  /// The <code>uint64_t</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_uint64(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    int value,
+  ) {
+    return _xpc_dictionary_set_uint64(
+      xdict,
+      key,
+      value,
+    );
+  }
+
+  late final _xpc_dictionary_set_uint64Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Uint64)>>('xpc_dictionary_set_uint64');
+  late final _xpc_dictionary_set_uint64 = _xpc_dictionary_set_uint64Ptr
+      .asFunction<void Function(xpc_object_t, ffi.Pointer<ffi.Char>, int)>();
+
+  /// !
+  /// @function xpc_dictionary_set_double
+  ///
+  /// @abstract
+  /// Inserts a <code>double</code> (primitive) value into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param value
+  /// The <code>double</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_double(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    double value,
+  ) {
+    return _xpc_dictionary_set_double(
+      xdict,
+      key,
+      value,
+    );
+  }
+
+  late final _xpc_dictionary_set_doublePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Double)>>('xpc_dictionary_set_double');
+  late final _xpc_dictionary_set_double = _xpc_dictionary_set_doublePtr
+      .asFunction<void Function(xpc_object_t, ffi.Pointer<ffi.Char>, double)>();
+
+  /// !
+  /// @function xpc_dictionary_set_date
+  ///
+  /// @abstract
+  /// Inserts a date (primitive) value into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param value
+  /// The date value to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_date(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    int value,
+  ) {
+    return _xpc_dictionary_set_date(
+      xdict,
+      key,
+      value,
+    );
+  }
+
+  late final _xpc_dictionary_set_datePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Int64)>>('xpc_dictionary_set_date');
+  late final _xpc_dictionary_set_date = _xpc_dictionary_set_datePtr
+      .asFunction<void Function(xpc_object_t, ffi.Pointer<ffi.Char>, int)>();
+
+  /// !
+  /// @function xpc_dictionary_set_data
+  ///
+  /// @abstract
+  /// Inserts a raw data value into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param bytes
+  /// The bytes to insert. After calling this method, the XPC object corresponding
+  /// to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_dictionary_get_value()}.
+  ///
+  /// @param length
+  /// The length of the data.
+  void xpc_dictionary_set_data(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    ffi.Pointer<ffi.Void> bytes,
+    int length,
+  ) {
+    return _xpc_dictionary_set_data(
+      xdict,
+      key,
+      bytes,
+      length,
+    );
+  }
+
+  late final _xpc_dictionary_set_dataPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Void>, ffi.Size)>>('xpc_dictionary_set_data');
+  late final _xpc_dictionary_set_data = _xpc_dictionary_set_dataPtr.asFunction<
+      void Function(
+          xpc_object_t, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Void>, int)>();
+
+  /// !
+  /// @function xpc_dictionary_set_string
+  ///
+  /// @abstract
+  /// Inserts a C string value into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param string
+  /// The C string to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved with
+  /// {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_string(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    ffi.Pointer<ffi.Char> string,
+  ) {
+    return _xpc_dictionary_set_string(
+      xdict,
+      key,
+      string,
+    );
+  }
+
+  late final _xpc_dictionary_set_stringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_set_string');
+  late final _xpc_dictionary_set_string =
+      _xpc_dictionary_set_stringPtr.asFunction<
+          void Function(
+              xpc_object_t, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_set_uuid
+  ///
+  /// @abstract
+  /// Inserts a uuid (primitive) value into an array.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param uuid
+  /// The <code>uuid_t</code> value to insert. After calling this method, the XPC
+  /// object corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_uuid(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    ffi.Pointer<ffi.UnsignedChar> uuid,
+  ) {
+    return _xpc_dictionary_set_uuid(
+      xdict,
+      key,
+      uuid,
+    );
+  }
+
+  late final _xpc_dictionary_set_uuidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.UnsignedChar>)>>('xpc_dictionary_set_uuid');
+  late final _xpc_dictionary_set_uuid = _xpc_dictionary_set_uuidPtr.asFunction<
+      void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+          ffi.Pointer<ffi.UnsignedChar>)>();
+
+  /// !
+  /// @function xpc_dictionary_set_fd
+  ///
+  /// @abstract
+  /// Inserts a file descriptor into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param fd
+  /// The file descriptor to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_dictionary_get_value()}.
+  void xpc_dictionary_set_fd(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    int fd,
+  ) {
+    return _xpc_dictionary_set_fd(
+      xdict,
+      key,
+      fd,
+    );
+  }
+
+  late final _xpc_dictionary_set_fdPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Int)>>('xpc_dictionary_set_fd');
+  late final _xpc_dictionary_set_fd = _xpc_dictionary_set_fdPtr
+      .asFunction<void Function(xpc_object_t, ffi.Pointer<ffi.Char>, int)>();
+
+  /// !
+  /// @function xpc_dictionary_set_connection
+  ///
+  /// @abstract
+  /// Inserts a connection into a dictionary.
+  ///
+  /// @param xdict
+  /// The dictionary which is to be manipulated.
+  ///
+  /// @param key
+  /// The key for which the primitive value shall be set.
+  ///
+  /// @param connection
+  /// The connection to insert. After calling this method, the XPC object
+  /// corresponding to the primitive value inserted may be safely retrieved
+  /// with {@link xpc_dictionary_get_value()}. The connection is NOT retained by
+  /// the dictionary.
+  void xpc_dictionary_set_connection(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    xpc_connection_t connection,
+  ) {
+    return _xpc_dictionary_set_connection(
+      xdict,
+      key,
+      connection,
+    );
+  }
+
+  late final _xpc_dictionary_set_connectionPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              xpc_connection_t)>>('xpc_dictionary_set_connection');
+  late final _xpc_dictionary_set_connection =
+      _xpc_dictionary_set_connectionPtr.asFunction<
+          void Function(
+              xpc_object_t, ffi.Pointer<ffi.Char>, xpc_connection_t)>();
+
+  /// !
+  /// @function xpc_dictionary_get_bool
+  ///
+  /// @abstract
+  /// Gets a <code>bool</code> primitive value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The underlying <code>bool</code> value for the specified key. false if the
+  /// the value for the specified key is not a Boolean value or if there is no
+  /// value for the specified key.
+  bool xpc_dictionary_get_bool(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_bool(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_boolPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              xpc_object_t, ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_bool');
+  late final _xpc_dictionary_get_bool = _xpc_dictionary_get_boolPtr
+      .asFunction<bool Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_int64
+  ///
+  /// @abstract
+  /// Gets an <code>int64</code> primitive value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The underlying <code>int64_t</code> value for the specified key. 0 if the
+  /// value for the specified key is not a signed integer value or if there is no
+  /// value for the specified key.
+  int xpc_dictionary_get_int64(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_int64(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_int64Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int64 Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_int64');
+  late final _xpc_dictionary_get_int64 = _xpc_dictionary_get_int64Ptr
+      .asFunction<int Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_uint64
+  ///
+  /// @abstract
+  /// Gets a <code>uint64</code> primitive value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The underlying <code>uint64_t</code> value for the specified key. 0 if the
+  /// value for the specified key is not an unsigned integer value or if there is
+  /// no value for the specified key.
+  int xpc_dictionary_get_uint64(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_uint64(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_uint64Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Uint64 Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_uint64');
+  late final _xpc_dictionary_get_uint64 = _xpc_dictionary_get_uint64Ptr
+      .asFunction<int Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_double
+  ///
+  /// @abstract
+  /// Gets a <code>double</code> primitive value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The underlying <code>double</code> value for the specified key. NAN if the
+  /// value for the specified key is not a floating point value or if there is no
+  /// value for the specified key.
+  double xpc_dictionary_get_double(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_double(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_doublePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Double Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_double');
+  late final _xpc_dictionary_get_double = _xpc_dictionary_get_doublePtr
+      .asFunction<double Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_date
+  ///
+  /// @abstract
+  /// Gets a date value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The underlying date interval for the specified key. 0 if the value for the
+  /// specified key is not a date value or if there is no value for the specified
+  /// key.
+  int xpc_dictionary_get_date(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_date(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_datePtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int64 Function(
+              xpc_object_t, ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_date');
+  late final _xpc_dictionary_get_date = _xpc_dictionary_get_datePtr
+      .asFunction<int Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_data
+  ///
+  /// @abstract
+  /// Gets a raw data value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @param length
+  /// For the data type, the third parameter, upon output, will contain the length
+  /// of the data corresponding to the specified key. May be NULL.
+  ///
+  /// @result
+  /// The underlying raw data for the specified key. NULL if the value for the
+  /// specified key is not a data value or if there is no value for the specified
+  /// key.
+  ffi.Pointer<ffi.Void> xpc_dictionary_get_data(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+    ffi.Pointer<ffi.Size> length,
+  ) {
+    return _xpc_dictionary_get_data(
+      xdict,
+      key,
+      length,
+    );
+  }
+
+  late final _xpc_dictionary_get_dataPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(xpc_object_t, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Size>)>>('xpc_dictionary_get_data');
+  late final _xpc_dictionary_get_data = _xpc_dictionary_get_dataPtr.asFunction<
+      ffi.Pointer<ffi.Void> Function(
+          xpc_object_t, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Size>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_string
+  ///
+  /// @abstract
+  /// Gets a C string value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The underlying C string for the specified key. NULL if the value for the
+  /// specified key is not a C string value or if there is no value for the
+  /// specified key.
+  ffi.Pointer<ffi.Char> xpc_dictionary_get_string(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_string(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_stringPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Char> Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_string');
+  late final _xpc_dictionary_get_string =
+      _xpc_dictionary_get_stringPtr.asFunction<
+          ffi.Pointer<ffi.Char> Function(
+              xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_uuid
+  ///
+  /// @abstract
+  /// Gets a uuid value from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The underlying <code>uuid_t</code> value for the specified key. NULL is the
+  /// value at the specified index is not a UUID value. The returned pointer may be
+  /// safely passed to the uuid(3) APIs.
+  ffi.Pointer<ffi.Uint8> xpc_dictionary_get_uuid(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_uuid(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_uuidPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Uint8> Function(
+              xpc_object_t, ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_uuid');
+  late final _xpc_dictionary_get_uuid = _xpc_dictionary_get_uuidPtr.asFunction<
+      ffi.Pointer<ffi.Uint8> Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_dup_fd
+  ///
+  /// @abstract
+  /// Creates a file descriptor from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// A new file descriptor created from the value for the specified key. You are
+  /// responsible for close(2)ing this descriptor. -1 if the value for the
+  /// specified key is not a file descriptor value or if there is no value for the
+  /// specified key.
+  int xpc_dictionary_dup_fd(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_dup_fd(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_dup_fdPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              xpc_object_t, ffi.Pointer<ffi.Char>)>>('xpc_dictionary_dup_fd');
+  late final _xpc_dictionary_dup_fd = _xpc_dictionary_dup_fdPtr
+      .asFunction<int Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_create_connection
+  ///
+  /// @abstract
+  /// Creates a connection from a dictionary directly.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// A new connection created from the value for the specified key. You are
+  /// responsible for calling xpc_release() on the returned connection. NULL if the
+  /// value for the specified key is not an endpoint containing a connection or if
+  /// there is no value for the specified key. Each call to this method for the
+  /// same key in the same dictionary will yield a different connection. See
+  /// {@link xpc_connection_create_from_endpoint()} for discussion as to the
+  /// responsibilities when dealing with the returned connection.
+  xpc_connection_t xpc_dictionary_create_connection(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_create_connection(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_create_connectionPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_connection_t Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_create_connection');
+  late final _xpc_dictionary_create_connection =
+      _xpc_dictionary_create_connectionPtr.asFunction<
+          xpc_connection_t Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_dictionary
+  ///
+  /// @abstract
+  /// Returns the dictionary value for the specified key.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The object for the specified key within the dictionary. NULL if there is no
+  /// value associated with the specified key, if the given object was not an
+  /// XPC dictionary, or if the object for the specified key is not a dictionary.
+  ///
+  /// @discussion
+  /// This method does not grant the caller a reference to the underlying object,
+  /// and thus the caller is not responsible for releasing the object.
+  xpc_object_t xpc_dictionary_get_dictionary(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_dictionary(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_dictionaryPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_dictionary');
+  late final _xpc_dictionary_get_dictionary = _xpc_dictionary_get_dictionaryPtr
+      .asFunction<xpc_object_t Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_dictionary_get_array
+  ///
+  /// @abstract
+  /// Returns the array value for the specified key.
+  ///
+  /// @param xdict
+  /// The dictionary object which is to be examined.
+  ///
+  /// @param key
+  /// The key whose value is to be obtained.
+  ///
+  /// @result
+  /// The object for the specified key within the dictionary. NULL if there is no
+  /// value associated with the specified key, if the given object was not an
+  /// XPC dictionary, or if the object for the specified key is not an array.
+  ///
+  /// @discussion
+  /// This method does not grant the caller a reference to the underlying object,
+  /// and thus the caller is not responsible for releasing the object.
+  xpc_object_t xpc_dictionary_get_array(
+    xpc_object_t xdict,
+    ffi.Pointer<ffi.Char> key,
+  ) {
+    return _xpc_dictionary_get_array(
+      xdict,
+      key,
+    );
+  }
+
+  late final _xpc_dictionary_get_arrayPtr = _lookup<
+      ffi.NativeFunction<
+          xpc_object_t Function(xpc_object_t,
+              ffi.Pointer<ffi.Char>)>>('xpc_dictionary_get_array');
+  late final _xpc_dictionary_get_array = _xpc_dictionary_get_arrayPtr
+      .asFunction<xpc_object_t Function(xpc_object_t, ffi.Pointer<ffi.Char>)>();
+
+  /// !
+  /// @function xpc_main
+  /// The springboard into the XPCService runtime. This function will set up your
+  /// service bundle's listener connection and manage it automatically. After this
+  /// initial setup, this function will, by default, call dispatch_main(). You may
+  /// override this behavior by setting the RunLoopType key in your XPC service
+  /// bundle's Info.plist under the XPCService dictionary.
+  ///
+  /// @param handler
+  /// The handler with which to accept new connections.
+  void xpc_main(
+    xpc_connection_handler_t handler,
+  ) {
+    return _xpc_main(
+      handler,
+    );
+  }
+
+  late final _xpc_mainPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function(xpc_connection_handler_t)>>(
+          'xpc_main');
+  late final _xpc_main =
+      _xpc_mainPtr.asFunction<void Function(xpc_connection_handler_t)>();
+
+  /// !
+  /// @function xpc_transaction_begin
+  /// Informs the XPC runtime that a transaction has begun and that the service
+  /// should not exit due to inactivity.
+  ///
+  /// @discussion
+  /// A service with no outstanding transactions may automatically exit due to
+  /// inactivity as determined by the system.
+  ///
+  /// This function may be used to manually manage transactions in cases where
+  /// their automatic management (as described below) does not meet the needs of an
+  /// XPC service. This function also updates the transaction count used for sudden
+  /// termination, i.e. vproc_transaction_begin(), and these two interfaces may be
+  /// used in combination.
+  ///
+  /// The XPC runtime will automatically begin a transaction on behalf of a service
+  /// when a new message is received. If no reply message is expected, the
+  /// transaction is automatically ended when the last reference to the message is released.
+  /// If a reply message is created, the transaction will end when the reply
+  /// message is sent or released. An XPC service may use xpc_transaction_begin()
+  /// and xpc_transaction_end() to inform the XPC runtime about activity that
+  /// occurs outside of this common pattern.
+  ///
+  /// On macOS, when the XPC runtime has determined that the service should exit,
+  /// the event handlers for all active peer connections will receive
+  /// {@link XPC_ERROR_TERMINATION_IMMINENT} as an indication that they should
+  /// unwind their existing transactions. After this error is delivered to a
+  /// connection's event handler, no more messages will be delivered to the
+  /// connection.
+  void xpc_transaction_begin() {
+    return _xpc_transaction_begin();
+  }
+
+  late final _xpc_transaction_beginPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('xpc_transaction_begin');
+  late final _xpc_transaction_begin =
+      _xpc_transaction_beginPtr.asFunction<void Function()>();
+
+  /// !
+  /// @function xpc_transaction_end
+  /// Informs the XPC runtime that a transaction has ended.
+  ///
+  /// @discussion
+  /// As described in {@link xpc_transaction_begin()}, this API may be used
+  /// interchangeably with vproc_transaction_end().
+  ///
+  /// See the discussion for {@link xpc_transaction_begin()} for details regarding
+  /// the XPC runtime's idle-exit policy.
+  void xpc_transaction_end() {
+    return _xpc_transaction_end();
+  }
+
+  late final _xpc_transaction_endPtr =
+      _lookup<ffi.NativeFunction<ffi.Void Function()>>('xpc_transaction_end');
+  late final _xpc_transaction_end =
+      _xpc_transaction_endPtr.asFunction<void Function()>();
+
+  void xpc_set_event_stream_handler(
+    ffi.Pointer<ffi.Char> stream,
+    dispatch_queue_t targetq,
+    xpc_handler_t handler,
+  ) {
+    return _xpc_set_event_stream_handler(
+      stream,
+      targetq,
+      handler,
+    );
+  }
+
+  late final _xpc_set_event_stream_handlerPtr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Char>, dispatch_queue_t,
+              xpc_handler_t)>>('xpc_set_event_stream_handler');
+  late final _xpc_set_event_stream_handler =
+      _xpc_set_event_stream_handlerPtr.asFunction<
+          void Function(
+              ffi.Pointer<ffi.Char>, dispatch_queue_t, xpc_handler_t)>();
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionItemsAndErrorsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSExtensionItemsAndErrorsKey');
+
+  ffi.Pointer<ObjCObject> get NSExtensionItemsAndErrorsKey =>
+      _NSExtensionItemsAndErrorsKey.value;
+
+  set NSExtensionItemsAndErrorsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionItemsAndErrorsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionHostWillEnterForegroundNotification =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSExtensionHostWillEnterForegroundNotification');
+
+  ffi.Pointer<ObjCObject> get NSExtensionHostWillEnterForegroundNotification =>
+      _NSExtensionHostWillEnterForegroundNotification.value;
+
+  set NSExtensionHostWillEnterForegroundNotification(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionHostWillEnterForegroundNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionHostDidEnterBackgroundNotification =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSExtensionHostDidEnterBackgroundNotification');
+
+  ffi.Pointer<ObjCObject> get NSExtensionHostDidEnterBackgroundNotification =>
+      _NSExtensionHostDidEnterBackgroundNotification.value;
+
+  set NSExtensionHostDidEnterBackgroundNotification(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionHostDidEnterBackgroundNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionHostWillResignActiveNotification =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSExtensionHostWillResignActiveNotification');
+
+  ffi.Pointer<ObjCObject> get NSExtensionHostWillResignActiveNotification =>
+      _NSExtensionHostWillResignActiveNotification.value;
+
+  set NSExtensionHostWillResignActiveNotification(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionHostWillResignActiveNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionHostDidBecomeActiveNotification =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSExtensionHostDidBecomeActiveNotification');
+
+  ffi.Pointer<ObjCObject> get NSExtensionHostDidBecomeActiveNotification =>
+      _NSExtensionHostDidBecomeActiveNotification.value;
+
+  set NSExtensionHostDidBecomeActiveNotification(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionHostDidBecomeActiveNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionItemAttributedTitleKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSExtensionItemAttributedTitleKey');
+
+  ffi.Pointer<ObjCObject> get NSExtensionItemAttributedTitleKey =>
+      _NSExtensionItemAttributedTitleKey.value;
+
+  set NSExtensionItemAttributedTitleKey(ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionItemAttributedTitleKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionItemAttributedContentTextKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSExtensionItemAttributedContentTextKey');
+
+  ffi.Pointer<ObjCObject> get NSExtensionItemAttributedContentTextKey =>
+      _NSExtensionItemAttributedContentTextKey.value;
+
+  set NSExtensionItemAttributedContentTextKey(ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionItemAttributedContentTextKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSExtensionItemAttachmentsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSExtensionItemAttachmentsKey');
+
+  ffi.Pointer<ObjCObject> get NSExtensionItemAttachmentsKey =>
+      _NSExtensionItemAttachmentsKey.value;
+
+  set NSExtensionItemAttachmentsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSExtensionItemAttachmentsKey.value = value;
+
+  late final ffi.Pointer<NSLinguisticTagScheme>
+      _NSLinguisticTagSchemeTokenType =
+      _lookup<NSLinguisticTagScheme>('NSLinguisticTagSchemeTokenType');
+
+  NSLinguisticTagScheme get NSLinguisticTagSchemeTokenType =>
+      _NSLinguisticTagSchemeTokenType.value;
+
+  set NSLinguisticTagSchemeTokenType(NSLinguisticTagScheme value) =>
+      _NSLinguisticTagSchemeTokenType.value = value;
+
+  late final ffi.Pointer<NSLinguisticTagScheme>
+      _NSLinguisticTagSchemeLexicalClass =
+      _lookup<NSLinguisticTagScheme>('NSLinguisticTagSchemeLexicalClass');
+
+  NSLinguisticTagScheme get NSLinguisticTagSchemeLexicalClass =>
+      _NSLinguisticTagSchemeLexicalClass.value;
+
+  set NSLinguisticTagSchemeLexicalClass(NSLinguisticTagScheme value) =>
+      _NSLinguisticTagSchemeLexicalClass.value = value;
+
+  late final ffi.Pointer<NSLinguisticTagScheme> _NSLinguisticTagSchemeNameType =
+      _lookup<NSLinguisticTagScheme>('NSLinguisticTagSchemeNameType');
+
+  NSLinguisticTagScheme get NSLinguisticTagSchemeNameType =>
+      _NSLinguisticTagSchemeNameType.value;
+
+  set NSLinguisticTagSchemeNameType(NSLinguisticTagScheme value) =>
+      _NSLinguisticTagSchemeNameType.value = value;
+
+  late final ffi.Pointer<NSLinguisticTagScheme>
+      _NSLinguisticTagSchemeNameTypeOrLexicalClass =
+      _lookup<NSLinguisticTagScheme>(
+          'NSLinguisticTagSchemeNameTypeOrLexicalClass');
+
+  NSLinguisticTagScheme get NSLinguisticTagSchemeNameTypeOrLexicalClass =>
+      _NSLinguisticTagSchemeNameTypeOrLexicalClass.value;
+
+  set NSLinguisticTagSchemeNameTypeOrLexicalClass(
+          NSLinguisticTagScheme value) =>
+      _NSLinguisticTagSchemeNameTypeOrLexicalClass.value = value;
+
+  late final ffi.Pointer<NSLinguisticTagScheme> _NSLinguisticTagSchemeLemma =
+      _lookup<NSLinguisticTagScheme>('NSLinguisticTagSchemeLemma');
+
+  NSLinguisticTagScheme get NSLinguisticTagSchemeLemma =>
+      _NSLinguisticTagSchemeLemma.value;
+
+  set NSLinguisticTagSchemeLemma(NSLinguisticTagScheme value) =>
+      _NSLinguisticTagSchemeLemma.value = value;
+
+  late final ffi.Pointer<NSLinguisticTagScheme> _NSLinguisticTagSchemeLanguage =
+      _lookup<NSLinguisticTagScheme>('NSLinguisticTagSchemeLanguage');
+
+  NSLinguisticTagScheme get NSLinguisticTagSchemeLanguage =>
+      _NSLinguisticTagSchemeLanguage.value;
+
+  set NSLinguisticTagSchemeLanguage(NSLinguisticTagScheme value) =>
+      _NSLinguisticTagSchemeLanguage.value = value;
+
+  late final ffi.Pointer<NSLinguisticTagScheme> _NSLinguisticTagSchemeScript =
+      _lookup<NSLinguisticTagScheme>('NSLinguisticTagSchemeScript');
+
+  NSLinguisticTagScheme get NSLinguisticTagSchemeScript =>
+      _NSLinguisticTagSchemeScript.value;
+
+  set NSLinguisticTagSchemeScript(NSLinguisticTagScheme value) =>
+      _NSLinguisticTagSchemeScript.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagWord =
+      _lookup<NSLinguisticTag>('NSLinguisticTagWord');
+
+  NSLinguisticTag get NSLinguisticTagWord => _NSLinguisticTagWord.value;
+
+  set NSLinguisticTagWord(NSLinguisticTag value) =>
+      _NSLinguisticTagWord.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagPunctuation =
+      _lookup<NSLinguisticTag>('NSLinguisticTagPunctuation');
+
+  NSLinguisticTag get NSLinguisticTagPunctuation =>
+      _NSLinguisticTagPunctuation.value;
+
+  set NSLinguisticTagPunctuation(NSLinguisticTag value) =>
+      _NSLinguisticTagPunctuation.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagWhitespace =
+      _lookup<NSLinguisticTag>('NSLinguisticTagWhitespace');
+
+  NSLinguisticTag get NSLinguisticTagWhitespace =>
+      _NSLinguisticTagWhitespace.value;
+
+  set NSLinguisticTagWhitespace(NSLinguisticTag value) =>
+      _NSLinguisticTagWhitespace.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagOther =
+      _lookup<NSLinguisticTag>('NSLinguisticTagOther');
+
+  NSLinguisticTag get NSLinguisticTagOther => _NSLinguisticTagOther.value;
+
+  set NSLinguisticTagOther(NSLinguisticTag value) =>
+      _NSLinguisticTagOther.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagNoun =
+      _lookup<NSLinguisticTag>('NSLinguisticTagNoun');
+
+  NSLinguisticTag get NSLinguisticTagNoun => _NSLinguisticTagNoun.value;
+
+  set NSLinguisticTagNoun(NSLinguisticTag value) =>
+      _NSLinguisticTagNoun.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagVerb =
+      _lookup<NSLinguisticTag>('NSLinguisticTagVerb');
+
+  NSLinguisticTag get NSLinguisticTagVerb => _NSLinguisticTagVerb.value;
+
+  set NSLinguisticTagVerb(NSLinguisticTag value) =>
+      _NSLinguisticTagVerb.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagAdjective =
+      _lookup<NSLinguisticTag>('NSLinguisticTagAdjective');
+
+  NSLinguisticTag get NSLinguisticTagAdjective =>
+      _NSLinguisticTagAdjective.value;
+
+  set NSLinguisticTagAdjective(NSLinguisticTag value) =>
+      _NSLinguisticTagAdjective.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagAdverb =
+      _lookup<NSLinguisticTag>('NSLinguisticTagAdverb');
+
+  NSLinguisticTag get NSLinguisticTagAdverb => _NSLinguisticTagAdverb.value;
+
+  set NSLinguisticTagAdverb(NSLinguisticTag value) =>
+      _NSLinguisticTagAdverb.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagPronoun =
+      _lookup<NSLinguisticTag>('NSLinguisticTagPronoun');
+
+  NSLinguisticTag get NSLinguisticTagPronoun => _NSLinguisticTagPronoun.value;
+
+  set NSLinguisticTagPronoun(NSLinguisticTag value) =>
+      _NSLinguisticTagPronoun.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagDeterminer =
+      _lookup<NSLinguisticTag>('NSLinguisticTagDeterminer');
+
+  NSLinguisticTag get NSLinguisticTagDeterminer =>
+      _NSLinguisticTagDeterminer.value;
+
+  set NSLinguisticTagDeterminer(NSLinguisticTag value) =>
+      _NSLinguisticTagDeterminer.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagParticle =
+      _lookup<NSLinguisticTag>('NSLinguisticTagParticle');
+
+  NSLinguisticTag get NSLinguisticTagParticle => _NSLinguisticTagParticle.value;
+
+  set NSLinguisticTagParticle(NSLinguisticTag value) =>
+      _NSLinguisticTagParticle.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagPreposition =
+      _lookup<NSLinguisticTag>('NSLinguisticTagPreposition');
+
+  NSLinguisticTag get NSLinguisticTagPreposition =>
+      _NSLinguisticTagPreposition.value;
+
+  set NSLinguisticTagPreposition(NSLinguisticTag value) =>
+      _NSLinguisticTagPreposition.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagNumber =
+      _lookup<NSLinguisticTag>('NSLinguisticTagNumber');
+
+  NSLinguisticTag get NSLinguisticTagNumber => _NSLinguisticTagNumber.value;
+
+  set NSLinguisticTagNumber(NSLinguisticTag value) =>
+      _NSLinguisticTagNumber.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagConjunction =
+      _lookup<NSLinguisticTag>('NSLinguisticTagConjunction');
+
+  NSLinguisticTag get NSLinguisticTagConjunction =>
+      _NSLinguisticTagConjunction.value;
+
+  set NSLinguisticTagConjunction(NSLinguisticTag value) =>
+      _NSLinguisticTagConjunction.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagInterjection =
+      _lookup<NSLinguisticTag>('NSLinguisticTagInterjection');
+
+  NSLinguisticTag get NSLinguisticTagInterjection =>
+      _NSLinguisticTagInterjection.value;
+
+  set NSLinguisticTagInterjection(NSLinguisticTag value) =>
+      _NSLinguisticTagInterjection.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagClassifier =
+      _lookup<NSLinguisticTag>('NSLinguisticTagClassifier');
+
+  NSLinguisticTag get NSLinguisticTagClassifier =>
+      _NSLinguisticTagClassifier.value;
+
+  set NSLinguisticTagClassifier(NSLinguisticTag value) =>
+      _NSLinguisticTagClassifier.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagIdiom =
+      _lookup<NSLinguisticTag>('NSLinguisticTagIdiom');
+
+  NSLinguisticTag get NSLinguisticTagIdiom => _NSLinguisticTagIdiom.value;
+
+  set NSLinguisticTagIdiom(NSLinguisticTag value) =>
+      _NSLinguisticTagIdiom.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagOtherWord =
+      _lookup<NSLinguisticTag>('NSLinguisticTagOtherWord');
+
+  NSLinguisticTag get NSLinguisticTagOtherWord =>
+      _NSLinguisticTagOtherWord.value;
+
+  set NSLinguisticTagOtherWord(NSLinguisticTag value) =>
+      _NSLinguisticTagOtherWord.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagSentenceTerminator =
+      _lookup<NSLinguisticTag>('NSLinguisticTagSentenceTerminator');
+
+  NSLinguisticTag get NSLinguisticTagSentenceTerminator =>
+      _NSLinguisticTagSentenceTerminator.value;
+
+  set NSLinguisticTagSentenceTerminator(NSLinguisticTag value) =>
+      _NSLinguisticTagSentenceTerminator.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagOpenQuote =
+      _lookup<NSLinguisticTag>('NSLinguisticTagOpenQuote');
+
+  NSLinguisticTag get NSLinguisticTagOpenQuote =>
+      _NSLinguisticTagOpenQuote.value;
+
+  set NSLinguisticTagOpenQuote(NSLinguisticTag value) =>
+      _NSLinguisticTagOpenQuote.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagCloseQuote =
+      _lookup<NSLinguisticTag>('NSLinguisticTagCloseQuote');
+
+  NSLinguisticTag get NSLinguisticTagCloseQuote =>
+      _NSLinguisticTagCloseQuote.value;
+
+  set NSLinguisticTagCloseQuote(NSLinguisticTag value) =>
+      _NSLinguisticTagCloseQuote.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagOpenParenthesis =
+      _lookup<NSLinguisticTag>('NSLinguisticTagOpenParenthesis');
+
+  NSLinguisticTag get NSLinguisticTagOpenParenthesis =>
+      _NSLinguisticTagOpenParenthesis.value;
+
+  set NSLinguisticTagOpenParenthesis(NSLinguisticTag value) =>
+      _NSLinguisticTagOpenParenthesis.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagCloseParenthesis =
+      _lookup<NSLinguisticTag>('NSLinguisticTagCloseParenthesis');
+
+  NSLinguisticTag get NSLinguisticTagCloseParenthesis =>
+      _NSLinguisticTagCloseParenthesis.value;
+
+  set NSLinguisticTagCloseParenthesis(NSLinguisticTag value) =>
+      _NSLinguisticTagCloseParenthesis.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagWordJoiner =
+      _lookup<NSLinguisticTag>('NSLinguisticTagWordJoiner');
+
+  NSLinguisticTag get NSLinguisticTagWordJoiner =>
+      _NSLinguisticTagWordJoiner.value;
+
+  set NSLinguisticTagWordJoiner(NSLinguisticTag value) =>
+      _NSLinguisticTagWordJoiner.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagDash =
+      _lookup<NSLinguisticTag>('NSLinguisticTagDash');
+
+  NSLinguisticTag get NSLinguisticTagDash => _NSLinguisticTagDash.value;
+
+  set NSLinguisticTagDash(NSLinguisticTag value) =>
+      _NSLinguisticTagDash.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagOtherPunctuation =
+      _lookup<NSLinguisticTag>('NSLinguisticTagOtherPunctuation');
+
+  NSLinguisticTag get NSLinguisticTagOtherPunctuation =>
+      _NSLinguisticTagOtherPunctuation.value;
+
+  set NSLinguisticTagOtherPunctuation(NSLinguisticTag value) =>
+      _NSLinguisticTagOtherPunctuation.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagParagraphBreak =
+      _lookup<NSLinguisticTag>('NSLinguisticTagParagraphBreak');
+
+  NSLinguisticTag get NSLinguisticTagParagraphBreak =>
+      _NSLinguisticTagParagraphBreak.value;
+
+  set NSLinguisticTagParagraphBreak(NSLinguisticTag value) =>
+      _NSLinguisticTagParagraphBreak.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagOtherWhitespace =
+      _lookup<NSLinguisticTag>('NSLinguisticTagOtherWhitespace');
+
+  NSLinguisticTag get NSLinguisticTagOtherWhitespace =>
+      _NSLinguisticTagOtherWhitespace.value;
+
+  set NSLinguisticTagOtherWhitespace(NSLinguisticTag value) =>
+      _NSLinguisticTagOtherWhitespace.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagPersonalName =
+      _lookup<NSLinguisticTag>('NSLinguisticTagPersonalName');
+
+  NSLinguisticTag get NSLinguisticTagPersonalName =>
+      _NSLinguisticTagPersonalName.value;
+
+  set NSLinguisticTagPersonalName(NSLinguisticTag value) =>
+      _NSLinguisticTagPersonalName.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagPlaceName =
+      _lookup<NSLinguisticTag>('NSLinguisticTagPlaceName');
+
+  NSLinguisticTag get NSLinguisticTagPlaceName =>
+      _NSLinguisticTagPlaceName.value;
+
+  set NSLinguisticTagPlaceName(NSLinguisticTag value) =>
+      _NSLinguisticTagPlaceName.value = value;
+
+  late final ffi.Pointer<NSLinguisticTag> _NSLinguisticTagOrganizationName =
+      _lookup<NSLinguisticTag>('NSLinguisticTagOrganizationName');
+
+  NSLinguisticTag get NSLinguisticTagOrganizationName =>
+      _NSLinguisticTagOrganizationName.value;
+
+  set NSLinguisticTagOrganizationName(NSLinguisticTag value) =>
+      _NSLinguisticTagOrganizationName.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemFSNameKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFSNameKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFSNameKey =>
+      _NSMetadataItemFSNameKey.value;
+
+  set NSMetadataItemFSNameKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFSNameKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemDisplayNameKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDisplayNameKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDisplayNameKey =>
+      _NSMetadataItemDisplayNameKey.value;
+
+  set NSMetadataItemDisplayNameKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDisplayNameKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemURLKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemURLKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemURLKey =>
+      _NSMetadataItemURLKey.value;
+
+  set NSMetadataItemURLKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemURLKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemPathKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPathKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPathKey =>
+      _NSMetadataItemPathKey.value;
+
+  set NSMetadataItemPathKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPathKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemFSSizeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFSSizeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFSSizeKey =>
+      _NSMetadataItemFSSizeKey.value;
+
+  set NSMetadataItemFSSizeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFSSizeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemFSCreationDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFSCreationDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFSCreationDateKey =>
+      _NSMetadataItemFSCreationDateKey.value;
+
+  set NSMetadataItemFSCreationDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFSCreationDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemFSContentChangeDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFSContentChangeDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFSContentChangeDateKey =>
+      _NSMetadataItemFSContentChangeDateKey.value;
+
+  set NSMetadataItemFSContentChangeDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFSContentChangeDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemContentTypeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemContentTypeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemContentTypeKey =>
+      _NSMetadataItemContentTypeKey.value;
+
+  set NSMetadataItemContentTypeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemContentTypeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemContentTypeTreeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemContentTypeTreeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemContentTypeTreeKey =>
+      _NSMetadataItemContentTypeTreeKey.value;
+
+  set NSMetadataItemContentTypeTreeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemContentTypeTreeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemIsUbiquitousKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemIsUbiquitousKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemIsUbiquitousKey =>
+      _NSMetadataItemIsUbiquitousKey.value;
+
+  set NSMetadataItemIsUbiquitousKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemIsUbiquitousKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemHasUnresolvedConflictsKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemHasUnresolvedConflictsKey');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousItemHasUnresolvedConflictsKey =>
+          _NSMetadataUbiquitousItemHasUnresolvedConflictsKey.value;
+
+  set NSMetadataUbiquitousItemHasUnresolvedConflictsKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemHasUnresolvedConflictsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemIsDownloadedKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemIsDownloadedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemIsDownloadedKey =>
+      _NSMetadataUbiquitousItemIsDownloadedKey.value;
+
+  set NSMetadataUbiquitousItemIsDownloadedKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemIsDownloadedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemDownloadingStatusKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemDownloadingStatusKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemDownloadingStatusKey =>
+      _NSMetadataUbiquitousItemDownloadingStatusKey.value;
+
+  set NSMetadataUbiquitousItemDownloadingStatusKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemDownloadingStatusKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemDownloadingStatusNotDownloaded =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemDownloadingStatusNotDownloaded');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousItemDownloadingStatusNotDownloaded =>
+          _NSMetadataUbiquitousItemDownloadingStatusNotDownloaded.value;
+
+  set NSMetadataUbiquitousItemDownloadingStatusNotDownloaded(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemDownloadingStatusNotDownloaded.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemDownloadingStatusDownloaded =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemDownloadingStatusDownloaded');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousItemDownloadingStatusDownloaded =>
+          _NSMetadataUbiquitousItemDownloadingStatusDownloaded.value;
+
+  set NSMetadataUbiquitousItemDownloadingStatusDownloaded(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemDownloadingStatusDownloaded.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemDownloadingStatusCurrent =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemDownloadingStatusCurrent');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousItemDownloadingStatusCurrent =>
+          _NSMetadataUbiquitousItemDownloadingStatusCurrent.value;
+
+  set NSMetadataUbiquitousItemDownloadingStatusCurrent(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemDownloadingStatusCurrent.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemIsDownloadingKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemIsDownloadingKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemIsDownloadingKey =>
+      _NSMetadataUbiquitousItemIsDownloadingKey.value;
+
+  set NSMetadataUbiquitousItemIsDownloadingKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemIsDownloadingKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemIsUploadedKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataUbiquitousItemIsUploadedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemIsUploadedKey =>
+      _NSMetadataUbiquitousItemIsUploadedKey.value;
+
+  set NSMetadataUbiquitousItemIsUploadedKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemIsUploadedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemIsUploadingKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemIsUploadingKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemIsUploadingKey =>
+      _NSMetadataUbiquitousItemIsUploadingKey.value;
+
+  set NSMetadataUbiquitousItemIsUploadingKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemIsUploadingKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemPercentDownloadedKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemPercentDownloadedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemPercentDownloadedKey =>
+      _NSMetadataUbiquitousItemPercentDownloadedKey.value;
+
+  set NSMetadataUbiquitousItemPercentDownloadedKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemPercentDownloadedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemPercentUploadedKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemPercentUploadedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemPercentUploadedKey =>
+      _NSMetadataUbiquitousItemPercentUploadedKey.value;
+
+  set NSMetadataUbiquitousItemPercentUploadedKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemPercentUploadedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemDownloadingErrorKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemDownloadingErrorKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemDownloadingErrorKey =>
+      _NSMetadataUbiquitousItemDownloadingErrorKey.value;
+
+  set NSMetadataUbiquitousItemDownloadingErrorKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemDownloadingErrorKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemUploadingErrorKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemUploadingErrorKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemUploadingErrorKey =>
+      _NSMetadataUbiquitousItemUploadingErrorKey.value;
+
+  set NSMetadataUbiquitousItemUploadingErrorKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemUploadingErrorKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemDownloadRequestedKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemDownloadRequestedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemDownloadRequestedKey =>
+      _NSMetadataUbiquitousItemDownloadRequestedKey.value;
+
+  set NSMetadataUbiquitousItemDownloadRequestedKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemDownloadRequestedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemIsExternalDocumentKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemIsExternalDocumentKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemIsExternalDocumentKey =>
+      _NSMetadataUbiquitousItemIsExternalDocumentKey.value;
+
+  set NSMetadataUbiquitousItemIsExternalDocumentKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemIsExternalDocumentKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemContainerDisplayNameKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemContainerDisplayNameKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemContainerDisplayNameKey =>
+      _NSMetadataUbiquitousItemContainerDisplayNameKey.value;
+
+  set NSMetadataUbiquitousItemContainerDisplayNameKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemContainerDisplayNameKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemURLInLocalContainerKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousItemURLInLocalContainerKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemURLInLocalContainerKey =>
+      _NSMetadataUbiquitousItemURLInLocalContainerKey.value;
+
+  set NSMetadataUbiquitousItemURLInLocalContainerKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemURLInLocalContainerKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousItemIsSharedKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataUbiquitousItemIsSharedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousItemIsSharedKey =>
+      _NSMetadataUbiquitousItemIsSharedKey.value;
+
+  set NSMetadataUbiquitousItemIsSharedKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousItemIsSharedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemCurrentUserRoleKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemCurrentUserRoleKey');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousSharedItemCurrentUserRoleKey =>
+          _NSMetadataUbiquitousSharedItemCurrentUserRoleKey.value;
+
+  set NSMetadataUbiquitousSharedItemCurrentUserRoleKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemCurrentUserRoleKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey =>
+          _NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey.value;
+
+  set NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemOwnerNameComponentsKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemOwnerNameComponentsKey');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousSharedItemOwnerNameComponentsKey =>
+          _NSMetadataUbiquitousSharedItemOwnerNameComponentsKey.value;
+
+  set NSMetadataUbiquitousSharedItemOwnerNameComponentsKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemOwnerNameComponentsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey =>
+          _NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey
+              .value;
+
+  set NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey.value =
+          value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemRoleOwner =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemRoleOwner');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousSharedItemRoleOwner =>
+      _NSMetadataUbiquitousSharedItemRoleOwner.value;
+
+  set NSMetadataUbiquitousSharedItemRoleOwner(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemRoleOwner.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemRoleParticipant =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemRoleParticipant');
+
+  ffi.Pointer<ObjCObject> get NSMetadataUbiquitousSharedItemRoleParticipant =>
+      _NSMetadataUbiquitousSharedItemRoleParticipant.value;
+
+  set NSMetadataUbiquitousSharedItemRoleParticipant(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemRoleParticipant.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemPermissionsReadOnly =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemPermissionsReadOnly');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousSharedItemPermissionsReadOnly =>
+          _NSMetadataUbiquitousSharedItemPermissionsReadOnly.value;
+
+  set NSMetadataUbiquitousSharedItemPermissionsReadOnly(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemPermissionsReadOnly.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataUbiquitousSharedItemPermissionsReadWrite =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataUbiquitousSharedItemPermissionsReadWrite');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataUbiquitousSharedItemPermissionsReadWrite =>
+          _NSMetadataUbiquitousSharedItemPermissionsReadWrite.value;
+
+  set NSMetadataUbiquitousSharedItemPermissionsReadWrite(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataUbiquitousSharedItemPermissionsReadWrite.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAttributeChangeDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAttributeChangeDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAttributeChangeDateKey =>
+      _NSMetadataItemAttributeChangeDateKey.value;
+
+  set NSMetadataItemAttributeChangeDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAttributeChangeDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemKeywordsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemKeywordsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemKeywordsKey =>
+      _NSMetadataItemKeywordsKey.value;
+
+  set NSMetadataItemKeywordsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemKeywordsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemTitleKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemTitleKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemTitleKey =>
+      _NSMetadataItemTitleKey.value;
+
+  set NSMetadataItemTitleKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemTitleKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemAuthorsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAuthorsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAuthorsKey =>
+      _NSMetadataItemAuthorsKey.value;
+
+  set NSMetadataItemAuthorsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAuthorsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemEditorsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemEditorsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemEditorsKey =>
+      _NSMetadataItemEditorsKey.value;
+
+  set NSMetadataItemEditorsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemEditorsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemParticipantsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemParticipantsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemParticipantsKey =>
+      _NSMetadataItemParticipantsKey.value;
+
+  set NSMetadataItemParticipantsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemParticipantsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemProjectsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemProjectsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemProjectsKey =>
+      _NSMetadataItemProjectsKey.value;
+
+  set NSMetadataItemProjectsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemProjectsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemDownloadedDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDownloadedDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDownloadedDateKey =>
+      _NSMetadataItemDownloadedDateKey.value;
+
+  set NSMetadataItemDownloadedDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDownloadedDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemWhereFromsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemWhereFromsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemWhereFromsKey =>
+      _NSMetadataItemWhereFromsKey.value;
+
+  set NSMetadataItemWhereFromsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemWhereFromsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemCommentKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCommentKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCommentKey =>
+      _NSMetadataItemCommentKey.value;
+
+  set NSMetadataItemCommentKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCommentKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemCopyrightKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCopyrightKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCopyrightKey =>
+      _NSMetadataItemCopyrightKey.value;
+
+  set NSMetadataItemCopyrightKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCopyrightKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemLastUsedDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemLastUsedDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemLastUsedDateKey =>
+      _NSMetadataItemLastUsedDateKey.value;
+
+  set NSMetadataItemLastUsedDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemLastUsedDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemContentCreationDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemContentCreationDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemContentCreationDateKey =>
+      _NSMetadataItemContentCreationDateKey.value;
+
+  set NSMetadataItemContentCreationDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemContentCreationDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemContentModificationDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemContentModificationDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemContentModificationDateKey =>
+      _NSMetadataItemContentModificationDateKey.value;
+
+  set NSMetadataItemContentModificationDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemContentModificationDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemDateAddedKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDateAddedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDateAddedKey =>
+      _NSMetadataItemDateAddedKey.value;
+
+  set NSMetadataItemDateAddedKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDateAddedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemDurationSecondsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDurationSecondsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDurationSecondsKey =>
+      _NSMetadataItemDurationSecondsKey.value;
+
+  set NSMetadataItemDurationSecondsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDurationSecondsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemContactKeywordsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemContactKeywordsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemContactKeywordsKey =>
+      _NSMetadataItemContactKeywordsKey.value;
+
+  set NSMetadataItemContactKeywordsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemContactKeywordsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemVersionKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemVersionKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemVersionKey =>
+      _NSMetadataItemVersionKey.value;
+
+  set NSMetadataItemVersionKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemVersionKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemPixelHeightKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPixelHeightKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPixelHeightKey =>
+      _NSMetadataItemPixelHeightKey.value;
+
+  set NSMetadataItemPixelHeightKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPixelHeightKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemPixelWidthKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPixelWidthKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPixelWidthKey =>
+      _NSMetadataItemPixelWidthKey.value;
+
+  set NSMetadataItemPixelWidthKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPixelWidthKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemPixelCountKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPixelCountKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPixelCountKey =>
+      _NSMetadataItemPixelCountKey.value;
+
+  set NSMetadataItemPixelCountKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPixelCountKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemColorSpaceKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemColorSpaceKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemColorSpaceKey =>
+      _NSMetadataItemColorSpaceKey.value;
+
+  set NSMetadataItemColorSpaceKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemColorSpaceKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemBitsPerSampleKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemBitsPerSampleKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemBitsPerSampleKey =>
+      _NSMetadataItemBitsPerSampleKey.value;
+
+  set NSMetadataItemBitsPerSampleKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemBitsPerSampleKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemFlashOnOffKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFlashOnOffKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFlashOnOffKey =>
+      _NSMetadataItemFlashOnOffKey.value;
+
+  set NSMetadataItemFlashOnOffKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFlashOnOffKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemFocalLengthKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFocalLengthKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFocalLengthKey =>
+      _NSMetadataItemFocalLengthKey.value;
+
+  set NSMetadataItemFocalLengthKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFocalLengthKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAcquisitionMakeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAcquisitionMakeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAcquisitionMakeKey =>
+      _NSMetadataItemAcquisitionMakeKey.value;
+
+  set NSMetadataItemAcquisitionMakeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAcquisitionMakeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAcquisitionModelKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAcquisitionModelKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAcquisitionModelKey =>
+      _NSMetadataItemAcquisitionModelKey.value;
+
+  set NSMetadataItemAcquisitionModelKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAcquisitionModelKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemISOSpeedKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemISOSpeedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemISOSpeedKey =>
+      _NSMetadataItemISOSpeedKey.value;
+
+  set NSMetadataItemISOSpeedKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemISOSpeedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemOrientationKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemOrientationKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemOrientationKey =>
+      _NSMetadataItemOrientationKey.value;
+
+  set NSMetadataItemOrientationKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemOrientationKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemLayerNamesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemLayerNamesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemLayerNamesKey =>
+      _NSMetadataItemLayerNamesKey.value;
+
+  set NSMetadataItemLayerNamesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemLayerNamesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemWhiteBalanceKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemWhiteBalanceKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemWhiteBalanceKey =>
+      _NSMetadataItemWhiteBalanceKey.value;
+
+  set NSMetadataItemWhiteBalanceKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemWhiteBalanceKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemApertureKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemApertureKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemApertureKey =>
+      _NSMetadataItemApertureKey.value;
+
+  set NSMetadataItemApertureKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemApertureKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemProfileNameKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemProfileNameKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemProfileNameKey =>
+      _NSMetadataItemProfileNameKey.value;
+
+  set NSMetadataItemProfileNameKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemProfileNameKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemResolutionWidthDPIKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemResolutionWidthDPIKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemResolutionWidthDPIKey =>
+      _NSMetadataItemResolutionWidthDPIKey.value;
+
+  set NSMetadataItemResolutionWidthDPIKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemResolutionWidthDPIKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemResolutionHeightDPIKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemResolutionHeightDPIKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemResolutionHeightDPIKey =>
+      _NSMetadataItemResolutionHeightDPIKey.value;
+
+  set NSMetadataItemResolutionHeightDPIKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemResolutionHeightDPIKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemExposureModeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemExposureModeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemExposureModeKey =>
+      _NSMetadataItemExposureModeKey.value;
+
+  set NSMetadataItemExposureModeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemExposureModeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemExposureTimeSecondsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemExposureTimeSecondsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemExposureTimeSecondsKey =>
+      _NSMetadataItemExposureTimeSecondsKey.value;
+
+  set NSMetadataItemExposureTimeSecondsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemExposureTimeSecondsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemEXIFVersionKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemEXIFVersionKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemEXIFVersionKey =>
+      _NSMetadataItemEXIFVersionKey.value;
+
+  set NSMetadataItemEXIFVersionKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemEXIFVersionKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemCameraOwnerKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCameraOwnerKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCameraOwnerKey =>
+      _NSMetadataItemCameraOwnerKey.value;
+
+  set NSMetadataItemCameraOwnerKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCameraOwnerKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemFocalLength35mmKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFocalLength35mmKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFocalLength35mmKey =>
+      _NSMetadataItemFocalLength35mmKey.value;
+
+  set NSMetadataItemFocalLength35mmKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFocalLength35mmKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemLensModelKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemLensModelKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemLensModelKey =>
+      _NSMetadataItemLensModelKey.value;
+
+  set NSMetadataItemLensModelKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemLensModelKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemEXIFGPSVersionKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemEXIFGPSVersionKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemEXIFGPSVersionKey =>
+      _NSMetadataItemEXIFGPSVersionKey.value;
+
+  set NSMetadataItemEXIFGPSVersionKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemEXIFGPSVersionKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemAltitudeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAltitudeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAltitudeKey =>
+      _NSMetadataItemAltitudeKey.value;
+
+  set NSMetadataItemAltitudeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAltitudeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemLatitudeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemLatitudeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemLatitudeKey =>
+      _NSMetadataItemLatitudeKey.value;
+
+  set NSMetadataItemLatitudeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemLatitudeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemLongitudeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemLongitudeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemLongitudeKey =>
+      _NSMetadataItemLongitudeKey.value;
+
+  set NSMetadataItemLongitudeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemLongitudeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemSpeedKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemSpeedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemSpeedKey =>
+      _NSMetadataItemSpeedKey.value;
+
+  set NSMetadataItemSpeedKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemSpeedKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemTimestampKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemTimestampKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemTimestampKey =>
+      _NSMetadataItemTimestampKey.value;
+
+  set NSMetadataItemTimestampKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemTimestampKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemGPSTrackKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSTrackKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSTrackKey =>
+      _NSMetadataItemGPSTrackKey.value;
+
+  set NSMetadataItemGPSTrackKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSTrackKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemImageDirectionKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemImageDirectionKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemImageDirectionKey =>
+      _NSMetadataItemImageDirectionKey.value;
+
+  set NSMetadataItemImageDirectionKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemImageDirectionKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemNamedLocationKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemNamedLocationKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemNamedLocationKey =>
+      _NSMetadataItemNamedLocationKey.value;
+
+  set NSMetadataItemNamedLocationKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemNamedLocationKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemGPSStatusKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSStatusKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSStatusKey =>
+      _NSMetadataItemGPSStatusKey.value;
+
+  set NSMetadataItemGPSStatusKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSStatusKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSMeasureModeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSMeasureModeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSMeasureModeKey =>
+      _NSMetadataItemGPSMeasureModeKey.value;
+
+  set NSMetadataItemGPSMeasureModeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSMeasureModeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemGPSDOPKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSDOPKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSDOPKey =>
+      _NSMetadataItemGPSDOPKey.value;
+
+  set NSMetadataItemGPSDOPKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSDOPKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSMapDatumKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSMapDatumKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSMapDatumKey =>
+      _NSMetadataItemGPSMapDatumKey.value;
+
+  set NSMetadataItemGPSMapDatumKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSMapDatumKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSDestLatitudeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSDestLatitudeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSDestLatitudeKey =>
+      _NSMetadataItemGPSDestLatitudeKey.value;
+
+  set NSMetadataItemGPSDestLatitudeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSDestLatitudeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSDestLongitudeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSDestLongitudeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSDestLongitudeKey =>
+      _NSMetadataItemGPSDestLongitudeKey.value;
+
+  set NSMetadataItemGPSDestLongitudeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSDestLongitudeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSDestBearingKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSDestBearingKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSDestBearingKey =>
+      _NSMetadataItemGPSDestBearingKey.value;
+
+  set NSMetadataItemGPSDestBearingKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSDestBearingKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSDestDistanceKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSDestDistanceKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSDestDistanceKey =>
+      _NSMetadataItemGPSDestDistanceKey.value;
+
+  set NSMetadataItemGPSDestDistanceKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSDestDistanceKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSProcessingMethodKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSProcessingMethodKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSProcessingMethodKey =>
+      _NSMetadataItemGPSProcessingMethodKey.value;
+
+  set NSMetadataItemGPSProcessingMethodKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSProcessingMethodKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSAreaInformationKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSAreaInformationKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSAreaInformationKey =>
+      _NSMetadataItemGPSAreaInformationKey.value;
+
+  set NSMetadataItemGPSAreaInformationKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSAreaInformationKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSDateStampKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSDateStampKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSDateStampKey =>
+      _NSMetadataItemGPSDateStampKey.value;
+
+  set NSMetadataItemGPSDateStampKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSDateStampKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemGPSDifferentalKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGPSDifferentalKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGPSDifferentalKey =>
+      _NSMetadataItemGPSDifferentalKey.value;
+
+  set NSMetadataItemGPSDifferentalKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGPSDifferentalKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemCodecsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCodecsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCodecsKey =>
+      _NSMetadataItemCodecsKey.value;
+
+  set NSMetadataItemCodecsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCodecsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemMediaTypesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemMediaTypesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemMediaTypesKey =>
+      _NSMetadataItemMediaTypesKey.value;
+
+  set NSMetadataItemMediaTypesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemMediaTypesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemStreamableKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemStreamableKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemStreamableKey =>
+      _NSMetadataItemStreamableKey.value;
+
+  set NSMetadataItemStreamableKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemStreamableKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemTotalBitRateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemTotalBitRateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemTotalBitRateKey =>
+      _NSMetadataItemTotalBitRateKey.value;
+
+  set NSMetadataItemTotalBitRateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemTotalBitRateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemVideoBitRateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemVideoBitRateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemVideoBitRateKey =>
+      _NSMetadataItemVideoBitRateKey.value;
+
+  set NSMetadataItemVideoBitRateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemVideoBitRateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAudioBitRateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAudioBitRateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAudioBitRateKey =>
+      _NSMetadataItemAudioBitRateKey.value;
+
+  set NSMetadataItemAudioBitRateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAudioBitRateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemDeliveryTypeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDeliveryTypeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDeliveryTypeKey =>
+      _NSMetadataItemDeliveryTypeKey.value;
+
+  set NSMetadataItemDeliveryTypeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDeliveryTypeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemAlbumKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAlbumKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAlbumKey =>
+      _NSMetadataItemAlbumKey.value;
+
+  set NSMetadataItemAlbumKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAlbumKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemHasAlphaChannelKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemHasAlphaChannelKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemHasAlphaChannelKey =>
+      _NSMetadataItemHasAlphaChannelKey.value;
+
+  set NSMetadataItemHasAlphaChannelKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemHasAlphaChannelKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemRedEyeOnOffKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemRedEyeOnOffKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemRedEyeOnOffKey =>
+      _NSMetadataItemRedEyeOnOffKey.value;
+
+  set NSMetadataItemRedEyeOnOffKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemRedEyeOnOffKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemMeteringModeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemMeteringModeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemMeteringModeKey =>
+      _NSMetadataItemMeteringModeKey.value;
+
+  set NSMetadataItemMeteringModeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemMeteringModeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemMaxApertureKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemMaxApertureKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemMaxApertureKey =>
+      _NSMetadataItemMaxApertureKey.value;
+
+  set NSMetadataItemMaxApertureKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemMaxApertureKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemFNumberKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFNumberKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFNumberKey =>
+      _NSMetadataItemFNumberKey.value;
+
+  set NSMetadataItemFNumberKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFNumberKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemExposureProgramKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemExposureProgramKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemExposureProgramKey =>
+      _NSMetadataItemExposureProgramKey.value;
+
+  set NSMetadataItemExposureProgramKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemExposureProgramKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemExposureTimeStringKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemExposureTimeStringKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemExposureTimeStringKey =>
+      _NSMetadataItemExposureTimeStringKey.value;
+
+  set NSMetadataItemExposureTimeStringKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemExposureTimeStringKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemHeadlineKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemHeadlineKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemHeadlineKey =>
+      _NSMetadataItemHeadlineKey.value;
+
+  set NSMetadataItemHeadlineKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemHeadlineKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemInstructionsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemInstructionsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemInstructionsKey =>
+      _NSMetadataItemInstructionsKey.value;
+
+  set NSMetadataItemInstructionsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemInstructionsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemCityKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCityKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCityKey =>
+      _NSMetadataItemCityKey.value;
+
+  set NSMetadataItemCityKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCityKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemStateOrProvinceKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemStateOrProvinceKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemStateOrProvinceKey =>
+      _NSMetadataItemStateOrProvinceKey.value;
+
+  set NSMetadataItemStateOrProvinceKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemStateOrProvinceKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemCountryKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCountryKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCountryKey =>
+      _NSMetadataItemCountryKey.value;
+
+  set NSMetadataItemCountryKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCountryKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemTextContentKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemTextContentKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemTextContentKey =>
+      _NSMetadataItemTextContentKey.value;
+
+  set NSMetadataItemTextContentKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemTextContentKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAudioSampleRateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAudioSampleRateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAudioSampleRateKey =>
+      _NSMetadataItemAudioSampleRateKey.value;
+
+  set NSMetadataItemAudioSampleRateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAudioSampleRateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAudioChannelCountKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAudioChannelCountKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAudioChannelCountKey =>
+      _NSMetadataItemAudioChannelCountKey.value;
+
+  set NSMetadataItemAudioChannelCountKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAudioChannelCountKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemTempoKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemTempoKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemTempoKey =>
+      _NSMetadataItemTempoKey.value;
+
+  set NSMetadataItemTempoKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemTempoKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemKeySignatureKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemKeySignatureKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemKeySignatureKey =>
+      _NSMetadataItemKeySignatureKey.value;
+
+  set NSMetadataItemKeySignatureKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemKeySignatureKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemTimeSignatureKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemTimeSignatureKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemTimeSignatureKey =>
+      _NSMetadataItemTimeSignatureKey.value;
+
+  set NSMetadataItemTimeSignatureKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemTimeSignatureKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAudioEncodingApplicationKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemAudioEncodingApplicationKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAudioEncodingApplicationKey =>
+      _NSMetadataItemAudioEncodingApplicationKey.value;
+
+  set NSMetadataItemAudioEncodingApplicationKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAudioEncodingApplicationKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemComposerKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemComposerKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemComposerKey =>
+      _NSMetadataItemComposerKey.value;
+
+  set NSMetadataItemComposerKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemComposerKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemLyricistKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemLyricistKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemLyricistKey =>
+      _NSMetadataItemLyricistKey.value;
+
+  set NSMetadataItemLyricistKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemLyricistKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAudioTrackNumberKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAudioTrackNumberKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAudioTrackNumberKey =>
+      _NSMetadataItemAudioTrackNumberKey.value;
+
+  set NSMetadataItemAudioTrackNumberKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAudioTrackNumberKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemRecordingDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemRecordingDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemRecordingDateKey =>
+      _NSMetadataItemRecordingDateKey.value;
+
+  set NSMetadataItemRecordingDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemRecordingDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemMusicalGenreKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemMusicalGenreKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemMusicalGenreKey =>
+      _NSMetadataItemMusicalGenreKey.value;
+
+  set NSMetadataItemMusicalGenreKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemMusicalGenreKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemIsGeneralMIDISequenceKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemIsGeneralMIDISequenceKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemIsGeneralMIDISequenceKey =>
+      _NSMetadataItemIsGeneralMIDISequenceKey.value;
+
+  set NSMetadataItemIsGeneralMIDISequenceKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemIsGeneralMIDISequenceKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemRecordingYearKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemRecordingYearKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemRecordingYearKey =>
+      _NSMetadataItemRecordingYearKey.value;
+
+  set NSMetadataItemRecordingYearKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemRecordingYearKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemOrganizationsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemOrganizationsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemOrganizationsKey =>
+      _NSMetadataItemOrganizationsKey.value;
+
+  set NSMetadataItemOrganizationsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemOrganizationsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemLanguagesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemLanguagesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemLanguagesKey =>
+      _NSMetadataItemLanguagesKey.value;
+
+  set NSMetadataItemLanguagesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemLanguagesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemRightsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemRightsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemRightsKey =>
+      _NSMetadataItemRightsKey.value;
+
+  set NSMetadataItemRightsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemRightsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemPublishersKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPublishersKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPublishersKey =>
+      _NSMetadataItemPublishersKey.value;
+
+  set NSMetadataItemPublishersKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPublishersKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemContributorsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemContributorsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemContributorsKey =>
+      _NSMetadataItemContributorsKey.value;
+
+  set NSMetadataItemContributorsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemContributorsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemCoverageKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCoverageKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCoverageKey =>
+      _NSMetadataItemCoverageKey.value;
+
+  set NSMetadataItemCoverageKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCoverageKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemSubjectKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemSubjectKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemSubjectKey =>
+      _NSMetadataItemSubjectKey.value;
+
+  set NSMetadataItemSubjectKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemSubjectKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemThemeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemThemeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemThemeKey =>
+      _NSMetadataItemThemeKey.value;
+
+  set NSMetadataItemThemeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemThemeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemDescriptionKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDescriptionKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDescriptionKey =>
+      _NSMetadataItemDescriptionKey.value;
+
+  set NSMetadataItemDescriptionKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDescriptionKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemIdentifierKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemIdentifierKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemIdentifierKey =>
+      _NSMetadataItemIdentifierKey.value;
+
+  set NSMetadataItemIdentifierKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemIdentifierKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemAudiencesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAudiencesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAudiencesKey =>
+      _NSMetadataItemAudiencesKey.value;
+
+  set NSMetadataItemAudiencesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAudiencesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemNumberOfPagesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemNumberOfPagesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemNumberOfPagesKey =>
+      _NSMetadataItemNumberOfPagesKey.value;
+
+  set NSMetadataItemNumberOfPagesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemNumberOfPagesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemPageWidthKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPageWidthKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPageWidthKey =>
+      _NSMetadataItemPageWidthKey.value;
+
+  set NSMetadataItemPageWidthKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPageWidthKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemPageHeightKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPageHeightKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPageHeightKey =>
+      _NSMetadataItemPageHeightKey.value;
+
+  set NSMetadataItemPageHeightKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPageHeightKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemSecurityMethodKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemSecurityMethodKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemSecurityMethodKey =>
+      _NSMetadataItemSecurityMethodKey.value;
+
+  set NSMetadataItemSecurityMethodKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemSecurityMethodKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemCreatorKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCreatorKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCreatorKey =>
+      _NSMetadataItemCreatorKey.value;
+
+  set NSMetadataItemCreatorKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCreatorKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemEncodingApplicationsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemEncodingApplicationsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemEncodingApplicationsKey =>
+      _NSMetadataItemEncodingApplicationsKey.value;
+
+  set NSMetadataItemEncodingApplicationsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemEncodingApplicationsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemDueDateKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDueDateKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDueDateKey =>
+      _NSMetadataItemDueDateKey.value;
+
+  set NSMetadataItemDueDateKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDueDateKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemStarRatingKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemStarRatingKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemStarRatingKey =>
+      _NSMetadataItemStarRatingKey.value;
+
+  set NSMetadataItemStarRatingKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemStarRatingKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemPhoneNumbersKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPhoneNumbersKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPhoneNumbersKey =>
+      _NSMetadataItemPhoneNumbersKey.value;
+
+  set NSMetadataItemPhoneNumbersKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPhoneNumbersKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemEmailAddressesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemEmailAddressesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemEmailAddressesKey =>
+      _NSMetadataItemEmailAddressesKey.value;
+
+  set NSMetadataItemEmailAddressesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemEmailAddressesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemInstantMessageAddressesKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemInstantMessageAddressesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemInstantMessageAddressesKey =>
+      _NSMetadataItemInstantMessageAddressesKey.value;
+
+  set NSMetadataItemInstantMessageAddressesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemInstantMessageAddressesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemKindKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemKindKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemKindKey =>
+      _NSMetadataItemKindKey.value;
+
+  set NSMetadataItemKindKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemKindKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemRecipientsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemRecipientsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemRecipientsKey =>
+      _NSMetadataItemRecipientsKey.value;
+
+  set NSMetadataItemRecipientsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemRecipientsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemFinderCommentKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFinderCommentKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFinderCommentKey =>
+      _NSMetadataItemFinderCommentKey.value;
+
+  set NSMetadataItemFinderCommentKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFinderCommentKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemFontsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemFontsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemFontsKey =>
+      _NSMetadataItemFontsKey.value;
+
+  set NSMetadataItemFontsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemFontsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAppleLoopsRootKeyKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAppleLoopsRootKeyKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAppleLoopsRootKeyKey =>
+      _NSMetadataItemAppleLoopsRootKeyKey.value;
+
+  set NSMetadataItemAppleLoopsRootKeyKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAppleLoopsRootKeyKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAppleLoopsKeyFilterTypeKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemAppleLoopsKeyFilterTypeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAppleLoopsKeyFilterTypeKey =>
+      _NSMetadataItemAppleLoopsKeyFilterTypeKey.value;
+
+  set NSMetadataItemAppleLoopsKeyFilterTypeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAppleLoopsKeyFilterTypeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAppleLoopsLoopModeKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAppleLoopsLoopModeKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAppleLoopsLoopModeKey =>
+      _NSMetadataItemAppleLoopsLoopModeKey.value;
+
+  set NSMetadataItemAppleLoopsLoopModeKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAppleLoopsLoopModeKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAppleLoopDescriptorsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAppleLoopDescriptorsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAppleLoopDescriptorsKey =>
+      _NSMetadataItemAppleLoopDescriptorsKey.value;
+
+  set NSMetadataItemAppleLoopDescriptorsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAppleLoopDescriptorsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemMusicalInstrumentCategoryKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemMusicalInstrumentCategoryKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemMusicalInstrumentCategoryKey =>
+      _NSMetadataItemMusicalInstrumentCategoryKey.value;
+
+  set NSMetadataItemMusicalInstrumentCategoryKey(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemMusicalInstrumentCategoryKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemMusicalInstrumentNameKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemMusicalInstrumentNameKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemMusicalInstrumentNameKey =>
+      _NSMetadataItemMusicalInstrumentNameKey.value;
+
+  set NSMetadataItemMusicalInstrumentNameKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemMusicalInstrumentNameKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemCFBundleIdentifierKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemCFBundleIdentifierKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemCFBundleIdentifierKey =>
+      _NSMetadataItemCFBundleIdentifierKey.value;
+
+  set NSMetadataItemCFBundleIdentifierKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemCFBundleIdentifierKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemInformationKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemInformationKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemInformationKey =>
+      _NSMetadataItemInformationKey.value;
+
+  set NSMetadataItemInformationKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemInformationKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemDirectorKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemDirectorKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemDirectorKey =>
+      _NSMetadataItemDirectorKey.value;
+
+  set NSMetadataItemDirectorKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemDirectorKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemProducerKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemProducerKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemProducerKey =>
+      _NSMetadataItemProducerKey.value;
+
+  set NSMetadataItemProducerKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemProducerKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemGenreKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemGenreKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemGenreKey =>
+      _NSMetadataItemGenreKey.value;
+
+  set NSMetadataItemGenreKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemGenreKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataItemPerformersKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemPerformersKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemPerformersKey =>
+      _NSMetadataItemPerformersKey.value;
+
+  set NSMetadataItemPerformersKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemPerformersKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemOriginalFormatKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemOriginalFormatKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemOriginalFormatKey =>
+      _NSMetadataItemOriginalFormatKey.value;
+
+  set NSMetadataItemOriginalFormatKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemOriginalFormatKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemOriginalSourceKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemOriginalSourceKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemOriginalSourceKey =>
+      _NSMetadataItemOriginalSourceKey.value;
+
+  set NSMetadataItemOriginalSourceKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemOriginalSourceKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAuthorEmailAddressesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAuthorEmailAddressesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAuthorEmailAddressesKey =>
+      _NSMetadataItemAuthorEmailAddressesKey.value;
+
+  set NSMetadataItemAuthorEmailAddressesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAuthorEmailAddressesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemRecipientEmailAddressesKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemRecipientEmailAddressesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemRecipientEmailAddressesKey =>
+      _NSMetadataItemRecipientEmailAddressesKey.value;
+
+  set NSMetadataItemRecipientEmailAddressesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemRecipientEmailAddressesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemAuthorAddressesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemAuthorAddressesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemAuthorAddressesKey =>
+      _NSMetadataItemAuthorAddressesKey.value;
+
+  set NSMetadataItemAuthorAddressesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemAuthorAddressesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemRecipientAddressesKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemRecipientAddressesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemRecipientAddressesKey =>
+      _NSMetadataItemRecipientAddressesKey.value;
+
+  set NSMetadataItemRecipientAddressesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemRecipientAddressesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemIsLikelyJunkKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemIsLikelyJunkKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemIsLikelyJunkKey =>
+      _NSMetadataItemIsLikelyJunkKey.value;
+
+  set NSMetadataItemIsLikelyJunkKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemIsLikelyJunkKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemExecutableArchitecturesKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemExecutableArchitecturesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemExecutableArchitecturesKey =>
+      _NSMetadataItemExecutableArchitecturesKey.value;
+
+  set NSMetadataItemExecutableArchitecturesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemExecutableArchitecturesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemExecutablePlatformKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemExecutablePlatformKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemExecutablePlatformKey =>
+      _NSMetadataItemExecutablePlatformKey.value;
+
+  set NSMetadataItemExecutablePlatformKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemExecutablePlatformKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemApplicationCategoriesKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataItemApplicationCategoriesKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemApplicationCategoriesKey =>
+      _NSMetadataItemApplicationCategoriesKey.value;
+
+  set NSMetadataItemApplicationCategoriesKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemApplicationCategoriesKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataItemIsApplicationManagedKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataItemIsApplicationManagedKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataItemIsApplicationManagedKey =>
+      _NSMetadataItemIsApplicationManagedKey.value;
+
+  set NSMetadataItemIsApplicationManagedKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataItemIsApplicationManagedKey.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSMetadataQueryDidStartGatheringNotification =
+      _lookup<NSNotificationName>(
+          'NSMetadataQueryDidStartGatheringNotification');
+
+  NSNotificationName get NSMetadataQueryDidStartGatheringNotification =>
+      _NSMetadataQueryDidStartGatheringNotification.value;
+
+  set NSMetadataQueryDidStartGatheringNotification(NSNotificationName value) =>
+      _NSMetadataQueryDidStartGatheringNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSMetadataQueryGatheringProgressNotification =
+      _lookup<NSNotificationName>(
+          'NSMetadataQueryGatheringProgressNotification');
+
+  NSNotificationName get NSMetadataQueryGatheringProgressNotification =>
+      _NSMetadataQueryGatheringProgressNotification.value;
+
+  set NSMetadataQueryGatheringProgressNotification(NSNotificationName value) =>
+      _NSMetadataQueryGatheringProgressNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSMetadataQueryDidFinishGatheringNotification =
+      _lookup<NSNotificationName>(
+          'NSMetadataQueryDidFinishGatheringNotification');
+
+  NSNotificationName get NSMetadataQueryDidFinishGatheringNotification =>
+      _NSMetadataQueryDidFinishGatheringNotification.value;
+
+  set NSMetadataQueryDidFinishGatheringNotification(NSNotificationName value) =>
+      _NSMetadataQueryDidFinishGatheringNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSMetadataQueryDidUpdateNotification =
+      _lookup<NSNotificationName>('NSMetadataQueryDidUpdateNotification');
+
+  NSNotificationName get NSMetadataQueryDidUpdateNotification =>
+      _NSMetadataQueryDidUpdateNotification.value;
+
+  set NSMetadataQueryDidUpdateNotification(NSNotificationName value) =>
+      _NSMetadataQueryDidUpdateNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryUpdateAddedItemsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryUpdateAddedItemsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryUpdateAddedItemsKey =>
+      _NSMetadataQueryUpdateAddedItemsKey.value;
+
+  set NSMetadataQueryUpdateAddedItemsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryUpdateAddedItemsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryUpdateChangedItemsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryUpdateChangedItemsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryUpdateChangedItemsKey =>
+      _NSMetadataQueryUpdateChangedItemsKey.value;
+
+  set NSMetadataQueryUpdateChangedItemsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryUpdateChangedItemsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryUpdateRemovedItemsKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryUpdateRemovedItemsKey');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryUpdateRemovedItemsKey =>
+      _NSMetadataQueryUpdateRemovedItemsKey.value;
+
+  set NSMetadataQueryUpdateRemovedItemsKey(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryUpdateRemovedItemsKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryResultContentRelevanceAttribute =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataQueryResultContentRelevanceAttribute');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryResultContentRelevanceAttribute =>
+      _NSMetadataQueryResultContentRelevanceAttribute.value;
+
+  set NSMetadataQueryResultContentRelevanceAttribute(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryResultContentRelevanceAttribute.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryUserHomeScope =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryUserHomeScope');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryUserHomeScope =>
+      _NSMetadataQueryUserHomeScope.value;
+
+  set NSMetadataQueryUserHomeScope(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryUserHomeScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryLocalComputerScope =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryLocalComputerScope');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryLocalComputerScope =>
+      _NSMetadataQueryLocalComputerScope.value;
+
+  set NSMetadataQueryLocalComputerScope(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryLocalComputerScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSMetadataQueryNetworkScope =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryNetworkScope');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryNetworkScope =>
+      _NSMetadataQueryNetworkScope.value;
+
+  set NSMetadataQueryNetworkScope(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryNetworkScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryIndexedLocalComputerScope =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataQueryIndexedLocalComputerScope');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryIndexedLocalComputerScope =>
+      _NSMetadataQueryIndexedLocalComputerScope.value;
+
+  set NSMetadataQueryIndexedLocalComputerScope(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryIndexedLocalComputerScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryIndexedNetworkScope =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryIndexedNetworkScope');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryIndexedNetworkScope =>
+      _NSMetadataQueryIndexedNetworkScope.value;
+
+  set NSMetadataQueryIndexedNetworkScope(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryIndexedNetworkScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryUbiquitousDocumentsScope =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataQueryUbiquitousDocumentsScope');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryUbiquitousDocumentsScope =>
+      _NSMetadataQueryUbiquitousDocumentsScope.value;
+
+  set NSMetadataQueryUbiquitousDocumentsScope(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryUbiquitousDocumentsScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryUbiquitousDataScope =
+      _lookup<ffi.Pointer<ObjCObject>>('NSMetadataQueryUbiquitousDataScope');
+
+  ffi.Pointer<ObjCObject> get NSMetadataQueryUbiquitousDataScope =>
+      _NSMetadataQueryUbiquitousDataScope.value;
+
+  set NSMetadataQueryUbiquitousDataScope(ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryUbiquitousDataScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope');
+
+  ffi.Pointer<ObjCObject>
+      get NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope =>
+          _NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope.value;
+
+  set NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope(
+          ffi.Pointer<ObjCObject> value) =>
+      _NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>> _NSNetServicesErrorCode =
+      _lookup<ffi.Pointer<ObjCObject>>('NSNetServicesErrorCode');
+
+  ffi.Pointer<ObjCObject> get NSNetServicesErrorCode =>
+      _NSNetServicesErrorCode.value;
+
+  set NSNetServicesErrorCode(ffi.Pointer<ObjCObject> value) =>
+      _NSNetServicesErrorCode.value = value;
+
+  late final ffi.Pointer<NSErrorDomain> _NSNetServicesErrorDomain =
+      _lookup<NSErrorDomain>('NSNetServicesErrorDomain');
+
+  NSErrorDomain get NSNetServicesErrorDomain => _NSNetServicesErrorDomain.value;
+
+  set NSNetServicesErrorDomain(NSErrorDomain value) =>
+      _NSNetServicesErrorDomain.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUbiquitousKeyValueStoreDidChangeExternallyNotification =
+      _lookup<NSNotificationName>(
+          'NSUbiquitousKeyValueStoreDidChangeExternallyNotification');
+
+  NSNotificationName
+      get NSUbiquitousKeyValueStoreDidChangeExternallyNotification =>
+          _NSUbiquitousKeyValueStoreDidChangeExternallyNotification.value;
+
+  set NSUbiquitousKeyValueStoreDidChangeExternallyNotification(
+          NSNotificationName value) =>
+      _NSUbiquitousKeyValueStoreDidChangeExternallyNotification.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSUbiquitousKeyValueStoreChangeReasonKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSUbiquitousKeyValueStoreChangeReasonKey');
+
+  ffi.Pointer<ObjCObject> get NSUbiquitousKeyValueStoreChangeReasonKey =>
+      _NSUbiquitousKeyValueStoreChangeReasonKey.value;
+
+  set NSUbiquitousKeyValueStoreChangeReasonKey(ffi.Pointer<ObjCObject> value) =>
+      _NSUbiquitousKeyValueStoreChangeReasonKey.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSUbiquitousKeyValueStoreChangedKeysKey =
+      _lookup<ffi.Pointer<ObjCObject>>(
+          'NSUbiquitousKeyValueStoreChangedKeysKey');
+
+  ffi.Pointer<ObjCObject> get NSUbiquitousKeyValueStoreChangedKeysKey =>
+      _NSUbiquitousKeyValueStoreChangedKeysKey.value;
+
+  set NSUbiquitousKeyValueStoreChangedKeysKey(ffi.Pointer<ObjCObject> value) =>
+      _NSUbiquitousKeyValueStoreChangedKeysKey.value = value;
+
+  late final ffi.Pointer<NSUInteger> _NSUndoCloseGroupingRunLoopOrdering =
+      _lookup<NSUInteger>('NSUndoCloseGroupingRunLoopOrdering');
+
+  int get NSUndoCloseGroupingRunLoopOrdering =>
+      _NSUndoCloseGroupingRunLoopOrdering.value;
+
+  set NSUndoCloseGroupingRunLoopOrdering(int value) =>
+      _NSUndoCloseGroupingRunLoopOrdering.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSUndoManagerGroupIsDiscardableKey =
+      _lookup<ffi.Pointer<ObjCObject>>('NSUndoManagerGroupIsDiscardableKey');
+
+  ffi.Pointer<ObjCObject> get NSUndoManagerGroupIsDiscardableKey =>
+      _NSUndoManagerGroupIsDiscardableKey.value;
+
+  set NSUndoManagerGroupIsDiscardableKey(ffi.Pointer<ObjCObject> value) =>
+      _NSUndoManagerGroupIsDiscardableKey.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerCheckpointNotification =
+      _lookup<NSNotificationName>('NSUndoManagerCheckpointNotification');
+
+  NSNotificationName get NSUndoManagerCheckpointNotification =>
+      _NSUndoManagerCheckpointNotification.value;
+
+  set NSUndoManagerCheckpointNotification(NSNotificationName value) =>
+      _NSUndoManagerCheckpointNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerWillUndoChangeNotification =
+      _lookup<NSNotificationName>('NSUndoManagerWillUndoChangeNotification');
+
+  NSNotificationName get NSUndoManagerWillUndoChangeNotification =>
+      _NSUndoManagerWillUndoChangeNotification.value;
+
+  set NSUndoManagerWillUndoChangeNotification(NSNotificationName value) =>
+      _NSUndoManagerWillUndoChangeNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerWillRedoChangeNotification =
+      _lookup<NSNotificationName>('NSUndoManagerWillRedoChangeNotification');
+
+  NSNotificationName get NSUndoManagerWillRedoChangeNotification =>
+      _NSUndoManagerWillRedoChangeNotification.value;
+
+  set NSUndoManagerWillRedoChangeNotification(NSNotificationName value) =>
+      _NSUndoManagerWillRedoChangeNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerDidUndoChangeNotification =
+      _lookup<NSNotificationName>('NSUndoManagerDidUndoChangeNotification');
+
+  NSNotificationName get NSUndoManagerDidUndoChangeNotification =>
+      _NSUndoManagerDidUndoChangeNotification.value;
+
+  set NSUndoManagerDidUndoChangeNotification(NSNotificationName value) =>
+      _NSUndoManagerDidUndoChangeNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerDidRedoChangeNotification =
+      _lookup<NSNotificationName>('NSUndoManagerDidRedoChangeNotification');
+
+  NSNotificationName get NSUndoManagerDidRedoChangeNotification =>
+      _NSUndoManagerDidRedoChangeNotification.value;
+
+  set NSUndoManagerDidRedoChangeNotification(NSNotificationName value) =>
+      _NSUndoManagerDidRedoChangeNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerDidOpenUndoGroupNotification =
+      _lookup<NSNotificationName>('NSUndoManagerDidOpenUndoGroupNotification');
+
+  NSNotificationName get NSUndoManagerDidOpenUndoGroupNotification =>
+      _NSUndoManagerDidOpenUndoGroupNotification.value;
+
+  set NSUndoManagerDidOpenUndoGroupNotification(NSNotificationName value) =>
+      _NSUndoManagerDidOpenUndoGroupNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerWillCloseUndoGroupNotification =
+      _lookup<NSNotificationName>(
+          'NSUndoManagerWillCloseUndoGroupNotification');
+
+  NSNotificationName get NSUndoManagerWillCloseUndoGroupNotification =>
+      _NSUndoManagerWillCloseUndoGroupNotification.value;
+
+  set NSUndoManagerWillCloseUndoGroupNotification(NSNotificationName value) =>
+      _NSUndoManagerWillCloseUndoGroupNotification.value = value;
+
+  late final ffi.Pointer<NSNotificationName>
+      _NSUndoManagerDidCloseUndoGroupNotification =
+      _lookup<NSNotificationName>('NSUndoManagerDidCloseUndoGroupNotification');
+
+  NSNotificationName get NSUndoManagerDidCloseUndoGroupNotification =>
+      _NSUndoManagerDidCloseUndoGroupNotification.value;
+
+  set NSUndoManagerDidCloseUndoGroupNotification(NSNotificationName value) =>
+      _NSUndoManagerDidCloseUndoGroupNotification.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_default =
+      _lookup<CFStringRef>('kSSLSessionConfig_default');
+
+  CFStringRef get kSSLSessionConfig_default => _kSSLSessionConfig_default.value;
+
+  set kSSLSessionConfig_default(CFStringRef value) =>
+      _kSSLSessionConfig_default.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_ATSv1 =
+      _lookup<CFStringRef>('kSSLSessionConfig_ATSv1');
+
+  CFStringRef get kSSLSessionConfig_ATSv1 => _kSSLSessionConfig_ATSv1.value;
+
+  set kSSLSessionConfig_ATSv1(CFStringRef value) =>
+      _kSSLSessionConfig_ATSv1.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_ATSv1_noPFS =
+      _lookup<CFStringRef>('kSSLSessionConfig_ATSv1_noPFS');
+
+  CFStringRef get kSSLSessionConfig_ATSv1_noPFS =>
+      _kSSLSessionConfig_ATSv1_noPFS.value;
+
+  set kSSLSessionConfig_ATSv1_noPFS(CFStringRef value) =>
+      _kSSLSessionConfig_ATSv1_noPFS.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_standard =
+      _lookup<CFStringRef>('kSSLSessionConfig_standard');
+
+  CFStringRef get kSSLSessionConfig_standard =>
+      _kSSLSessionConfig_standard.value;
+
+  set kSSLSessionConfig_standard(CFStringRef value) =>
+      _kSSLSessionConfig_standard.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_RC4_fallback =
+      _lookup<CFStringRef>('kSSLSessionConfig_RC4_fallback');
+
+  CFStringRef get kSSLSessionConfig_RC4_fallback =>
+      _kSSLSessionConfig_RC4_fallback.value;
+
+  set kSSLSessionConfig_RC4_fallback(CFStringRef value) =>
+      _kSSLSessionConfig_RC4_fallback.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_TLSv1_fallback =
+      _lookup<CFStringRef>('kSSLSessionConfig_TLSv1_fallback');
+
+  CFStringRef get kSSLSessionConfig_TLSv1_fallback =>
+      _kSSLSessionConfig_TLSv1_fallback.value;
+
+  set kSSLSessionConfig_TLSv1_fallback(CFStringRef value) =>
+      _kSSLSessionConfig_TLSv1_fallback.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_TLSv1_RC4_fallback =
+      _lookup<CFStringRef>('kSSLSessionConfig_TLSv1_RC4_fallback');
+
+  CFStringRef get kSSLSessionConfig_TLSv1_RC4_fallback =>
+      _kSSLSessionConfig_TLSv1_RC4_fallback.value;
+
+  set kSSLSessionConfig_TLSv1_RC4_fallback(CFStringRef value) =>
+      _kSSLSessionConfig_TLSv1_RC4_fallback.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_legacy =
+      _lookup<CFStringRef>('kSSLSessionConfig_legacy');
+
+  CFStringRef get kSSLSessionConfig_legacy => _kSSLSessionConfig_legacy.value;
+
+  set kSSLSessionConfig_legacy(CFStringRef value) =>
+      _kSSLSessionConfig_legacy.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_legacy_DHE =
+      _lookup<CFStringRef>('kSSLSessionConfig_legacy_DHE');
+
+  CFStringRef get kSSLSessionConfig_legacy_DHE =>
+      _kSSLSessionConfig_legacy_DHE.value;
+
+  set kSSLSessionConfig_legacy_DHE(CFStringRef value) =>
+      _kSSLSessionConfig_legacy_DHE.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_anonymous =
+      _lookup<CFStringRef>('kSSLSessionConfig_anonymous');
+
+  CFStringRef get kSSLSessionConfig_anonymous =>
+      _kSSLSessionConfig_anonymous.value;
+
+  set kSSLSessionConfig_anonymous(CFStringRef value) =>
+      _kSSLSessionConfig_anonymous.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_3DES_fallback =
+      _lookup<CFStringRef>('kSSLSessionConfig_3DES_fallback');
+
+  CFStringRef get kSSLSessionConfig_3DES_fallback =>
+      _kSSLSessionConfig_3DES_fallback.value;
+
+  set kSSLSessionConfig_3DES_fallback(CFStringRef value) =>
+      _kSSLSessionConfig_3DES_fallback.value = value;
+
+  late final ffi.Pointer<CFStringRef> _kSSLSessionConfig_TLSv1_3DES_fallback =
+      _lookup<CFStringRef>('kSSLSessionConfig_TLSv1_3DES_fallback');
+
+  CFStringRef get kSSLSessionConfig_TLSv1_3DES_fallback =>
+      _kSSLSessionConfig_TLSv1_3DES_fallback.value;
+
+  set kSSLSessionConfig_TLSv1_3DES_fallback(CFStringRef value) =>
+      _kSSLSessionConfig_TLSv1_3DES_fallback.value = value;
+
+  int SSLContextGetTypeID() {
+    return _SSLContextGetTypeID();
+  }
+
+  late final _SSLContextGetTypeIDPtr =
+      _lookup<ffi.NativeFunction<CFTypeID Function()>>('SSLContextGetTypeID');
+  late final _SSLContextGetTypeID =
+      _SSLContextGetTypeIDPtr.asFunction<int Function()>();
+
+  SSLContextRef SSLCreateContext(
+    CFAllocatorRef alloc,
+    int protocolSide,
+    int connectionType,
+  ) {
+    return _SSLCreateContext(
+      alloc,
+      protocolSide,
+      connectionType,
+    );
+  }
+
+  late final _SSLCreateContextPtr = _lookup<
+      ffi.NativeFunction<
+          SSLContextRef Function(
+              CFAllocatorRef, ffi.Int32, ffi.Int32)>>('SSLCreateContext');
+  late final _SSLCreateContext = _SSLCreateContextPtr.asFunction<
+      SSLContextRef Function(CFAllocatorRef, int, int)>();
+
+  int SSLGetSessionState(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Int32> state,
+  ) {
+    return _SSLGetSessionState(
+      context,
+      state,
+    );
+  }
+
+  late final _SSLGetSessionStatePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SSLContextRef, ffi.Pointer<ffi.Int32>)>>('SSLGetSessionState');
+  late final _SSLGetSessionState = _SSLGetSessionStatePtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<ffi.Int32>)>();
+
+  int SSLSetSessionOption(
+    SSLContextRef context,
+    int option,
+    int value,
+  ) {
+    return _SSLSetSessionOption(
+      context,
+      option,
+      value,
+    );
+  }
+
+  late final _SSLSetSessionOptionPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SSLContextRef, ffi.Int32, Boolean)>>('SSLSetSessionOption');
+  late final _SSLSetSessionOption = _SSLSetSessionOptionPtr.asFunction<
+      int Function(SSLContextRef, int, int)>();
+
+  int SSLGetSessionOption(
+    SSLContextRef context,
+    int option,
+    ffi.Pointer<Boolean> value,
+  ) {
+    return _SSLGetSessionOption(
+      context,
+      option,
+      value,
+    );
+  }
+
+  late final _SSLGetSessionOptionPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Int32,
+              ffi.Pointer<Boolean>)>>('SSLGetSessionOption');
+  late final _SSLGetSessionOption = _SSLGetSessionOptionPtr.asFunction<
+      int Function(SSLContextRef, int, ffi.Pointer<Boolean>)>();
+
+  int SSLSetIOFuncs(
+    SSLContextRef context,
+    SSLReadFunc readFunc,
+    SSLWriteFunc writeFunc,
+  ) {
+    return _SSLSetIOFuncs(
+      context,
+      readFunc,
+      writeFunc,
+    );
+  }
+
+  late final _SSLSetIOFuncsPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SSLContextRef, SSLReadFunc, SSLWriteFunc)>>('SSLSetIOFuncs');
+  late final _SSLSetIOFuncs = _SSLSetIOFuncsPtr.asFunction<
+      int Function(SSLContextRef, SSLReadFunc, SSLWriteFunc)>();
+
+  int SSLSetSessionConfig(
+    SSLContextRef context,
+    CFStringRef config,
+  ) {
+    return _SSLSetSessionConfig(
+      context,
+      config,
+    );
+  }
+
+  late final _SSLSetSessionConfigPtr = _lookup<
+          ffi.NativeFunction<OSStatus Function(SSLContextRef, CFStringRef)>>(
+      'SSLSetSessionConfig');
+  late final _SSLSetSessionConfig = _SSLSetSessionConfigPtr.asFunction<
+      int Function(SSLContextRef, CFStringRef)>();
+
+  int SSLSetProtocolVersionMin(
+    SSLContextRef context,
+    int minVersion,
+  ) {
+    return _SSLSetProtocolVersionMin(
+      context,
+      minVersion,
+    );
+  }
+
+  late final _SSLSetProtocolVersionMinPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, ffi.Int32)>>(
+          'SSLSetProtocolVersionMin');
+  late final _SSLSetProtocolVersionMin = _SSLSetProtocolVersionMinPtr
+      .asFunction<int Function(SSLContextRef, int)>();
+
+  int SSLGetProtocolVersionMin(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Int32> minVersion,
+  ) {
+    return _SSLGetProtocolVersionMin(
+      context,
+      minVersion,
+    );
+  }
+
+  late final _SSLGetProtocolVersionMinPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Int32>)>>('SSLGetProtocolVersionMin');
+  late final _SSLGetProtocolVersionMin = _SSLGetProtocolVersionMinPtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Int32>)>();
+
+  int SSLSetProtocolVersionMax(
+    SSLContextRef context,
+    int maxVersion,
+  ) {
+    return _SSLSetProtocolVersionMax(
+      context,
+      maxVersion,
+    );
+  }
+
+  late final _SSLSetProtocolVersionMaxPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, ffi.Int32)>>(
+          'SSLSetProtocolVersionMax');
+  late final _SSLSetProtocolVersionMax = _SSLSetProtocolVersionMaxPtr
+      .asFunction<int Function(SSLContextRef, int)>();
+
+  int SSLGetProtocolVersionMax(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Int32> maxVersion,
+  ) {
+    return _SSLGetProtocolVersionMax(
+      context,
+      maxVersion,
+    );
+  }
+
+  late final _SSLGetProtocolVersionMaxPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Int32>)>>('SSLGetProtocolVersionMax');
+  late final _SSLGetProtocolVersionMax = _SSLGetProtocolVersionMaxPtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Int32>)>();
+
+  int SSLSetCertificate(
+    SSLContextRef context,
+    CFArrayRef certRefs,
+  ) {
+    return _SSLSetCertificate(
+      context,
+      certRefs,
+    );
+  }
+
+  late final _SSLSetCertificatePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, CFArrayRef)>>(
+          'SSLSetCertificate');
+  late final _SSLSetCertificate = _SSLSetCertificatePtr.asFunction<
+      int Function(SSLContextRef, CFArrayRef)>();
+
+  int SSLSetConnection(
+    SSLContextRef context,
+    SSLConnectionRef connection,
+  ) {
+    return _SSLSetConnection(
+      context,
+      connection,
+    );
+  }
+
+  late final _SSLSetConnectionPtr = _lookup<
+          ffi
+          .NativeFunction<OSStatus Function(SSLContextRef, SSLConnectionRef)>>(
+      'SSLSetConnection');
+  late final _SSLSetConnection = _SSLSetConnectionPtr.asFunction<
+      int Function(SSLContextRef, SSLConnectionRef)>();
+
+  int SSLGetConnection(
+    SSLContextRef context,
+    ffi.Pointer<SSLConnectionRef> connection,
+  ) {
+    return _SSLGetConnection(
+      context,
+      connection,
+    );
+  }
+
+  late final _SSLGetConnectionPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<SSLConnectionRef>)>>('SSLGetConnection');
+  late final _SSLGetConnection = _SSLGetConnectionPtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<SSLConnectionRef>)>();
+
+  int SSLSetPeerDomainName(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Char> peerName,
+    int peerNameLen,
+  ) {
+    return _SSLSetPeerDomainName(
+      context,
+      peerName,
+      peerNameLen,
+    );
+  }
+
+  late final _SSLSetPeerDomainNamePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Char>,
+              ffi.Size)>>('SSLSetPeerDomainName');
+  late final _SSLSetPeerDomainName = _SSLSetPeerDomainNamePtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<ffi.Char>, int)>();
+
+  int SSLGetPeerDomainNameLength(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Size> peerNameLen,
+  ) {
+    return _SSLGetPeerDomainNameLength(
+      context,
+      peerNameLen,
+    );
+  }
+
+  late final _SSLGetPeerDomainNameLengthPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Size>)>>('SSLGetPeerDomainNameLength');
+  late final _SSLGetPeerDomainNameLength = _SSLGetPeerDomainNameLengthPtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Size>)>();
+
+  int SSLGetPeerDomainName(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Char> peerName,
+    ffi.Pointer<ffi.Size> peerNameLen,
+  ) {
+    return _SSLGetPeerDomainName(
+      context,
+      peerName,
+      peerNameLen,
+    );
+  }
+
+  late final _SSLGetPeerDomainNamePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Size>)>>('SSLGetPeerDomainName');
+  late final _SSLGetPeerDomainName = _SSLGetPeerDomainNamePtr.asFunction<
+      int Function(
+          SSLContextRef, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Size>)>();
+
+  int SSLCopyRequestedPeerNameLength(
+    SSLContextRef ctx,
+    ffi.Pointer<ffi.Size> peerNameLen,
+  ) {
+    return _SSLCopyRequestedPeerNameLength(
+      ctx,
+      peerNameLen,
+    );
+  }
+
+  late final _SSLCopyRequestedPeerNameLengthPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Size>)>>('SSLCopyRequestedPeerNameLength');
+  late final _SSLCopyRequestedPeerNameLength =
+      _SSLCopyRequestedPeerNameLengthPtr.asFunction<
+          int Function(SSLContextRef, ffi.Pointer<ffi.Size>)>();
+
+  int SSLCopyRequestedPeerName(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Char> peerName,
+    ffi.Pointer<ffi.Size> peerNameLen,
+  ) {
+    return _SSLCopyRequestedPeerName(
+      context,
+      peerName,
+      peerNameLen,
+    );
+  }
+
+  late final _SSLCopyRequestedPeerNamePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Char>,
+              ffi.Pointer<ffi.Size>)>>('SSLCopyRequestedPeerName');
+  late final _SSLCopyRequestedPeerName =
+      _SSLCopyRequestedPeerNamePtr.asFunction<
+          int Function(
+              SSLContextRef, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Size>)>();
+
+  int SSLSetDatagramHelloCookie(
+    SSLContextRef dtlsContext,
+    ffi.Pointer<ffi.Void> cookie,
+    int cookieLen,
+  ) {
+    return _SSLSetDatagramHelloCookie(
+      dtlsContext,
+      cookie,
+      cookieLen,
+    );
+  }
+
+  late final _SSLSetDatagramHelloCookiePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('SSLSetDatagramHelloCookie');
+  late final _SSLSetDatagramHelloCookie = _SSLSetDatagramHelloCookiePtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Void>, int)>();
+
+  int SSLSetMaxDatagramRecordSize(
+    SSLContextRef dtlsContext,
+    int maxSize,
+  ) {
+    return _SSLSetMaxDatagramRecordSize(
+      dtlsContext,
+      maxSize,
+    );
+  }
+
+  late final _SSLSetMaxDatagramRecordSizePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, ffi.Size)>>(
+          'SSLSetMaxDatagramRecordSize');
+  late final _SSLSetMaxDatagramRecordSize = _SSLSetMaxDatagramRecordSizePtr
+      .asFunction<int Function(SSLContextRef, int)>();
+
+  int SSLGetMaxDatagramRecordSize(
+    SSLContextRef dtlsContext,
+    ffi.Pointer<ffi.Size> maxSize,
+  ) {
+    return _SSLGetMaxDatagramRecordSize(
+      dtlsContext,
+      maxSize,
+    );
+  }
+
+  late final _SSLGetMaxDatagramRecordSizePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Size>)>>('SSLGetMaxDatagramRecordSize');
+  late final _SSLGetMaxDatagramRecordSize = _SSLGetMaxDatagramRecordSizePtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Size>)>();
+
+  int SSLGetNegotiatedProtocolVersion(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Int32> protocol,
+  ) {
+    return _SSLGetNegotiatedProtocolVersion(
+      context,
+      protocol,
+    );
+  }
+
+  late final _SSLGetNegotiatedProtocolVersionPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Int32>)>>('SSLGetNegotiatedProtocolVersion');
+  late final _SSLGetNegotiatedProtocolVersion =
+      _SSLGetNegotiatedProtocolVersionPtr.asFunction<
+          int Function(SSLContextRef, ffi.Pointer<ffi.Int32>)>();
+
+  int SSLGetNumberSupportedCiphers(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Size> numCiphers,
+  ) {
+    return _SSLGetNumberSupportedCiphers(
+      context,
+      numCiphers,
+    );
+  }
+
+  late final _SSLGetNumberSupportedCiphersPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Size>)>>('SSLGetNumberSupportedCiphers');
+  late final _SSLGetNumberSupportedCiphers = _SSLGetNumberSupportedCiphersPtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Size>)>();
+
+  int SSLGetSupportedCiphers(
+    SSLContextRef context,
+    ffi.Pointer<SSLCipherSuite> ciphers,
+    ffi.Pointer<ffi.Size> numCiphers,
+  ) {
+    return _SSLGetSupportedCiphers(
+      context,
+      ciphers,
+      numCiphers,
+    );
+  }
+
+  late final _SSLGetSupportedCiphersPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<SSLCipherSuite>,
+              ffi.Pointer<ffi.Size>)>>('SSLGetSupportedCiphers');
+  late final _SSLGetSupportedCiphers = _SSLGetSupportedCiphersPtr.asFunction<
+      int Function(
+          SSLContextRef, ffi.Pointer<SSLCipherSuite>, ffi.Pointer<ffi.Size>)>();
+
+  int SSLGetNumberEnabledCiphers(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Size> numCiphers,
+  ) {
+    return _SSLGetNumberEnabledCiphers(
+      context,
+      numCiphers,
+    );
+  }
+
+  late final _SSLGetNumberEnabledCiphersPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Size>)>>('SSLGetNumberEnabledCiphers');
+  late final _SSLGetNumberEnabledCiphers = _SSLGetNumberEnabledCiphersPtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Size>)>();
+
+  int SSLSetEnabledCiphers(
+    SSLContextRef context,
+    ffi.Pointer<SSLCipherSuite> ciphers,
+    int numCiphers,
+  ) {
+    return _SSLSetEnabledCiphers(
+      context,
+      ciphers,
+      numCiphers,
+    );
+  }
+
+  late final _SSLSetEnabledCiphersPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<SSLCipherSuite>,
+              ffi.Size)>>('SSLSetEnabledCiphers');
+  late final _SSLSetEnabledCiphers = _SSLSetEnabledCiphersPtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<SSLCipherSuite>, int)>();
+
+  int SSLGetEnabledCiphers(
+    SSLContextRef context,
+    ffi.Pointer<SSLCipherSuite> ciphers,
+    ffi.Pointer<ffi.Size> numCiphers,
+  ) {
+    return _SSLGetEnabledCiphers(
+      context,
+      ciphers,
+      numCiphers,
+    );
+  }
+
+  late final _SSLGetEnabledCiphersPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<SSLCipherSuite>,
+              ffi.Pointer<ffi.Size>)>>('SSLGetEnabledCiphers');
+  late final _SSLGetEnabledCiphers = _SSLGetEnabledCiphersPtr.asFunction<
+      int Function(
+          SSLContextRef, ffi.Pointer<SSLCipherSuite>, ffi.Pointer<ffi.Size>)>();
+
+  int SSLSetSessionTicketsEnabled(
+    SSLContextRef context,
+    int enabled,
+  ) {
+    return _SSLSetSessionTicketsEnabled(
+      context,
+      enabled,
+    );
+  }
+
+  late final _SSLSetSessionTicketsEnabledPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, Boolean)>>(
+          'SSLSetSessionTicketsEnabled');
+  late final _SSLSetSessionTicketsEnabled = _SSLSetSessionTicketsEnabledPtr
+      .asFunction<int Function(SSLContextRef, int)>();
+
+  int SSLCopyPeerTrust(
+    SSLContextRef context,
+    ffi.Pointer<SecTrustRef> trust,
+  ) {
+    return _SSLCopyPeerTrust(
+      context,
+      trust,
+    );
+  }
+
+  late final _SSLCopyPeerTrustPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SSLContextRef, ffi.Pointer<SecTrustRef>)>>('SSLCopyPeerTrust');
+  late final _SSLCopyPeerTrust = _SSLCopyPeerTrustPtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<SecTrustRef>)>();
+
+  int SSLSetPeerID(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Void> peerID,
+    int peerIDLen,
+  ) {
+    return _SSLSetPeerID(
+      context,
+      peerID,
+      peerIDLen,
+    );
+  }
+
+  late final _SSLSetPeerIDPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SSLContextRef, ffi.Pointer<ffi.Void>, ffi.Size)>>('SSLSetPeerID');
+  late final _SSLSetPeerID = _SSLSetPeerIDPtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<ffi.Void>, int)>();
+
+  int SSLGetPeerID(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Pointer<ffi.Void>> peerID,
+    ffi.Pointer<ffi.Size> peerIDLen,
+  ) {
+    return _SSLGetPeerID(
+      context,
+      peerID,
+      peerIDLen,
+    );
+  }
+
+  late final _SSLGetPeerIDPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Pointer<ffi.Void>>,
+              ffi.Pointer<ffi.Size>)>>('SSLGetPeerID');
+  late final _SSLGetPeerID = _SSLGetPeerIDPtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<ffi.Pointer<ffi.Void>>,
+          ffi.Pointer<ffi.Size>)>();
+
+  int SSLGetNegotiatedCipher(
+    SSLContextRef context,
+    ffi.Pointer<SSLCipherSuite> cipherSuite,
+  ) {
+    return _SSLGetNegotiatedCipher(
+      context,
+      cipherSuite,
+    );
+  }
+
+  late final _SSLGetNegotiatedCipherPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<SSLCipherSuite>)>>('SSLGetNegotiatedCipher');
+  late final _SSLGetNegotiatedCipher = _SSLGetNegotiatedCipherPtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<SSLCipherSuite>)>();
+
+  int SSLSetALPNProtocols(
+    SSLContextRef context,
+    CFArrayRef protocols,
+  ) {
+    return _SSLSetALPNProtocols(
+      context,
+      protocols,
+    );
+  }
+
+  late final _SSLSetALPNProtocolsPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, CFArrayRef)>>(
+          'SSLSetALPNProtocols');
+  late final _SSLSetALPNProtocols = _SSLSetALPNProtocolsPtr.asFunction<
+      int Function(SSLContextRef, CFArrayRef)>();
+
+  int SSLCopyALPNProtocols(
+    SSLContextRef context,
+    ffi.Pointer<CFArrayRef> protocols,
+  ) {
+    return _SSLCopyALPNProtocols(
+      context,
+      protocols,
+    );
+  }
+
+  late final _SSLCopyALPNProtocolsPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SSLContextRef, ffi.Pointer<CFArrayRef>)>>('SSLCopyALPNProtocols');
+  late final _SSLCopyALPNProtocols = _SSLCopyALPNProtocolsPtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<CFArrayRef>)>();
+
+  int SSLSetOCSPResponse(
+    SSLContextRef context,
+    CFDataRef response,
+  ) {
+    return _SSLSetOCSPResponse(
+      context,
+      response,
+    );
+  }
+
+  late final _SSLSetOCSPResponsePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, CFDataRef)>>(
+          'SSLSetOCSPResponse');
+  late final _SSLSetOCSPResponse = _SSLSetOCSPResponsePtr.asFunction<
+      int Function(SSLContextRef, CFDataRef)>();
+
+  int SSLSetEncryptionCertificate(
+    SSLContextRef context,
+    CFArrayRef certRefs,
+  ) {
+    return _SSLSetEncryptionCertificate(
+      context,
+      certRefs,
+    );
+  }
+
+  late final _SSLSetEncryptionCertificatePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, CFArrayRef)>>(
+          'SSLSetEncryptionCertificate');
+  late final _SSLSetEncryptionCertificate = _SSLSetEncryptionCertificatePtr
+      .asFunction<int Function(SSLContextRef, CFArrayRef)>();
+
+  int SSLSetClientSideAuthenticate(
+    SSLContextRef context,
+    int auth,
+  ) {
+    return _SSLSetClientSideAuthenticate(
+      context,
+      auth,
+    );
+  }
+
+  late final _SSLSetClientSideAuthenticatePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, ffi.Int32)>>(
+          'SSLSetClientSideAuthenticate');
+  late final _SSLSetClientSideAuthenticate = _SSLSetClientSideAuthenticatePtr
+      .asFunction<int Function(SSLContextRef, int)>();
+
+  int SSLAddDistinguishedName(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Void> derDN,
+    int derDNLen,
+  ) {
+    return _SSLAddDistinguishedName(
+      context,
+      derDN,
+      derDNLen,
+    );
+  }
+
+  late final _SSLAddDistinguishedNamePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Void>,
+              ffi.Size)>>('SSLAddDistinguishedName');
+  late final _SSLAddDistinguishedName = _SSLAddDistinguishedNamePtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<ffi.Void>, int)>();
+
+  int SSLCopyDistinguishedNames(
+    SSLContextRef context,
+    ffi.Pointer<CFArrayRef> names,
+  ) {
+    return _SSLCopyDistinguishedNames(
+      context,
+      names,
+    );
+  }
+
+  late final _SSLCopyDistinguishedNamesPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<CFArrayRef>)>>('SSLCopyDistinguishedNames');
+  late final _SSLCopyDistinguishedNames = _SSLCopyDistinguishedNamesPtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<CFArrayRef>)>();
+
+  int SSLGetClientCertificateState(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Int32> clientState,
+  ) {
+    return _SSLGetClientCertificateState(
+      context,
+      clientState,
+    );
+  }
+
+  late final _SSLGetClientCertificateStatePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Int32>)>>('SSLGetClientCertificateState');
+  late final _SSLGetClientCertificateState = _SSLGetClientCertificateStatePtr
+      .asFunction<int Function(SSLContextRef, ffi.Pointer<ffi.Int32>)>();
+
+  int SSLHandshake(
+    SSLContextRef context,
+  ) {
+    return _SSLHandshake(
+      context,
+    );
+  }
+
+  late final _SSLHandshakePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef)>>(
+          'SSLHandshake');
+  late final _SSLHandshake =
+      _SSLHandshakePtr.asFunction<int Function(SSLContextRef)>();
+
+  int SSLReHandshake(
+    SSLContextRef context,
+  ) {
+    return _SSLReHandshake(
+      context,
+    );
+  }
+
+  late final _SSLReHandshakePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef)>>(
+          'SSLReHandshake');
+  late final _SSLReHandshake =
+      _SSLReHandshakePtr.asFunction<int Function(SSLContextRef)>();
+
+  int SSLWrite(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Void> data,
+    int dataLength,
+    ffi.Pointer<ffi.Size> processed,
+  ) {
+    return _SSLWrite(
+      context,
+      data,
+      dataLength,
+      processed,
+    );
+  }
+
+  late final _SSLWritePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Void>, ffi.Size,
+              ffi.Pointer<ffi.Size>)>>('SSLWrite');
+  late final _SSLWrite = _SSLWritePtr.asFunction<
+      int Function(
+          SSLContextRef, ffi.Pointer<ffi.Void>, int, ffi.Pointer<ffi.Size>)>();
+
+  int SSLRead(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Void> data,
+    int dataLength,
+    ffi.Pointer<ffi.Size> processed,
+  ) {
+    return _SSLRead(
+      context,
+      data,
+      dataLength,
+      processed,
+    );
+  }
+
+  late final _SSLReadPtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef, ffi.Pointer<ffi.Void>, ffi.Size,
+              ffi.Pointer<ffi.Size>)>>('SSLRead');
+  late final _SSLRead = _SSLReadPtr.asFunction<
+      int Function(
+          SSLContextRef, ffi.Pointer<ffi.Void>, int, ffi.Pointer<ffi.Size>)>();
+
+  int SSLGetBufferedReadSize(
+    SSLContextRef context,
+    ffi.Pointer<ffi.Size> bufferSize,
+  ) {
+    return _SSLGetBufferedReadSize(
+      context,
+      bufferSize,
+    );
+  }
+
+  late final _SSLGetBufferedReadSizePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(
+              SSLContextRef, ffi.Pointer<ffi.Size>)>>('SSLGetBufferedReadSize');
+  late final _SSLGetBufferedReadSize = _SSLGetBufferedReadSizePtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<ffi.Size>)>();
+
+  int SSLGetDatagramWriteSize(
+    SSLContextRef dtlsContext,
+    ffi.Pointer<ffi.Size> bufSize,
+  ) {
+    return _SSLGetDatagramWriteSize(
+      dtlsContext,
+      bufSize,
+    );
+  }
+
+  late final _SSLGetDatagramWriteSizePtr = _lookup<
+      ffi.NativeFunction<
+          OSStatus Function(SSLContextRef,
+              ffi.Pointer<ffi.Size>)>>('SSLGetDatagramWriteSize');
+  late final _SSLGetDatagramWriteSize = _SSLGetDatagramWriteSizePtr.asFunction<
+      int Function(SSLContextRef, ffi.Pointer<ffi.Size>)>();
+
+  int SSLClose(
+    SSLContextRef context,
+  ) {
+    return _SSLClose(
+      context,
+    );
+  }
+
+  late final _SSLClosePtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef)>>('SSLClose');
+  late final _SSLClose = _SSLClosePtr.asFunction<int Function(SSLContextRef)>();
+
+  int SSLSetError(
+    SSLContextRef context,
+    int status,
+  ) {
+    return _SSLSetError(
+      context,
+      status,
+    );
+  }
+
+  late final _SSLSetErrorPtr =
+      _lookup<ffi.NativeFunction<OSStatus Function(SSLContextRef, OSStatus)>>(
+          'SSLSetError');
+  late final _SSLSetError =
+      _SSLSetErrorPtr.asFunction<int Function(SSLContextRef, int)>();
+
+  late final ffi.Pointer<ffi.Int64> _NSURLSessionTransferSizeUnknown =
+      _lookup<ffi.Int64>('NSURLSessionTransferSizeUnknown');
+
+  int get NSURLSessionTransferSizeUnknown =>
+      _NSURLSessionTransferSizeUnknown.value;
+
+  set NSURLSessionTransferSizeUnknown(int value) =>
+      _NSURLSessionTransferSizeUnknown.value = value;
+
+  late final _class_NSURLSession1 = _getClass1("NSURLSession");
+  late final _sel_sharedSession1 = _registerName1("sharedSession");
+  ffi.Pointer<ObjCObject> _objc_msgSend_817(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_817(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_817Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_817 = __objc_msgSend_817Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _class_NSURLSessionConfiguration1 =
+      _getClass1("NSURLSessionConfiguration");
+  late final _sel_defaultSessionConfiguration1 =
+      _registerName1("defaultSessionConfiguration");
+  ffi.Pointer<ObjCObject> _objc_msgSend_818(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_818(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_818Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_818 = __objc_msgSend_818Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_ephemeralSessionConfiguration1 =
+      _registerName1("ephemeralSessionConfiguration");
+  late final _sel_backgroundSessionConfigurationWithIdentifier_1 =
+      _registerName1("backgroundSessionConfigurationWithIdentifier:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_819(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> identifier,
+  ) {
+    return __objc_msgSend_819(
+      obj,
+      sel,
+      identifier,
+    );
+  }
+
+  late final __objc_msgSend_819Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_819 = __objc_msgSend_819Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_identifier1 = _registerName1("identifier");
+  late final _sel_requestCachePolicy1 = _registerName1("requestCachePolicy");
+  late final _sel_setRequestCachePolicy_1 =
+      _registerName1("setRequestCachePolicy:");
+  late final _sel_timeoutIntervalForRequest1 =
+      _registerName1("timeoutIntervalForRequest");
+  late final _sel_setTimeoutIntervalForRequest_1 =
+      _registerName1("setTimeoutIntervalForRequest:");
+  late final _sel_timeoutIntervalForResource1 =
+      _registerName1("timeoutIntervalForResource");
+  late final _sel_setTimeoutIntervalForResource_1 =
+      _registerName1("setTimeoutIntervalForResource:");
+  late final _sel_waitsForConnectivity1 =
+      _registerName1("waitsForConnectivity");
+  late final _sel_setWaitsForConnectivity_1 =
+      _registerName1("setWaitsForConnectivity:");
+  late final _sel_isDiscretionary1 = _registerName1("isDiscretionary");
+  late final _sel_setDiscretionary_1 = _registerName1("setDiscretionary:");
+  late final _sel_sharedContainerIdentifier1 =
+      _registerName1("sharedContainerIdentifier");
+  late final _sel_setSharedContainerIdentifier_1 =
+      _registerName1("setSharedContainerIdentifier:");
+  late final _sel_sessionSendsLaunchEvents1 =
+      _registerName1("sessionSendsLaunchEvents");
+  late final _sel_setSessionSendsLaunchEvents_1 =
+      _registerName1("setSessionSendsLaunchEvents:");
+  late final _sel_connectionProxyDictionary1 =
+      _registerName1("connectionProxyDictionary");
+  late final _sel_setConnectionProxyDictionary_1 =
+      _registerName1("setConnectionProxyDictionary:");
+  late final _sel_TLSMinimumSupportedProtocol1 =
+      _registerName1("TLSMinimumSupportedProtocol");
+  int _objc_msgSend_820(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_820(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_820Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_820 = __objc_msgSend_820Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setTLSMinimumSupportedProtocol_1 =
+      _registerName1("setTLSMinimumSupportedProtocol:");
+  void _objc_msgSend_821(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_821(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_821Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_821 = __objc_msgSend_821Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_TLSMaximumSupportedProtocol1 =
+      _registerName1("TLSMaximumSupportedProtocol");
+  late final _sel_setTLSMaximumSupportedProtocol_1 =
+      _registerName1("setTLSMaximumSupportedProtocol:");
+  late final _sel_TLSMinimumSupportedProtocolVersion1 =
+      _registerName1("TLSMinimumSupportedProtocolVersion");
+  int _objc_msgSend_822(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_822(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_822Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_822 = __objc_msgSend_822Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setTLSMinimumSupportedProtocolVersion_1 =
+      _registerName1("setTLSMinimumSupportedProtocolVersion:");
+  void _objc_msgSend_823(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_823(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_823Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_823 = __objc_msgSend_823Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_TLSMaximumSupportedProtocolVersion1 =
+      _registerName1("TLSMaximumSupportedProtocolVersion");
+  late final _sel_setTLSMaximumSupportedProtocolVersion_1 =
+      _registerName1("setTLSMaximumSupportedProtocolVersion:");
+  late final _sel_HTTPShouldSetCookies1 =
+      _registerName1("HTTPShouldSetCookies");
+  late final _sel_setHTTPShouldSetCookies_1 =
+      _registerName1("setHTTPShouldSetCookies:");
+  late final _sel_HTTPCookieAcceptPolicy1 =
+      _registerName1("HTTPCookieAcceptPolicy");
+  late final _sel_setHTTPCookieAcceptPolicy_1 =
+      _registerName1("setHTTPCookieAcceptPolicy:");
+  late final _sel_HTTPAdditionalHeaders1 =
+      _registerName1("HTTPAdditionalHeaders");
+  late final _sel_setHTTPAdditionalHeaders_1 =
+      _registerName1("setHTTPAdditionalHeaders:");
+  late final _sel_HTTPMaximumConnectionsPerHost1 =
+      _registerName1("HTTPMaximumConnectionsPerHost");
+  late final _sel_setHTTPMaximumConnectionsPerHost_1 =
+      _registerName1("setHTTPMaximumConnectionsPerHost:");
+  late final _sel_HTTPCookieStorage1 = _registerName1("HTTPCookieStorage");
+  late final _sel_setHTTPCookieStorage_1 =
+      _registerName1("setHTTPCookieStorage:");
+  void _objc_msgSend_824(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_824(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_824Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_824 = __objc_msgSend_824Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLCredentialStorage1 =
+      _registerName1("URLCredentialStorage");
+  late final _sel_setURLCredentialStorage_1 =
+      _registerName1("setURLCredentialStorage:");
+  void _objc_msgSend_825(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> value,
+  ) {
+    return __objc_msgSend_825(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_825Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_825 = __objc_msgSend_825Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_URLCache1 = _registerName1("URLCache");
+  late final _sel_setURLCache_1 = _registerName1("setURLCache:");
+  late final _sel_shouldUseExtendedBackgroundIdleMode1 =
+      _registerName1("shouldUseExtendedBackgroundIdleMode");
+  late final _sel_setShouldUseExtendedBackgroundIdleMode_1 =
+      _registerName1("setShouldUseExtendedBackgroundIdleMode:");
+  late final _sel_protocolClasses1 = _registerName1("protocolClasses");
+  late final _sel_setProtocolClasses_1 = _registerName1("setProtocolClasses:");
+  late final _sel_multipathServiceType1 =
+      _registerName1("multipathServiceType");
+  int _objc_msgSend_826(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_826(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_826Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_826 = __objc_msgSend_826Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_setMultipathServiceType_1 =
+      _registerName1("setMultipathServiceType:");
+  void _objc_msgSend_827(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int value,
+  ) {
+    return __objc_msgSend_827(
+      obj,
+      sel,
+      value,
+    );
+  }
+
+  late final __objc_msgSend_827Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_827 = __objc_msgSend_827Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_backgroundSessionConfiguration_1 =
+      _registerName1("backgroundSessionConfiguration:");
+  late final _sel_sessionWithConfiguration_1 =
+      _registerName1("sessionWithConfiguration:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_828(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> configuration,
+  ) {
+    return __objc_msgSend_828(
+      obj,
+      sel,
+      configuration,
+    );
+  }
+
+  late final __objc_msgSend_828Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_828 = __objc_msgSend_828Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_sessionWithConfiguration_delegate_delegateQueue_1 =
+      _registerName1("sessionWithConfiguration:delegate:delegateQueue:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_829(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> configuration,
+    ffi.Pointer<ObjCObject> delegate,
+    ffi.Pointer<ObjCObject> queue,
+  ) {
+    return __objc_msgSend_829(
+      obj,
+      sel,
+      configuration,
+      delegate,
+      queue,
+    );
+  }
+
+  late final __objc_msgSend_829Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_829 = __objc_msgSend_829Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_delegateQueue1 = _registerName1("delegateQueue");
+  late final _sel_configuration1 = _registerName1("configuration");
+  late final _sel_sessionDescription1 = _registerName1("sessionDescription");
+  late final _sel_setSessionDescription_1 =
+      _registerName1("setSessionDescription:");
+  late final _sel_finishTasksAndInvalidate1 =
+      _registerName1("finishTasksAndInvalidate");
+  late final _sel_invalidateAndCancel1 = _registerName1("invalidateAndCancel");
+  late final _sel_resetWithCompletionHandler_1 =
+      _registerName1("resetWithCompletionHandler:");
+  late final _sel_flushWithCompletionHandler_1 =
+      _registerName1("flushWithCompletionHandler:");
+  late final _sel_getTasksWithCompletionHandler_1 =
+      _registerName1("getTasksWithCompletionHandler:");
+  void _objc_msgSend_830(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_830(
+      obj,
+      sel,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_830Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_830 = __objc_msgSend_830Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_getAllTasksWithCompletionHandler_1 =
+      _registerName1("getAllTasksWithCompletionHandler:");
+  void _objc_msgSend_831(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_831(
+      obj,
+      sel,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_831Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_831 = __objc_msgSend_831Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_dataTaskWithRequest_1 =
+      _registerName1("dataTaskWithRequest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_832(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_832(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_832Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_832 = __objc_msgSend_832Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dataTaskWithURL_1 = _registerName1("dataTaskWithURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_833(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_833(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_833Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_833 = __objc_msgSend_833Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSURLSessionUploadTask1 =
+      _getClass1("NSURLSessionUploadTask");
+  late final _sel_uploadTaskWithRequest_fromFile_1 =
+      _registerName1("uploadTaskWithRequest:fromFile:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_834(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> fileURL,
+  ) {
+    return __objc_msgSend_834(
+      obj,
+      sel,
+      request,
+      fileURL,
+    );
+  }
+
+  late final __objc_msgSend_834Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_834 = __objc_msgSend_834Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_uploadTaskWithRequest_fromData_1 =
+      _registerName1("uploadTaskWithRequest:fromData:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_835(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> bodyData,
+  ) {
+    return __objc_msgSend_835(
+      obj,
+      sel,
+      request,
+      bodyData,
+    );
+  }
+
+  late final __objc_msgSend_835Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_835 = __objc_msgSend_835Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_uploadTaskWithStreamedRequest_1 =
+      _registerName1("uploadTaskWithStreamedRequest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_836(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_836(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_836Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_836 = __objc_msgSend_836Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSURLSessionDownloadTask1 =
+      _getClass1("NSURLSessionDownloadTask");
+  late final _sel_cancelByProducingResumeData_1 =
+      _registerName1("cancelByProducingResumeData:");
+  void _objc_msgSend_837(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_837(
+      obj,
+      sel,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_837Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_837 = __objc_msgSend_837Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_downloadTaskWithRequest_1 =
+      _registerName1("downloadTaskWithRequest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_838(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_838(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_838Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_838 = __objc_msgSend_838Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_downloadTaskWithURL_1 =
+      _registerName1("downloadTaskWithURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_839(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_839(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_839Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_839 = __objc_msgSend_839Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_downloadTaskWithResumeData_1 =
+      _registerName1("downloadTaskWithResumeData:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_840(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> resumeData,
+  ) {
+    return __objc_msgSend_840(
+      obj,
+      sel,
+      resumeData,
+    );
+  }
+
+  late final __objc_msgSend_840Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_840 = __objc_msgSend_840Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSURLSessionStreamTask1 =
+      _getClass1("NSURLSessionStreamTask");
+  late final _sel_readDataOfMinLength_maxLength_timeout_completionHandler_1 =
+      _registerName1(
+          "readDataOfMinLength:maxLength:timeout:completionHandler:");
+  void _objc_msgSend_841(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int minBytes,
+    int maxBytes,
+    double timeout,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_841(
+      obj,
+      sel,
+      minBytes,
+      maxBytes,
+      timeout,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_841Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              NSUInteger,
+              NSUInteger,
+              NSTimeInterval,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_841 = __objc_msgSend_841Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int, int,
+          double, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_writeData_timeout_completionHandler_1 =
+      _registerName1("writeData:timeout:completionHandler:");
+  void _objc_msgSend_842(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> data,
+    double timeout,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_842(
+      obj,
+      sel,
+      data,
+      timeout,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_842Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSTimeInterval,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_842 = __objc_msgSend_842Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, double, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_captureStreams1 = _registerName1("captureStreams");
+  late final _sel_closeWrite1 = _registerName1("closeWrite");
+  late final _sel_closeRead1 = _registerName1("closeRead");
+  late final _sel_startSecureConnection1 =
+      _registerName1("startSecureConnection");
+  late final _sel_stopSecureConnection1 =
+      _registerName1("stopSecureConnection");
+  late final _sel_streamTaskWithHostName_port_1 =
+      _registerName1("streamTaskWithHostName:port:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_843(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> hostname,
+    int port,
+  ) {
+    return __objc_msgSend_843(
+      obj,
+      sel,
+      hostname,
+      port,
+    );
+  }
+
+  late final __objc_msgSend_843Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              NSInteger)>>('objc_msgSend');
+  late final __objc_msgSend_843 = __objc_msgSend_843Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>, int)>();
+
+  late final _class_NSNetService1 = _getClass1("NSNetService");
+  late final _sel_initWithDomain_type_name_port_1 =
+      _registerName1("initWithDomain:type:name:port:");
+  instancetype _objc_msgSend_844(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> domain,
+    ffi.Pointer<ObjCObject> type,
+    ffi.Pointer<ObjCObject> name,
+    int port,
+  ) {
+    return __objc_msgSend_844(
+      obj,
+      sel,
+      domain,
+      type,
+      name,
+      port,
+    );
+  }
+
+  late final __objc_msgSend_844Ptr = _lookup<
+      ffi.NativeFunction<
+          instancetype Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Int)>>('objc_msgSend');
+  late final __objc_msgSend_844 = __objc_msgSend_844Ptr.asFunction<
+      instancetype Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          int)>();
+
+  late final _sel_initWithDomain_type_name_1 =
+      _registerName1("initWithDomain:type:name:");
+  late final _sel_includesPeerToPeer1 = _registerName1("includesPeerToPeer");
+  late final _sel_setIncludesPeerToPeer_1 =
+      _registerName1("setIncludesPeerToPeer:");
+  late final _sel_type1 = _registerName1("type");
+  late final _sel_addresses1 = _registerName1("addresses");
+  late final _sel_publishWithOptions_1 = _registerName1("publishWithOptions:");
+  void _objc_msgSend_845(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int options,
+  ) {
+    return __objc_msgSend_845(
+      obj,
+      sel,
+      options,
+    );
+  }
+
+  late final __objc_msgSend_845Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32)>>('objc_msgSend');
+  late final __objc_msgSend_845 = __objc_msgSend_845Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int)>();
+
+  late final _sel_resolve1 = _registerName1("resolve");
+  late final _sel_stop1 = _registerName1("stop");
+  late final _sel_dictionaryFromTXTRecordData_1 =
+      _registerName1("dictionaryFromTXTRecordData:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_846(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> txtData,
+  ) {
+    return __objc_msgSend_846(
+      obj,
+      sel,
+      txtData,
+    );
+  }
+
+  late final __objc_msgSend_846Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_846 = __objc_msgSend_846Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dataFromTXTRecordDictionary_1 =
+      _registerName1("dataFromTXTRecordDictionary:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_847(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> txtDictionary,
+  ) {
+    return __objc_msgSend_847(
+      obj,
+      sel,
+      txtDictionary,
+    );
+  }
+
+  late final __objc_msgSend_847Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_847 = __objc_msgSend_847Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_resolveWithTimeout_1 = _registerName1("resolveWithTimeout:");
+  late final _sel_getInputStream_outputStream_1 =
+      _registerName1("getInputStream:outputStream:");
+  bool _objc_msgSend_848(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+    ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream,
+  ) {
+    return __objc_msgSend_848(
+      obj,
+      sel,
+      inputStream,
+      outputStream,
+    );
+  }
+
+  late final __objc_msgSend_848Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Bool Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>,
+              ffi.Pointer<ffi.Pointer<ObjCObject>>)>>('objc_msgSend');
+  late final __objc_msgSend_848 = __objc_msgSend_848Ptr.asFunction<
+      bool Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>,
+          ffi.Pointer<ffi.Pointer<ObjCObject>>)>();
+
+  late final _sel_setTXTRecordData_1 = _registerName1("setTXTRecordData:");
+  late final _sel_TXTRecordData1 = _registerName1("TXTRecordData");
+  late final _sel_startMonitoring1 = _registerName1("startMonitoring");
+  late final _sel_stopMonitoring1 = _registerName1("stopMonitoring");
+  late final _sel_streamTaskWithNetService_1 =
+      _registerName1("streamTaskWithNetService:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_849(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> service,
+  ) {
+    return __objc_msgSend_849(
+      obj,
+      sel,
+      service,
+    );
+  }
+
+  late final __objc_msgSend_849Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_849 = __objc_msgSend_849Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _class_NSURLSessionWebSocketTask1 =
+      _getClass1("NSURLSessionWebSocketTask");
+  late final _class_NSURLSessionWebSocketMessage1 =
+      _getClass1("NSURLSessionWebSocketMessage");
+  int _objc_msgSend_850(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_850(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_850Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_850 = __objc_msgSend_850Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_sendMessage_completionHandler_1 =
+      _registerName1("sendMessage:completionHandler:");
+  void _objc_msgSend_851(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> message,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_851(
+      obj,
+      sel,
+      message,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_851Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_851 = __objc_msgSend_851Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_receiveMessageWithCompletionHandler_1 =
+      _registerName1("receiveMessageWithCompletionHandler:");
+  void _objc_msgSend_852(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_852(
+      obj,
+      sel,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_852Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_852 = __objc_msgSend_852Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_sendPingWithPongReceiveHandler_1 =
+      _registerName1("sendPingWithPongReceiveHandler:");
+  void _objc_msgSend_853(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<_ObjCBlock> pongReceiveHandler,
+  ) {
+    return __objc_msgSend_853(
+      obj,
+      sel,
+      pongReceiveHandler,
+    );
+  }
+
+  late final __objc_msgSend_853Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_853 = __objc_msgSend_853Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_cancelWithCloseCode_reason_1 =
+      _registerName1("cancelWithCloseCode:reason:");
+  void _objc_msgSend_854(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    int closeCode,
+    ffi.Pointer<ObjCObject> reason,
+  ) {
+    return __objc_msgSend_854(
+      obj,
+      sel,
+      closeCode,
+      reason,
+    );
+  }
+
+  late final __objc_msgSend_854Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Int32, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_854 = __objc_msgSend_854Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>, int,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_maximumMessageSize1 = _registerName1("maximumMessageSize");
+  late final _sel_setMaximumMessageSize_1 =
+      _registerName1("setMaximumMessageSize:");
+  late final _sel_closeCode1 = _registerName1("closeCode");
+  int _objc_msgSend_855(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_855(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_855Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_855 = __objc_msgSend_855Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_closeReason1 = _registerName1("closeReason");
+  late final _sel_webSocketTaskWithURL_1 =
+      _registerName1("webSocketTaskWithURL:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_856(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+  ) {
+    return __objc_msgSend_856(
+      obj,
+      sel,
+      url,
+    );
+  }
+
+  late final __objc_msgSend_856Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_856 = __objc_msgSend_856Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_webSocketTaskWithURL_protocols_1 =
+      _registerName1("webSocketTaskWithURL:protocols:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_857(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<ObjCObject> protocols,
+  ) {
+    return __objc_msgSend_857(
+      obj,
+      sel,
+      url,
+      protocols,
+    );
+  }
+
+  late final __objc_msgSend_857Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_857 = __objc_msgSend_857Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_webSocketTaskWithRequest_1 =
+      _registerName1("webSocketTaskWithRequest:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_858(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+  ) {
+    return __objc_msgSend_858(
+      obj,
+      sel,
+      request,
+    );
+  }
+
+  late final __objc_msgSend_858Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>>('objc_msgSend');
+  late final __objc_msgSend_858 = __objc_msgSend_858Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>, ffi.Pointer<ObjCObject>)>();
+
+  late final _sel_dataTaskWithRequest_completionHandler_1 =
+      _registerName1("dataTaskWithRequest:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_859(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_859(
+      obj,
+      sel,
+      request,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_859Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_859 = __objc_msgSend_859Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_dataTaskWithURL_completionHandler_1 =
+      _registerName1("dataTaskWithURL:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_860(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_860(
+      obj,
+      sel,
+      url,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_860Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_860 = __objc_msgSend_860Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_uploadTaskWithRequest_fromFile_completionHandler_1 =
+      _registerName1("uploadTaskWithRequest:fromFile:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_861(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> fileURL,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_861(
+      obj,
+      sel,
+      request,
+      fileURL,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_861Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_861 = __objc_msgSend_861Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_uploadTaskWithRequest_fromData_completionHandler_1 =
+      _registerName1("uploadTaskWithRequest:fromData:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_862(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<ObjCObject> bodyData,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_862(
+      obj,
+      sel,
+      request,
+      bodyData,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_862Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_862 = __objc_msgSend_862Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_downloadTaskWithRequest_completionHandler_1 =
+      _registerName1("downloadTaskWithRequest:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_863(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> request,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_863(
+      obj,
+      sel,
+      request,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_863Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_863 = __objc_msgSend_863Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_downloadTaskWithURL_completionHandler_1 =
+      _registerName1("downloadTaskWithURL:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_864(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> url,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_864(
+      obj,
+      sel,
+      url,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_864Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_864 = __objc_msgSend_864Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final _sel_downloadTaskWithResumeData_completionHandler_1 =
+      _registerName1("downloadTaskWithResumeData:completionHandler:");
+  ffi.Pointer<ObjCObject> _objc_msgSend_865(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> resumeData,
+    ffi.Pointer<_ObjCBlock> completionHandler,
+  ) {
+    return __objc_msgSend_865(
+      obj,
+      sel,
+      resumeData,
+      completionHandler,
+    );
+  }
+
+  late final __objc_msgSend_865Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<_ObjCBlock>)>>('objc_msgSend');
+  late final __objc_msgSend_865 = __objc_msgSend_865Ptr.asFunction<
+      ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<_ObjCBlock>)>();
+
+  late final ffi.Pointer<ffi.Float> _NSURLSessionTaskPriorityDefault =
+      _lookup<ffi.Float>('NSURLSessionTaskPriorityDefault');
+
+  double get NSURLSessionTaskPriorityDefault =>
+      _NSURLSessionTaskPriorityDefault.value;
+
+  set NSURLSessionTaskPriorityDefault(double value) =>
+      _NSURLSessionTaskPriorityDefault.value = value;
+
+  late final ffi.Pointer<ffi.Float> _NSURLSessionTaskPriorityLow =
+      _lookup<ffi.Float>('NSURLSessionTaskPriorityLow');
+
+  double get NSURLSessionTaskPriorityLow => _NSURLSessionTaskPriorityLow.value;
+
+  set NSURLSessionTaskPriorityLow(double value) =>
+      _NSURLSessionTaskPriorityLow.value = value;
+
+  late final ffi.Pointer<ffi.Float> _NSURLSessionTaskPriorityHigh =
+      _lookup<ffi.Float>('NSURLSessionTaskPriorityHigh');
+
+  double get NSURLSessionTaskPriorityHigh =>
+      _NSURLSessionTaskPriorityHigh.value;
+
+  set NSURLSessionTaskPriorityHigh(double value) =>
+      _NSURLSessionTaskPriorityHigh.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSURLSessionDownloadTaskResumeData =
+      _lookup<ffi.Pointer<ObjCObject>>('NSURLSessionDownloadTaskResumeData');
+
+  ffi.Pointer<ObjCObject> get NSURLSessionDownloadTaskResumeData =>
+      _NSURLSessionDownloadTaskResumeData.value;
+
+  set NSURLSessionDownloadTaskResumeData(ffi.Pointer<ObjCObject> value) =>
+      _NSURLSessionDownloadTaskResumeData.value = value;
+
+  late final ffi.Pointer<ffi.Pointer<ObjCObject>>
+      _NSUserActivityTypeBrowsingWeb =
+      _lookup<ffi.Pointer<ObjCObject>>('NSUserActivityTypeBrowsingWeb');
+
+  ffi.Pointer<ObjCObject> get NSUserActivityTypeBrowsingWeb =>
+      _NSUserActivityTypeBrowsingWeb.value;
+
+  set NSUserActivityTypeBrowsingWeb(ffi.Pointer<ObjCObject> value) =>
+      _NSUserActivityTypeBrowsingWeb.value = value;
+
+  late final _class_CMPedometer1 = _getClass1("CMPedometer");
+  late final _sel_isStepCountingAvailable1 =
+      _registerName1("isStepCountingAvailable");
+  late final _sel_isDistanceAvailable1 = _registerName1("isDistanceAvailable");
+  late final _sel_isFloorCountingAvailable1 =
+      _registerName1("isFloorCountingAvailable");
+  late final _sel_isPaceAvailable1 = _registerName1("isPaceAvailable");
+  late final _sel_isCadenceAvailable1 = _registerName1("isCadenceAvailable");
+  late final _sel_isPedometerEventTrackingAvailable1 =
+      _registerName1("isPedometerEventTrackingAvailable");
+  late final _sel_authorizationStatus1 = _registerName1("authorizationStatus");
+  int _objc_msgSend_866(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_866(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_866Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_866 = __objc_msgSend_866Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _class_CMPedometerData1 = _getClass1("CMPedometerData");
+  late final _sel_startDate1 = _registerName1("startDate");
+  late final _sel_endDate1 = _registerName1("endDate");
+  late final _sel_numberOfSteps1 = _registerName1("numberOfSteps");
+  late final _sel_distance1 = _registerName1("distance");
+  late final _sel_floorsAscended1 = _registerName1("floorsAscended");
+  late final _sel_floorsDescended1 = _registerName1("floorsDescended");
+  late final _sel_currentPace1 = _registerName1("currentPace");
+  late final _sel_currentCadence1 = _registerName1("currentCadence");
+  late final _sel_averageActivePace1 = _registerName1("averageActivePace");
+  late final _sel_queryPedometerDataFromDate_toDate_withHandler_1 =
+      _registerName1("queryPedometerDataFromDate:toDate:withHandler:");
+  void _objc_msgSend_867(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> start,
+    ffi.Pointer<ObjCObject> end,
+    CMPedometerHandler handler,
+  ) {
+    return __objc_msgSend_867(
+      obj,
+      sel,
+      start,
+      end,
+      handler,
+    );
+  }
+
+  late final __objc_msgSend_867Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>,
+              ffi.Pointer<ObjCObject>,
+              CMPedometerHandler)>>('objc_msgSend');
+  late final __objc_msgSend_867 = __objc_msgSend_867Ptr.asFunction<
+      void Function(
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>,
+          CMPedometerHandler)>();
+
+  late final _sel_startPedometerUpdatesFromDate_withHandler_1 =
+      _registerName1("startPedometerUpdatesFromDate:withHandler:");
+  void _objc_msgSend_868(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    ffi.Pointer<ObjCObject> start,
+    CMPedometerHandler handler,
+  ) {
+    return __objc_msgSend_868(
+      obj,
+      sel,
+      start,
+      handler,
+    );
+  }
+
+  late final __objc_msgSend_868Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              ffi.Pointer<ObjCObject>, CMPedometerHandler)>>('objc_msgSend');
+  late final __objc_msgSend_868 = __objc_msgSend_868Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          ffi.Pointer<ObjCObject>, CMPedometerHandler)>();
+
+  late final _sel_stopPedometerUpdates1 =
+      _registerName1("stopPedometerUpdates");
+  late final _class_CMPedometerEvent1 = _getClass1("CMPedometerEvent");
+  int _objc_msgSend_869(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+  ) {
+    return __objc_msgSend_869(
+      obj,
+      sel,
+    );
+  }
+
+  late final __objc_msgSend_869Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>>('objc_msgSend');
+  late final __objc_msgSend_869 = __objc_msgSend_869Ptr.asFunction<
+      int Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>)>();
+
+  late final _sel_startPedometerEventUpdatesWithHandler_1 =
+      _registerName1("startPedometerEventUpdatesWithHandler:");
+  void _objc_msgSend_870(
+    ffi.Pointer<ObjCObject> obj,
+    ffi.Pointer<ObjCSel> sel,
+    CMPedometerEventHandler handler,
+  ) {
+    return __objc_msgSend_870(
+      obj,
+      sel,
+      handler,
+    );
+  }
+
+  late final __objc_msgSend_870Ptr = _lookup<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+              CMPedometerEventHandler)>>('objc_msgSend');
+  late final __objc_msgSend_870 = __objc_msgSend_870Ptr.asFunction<
+      void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCSel>,
+          CMPedometerEventHandler)>();
+
+  late final _sel_stopPedometerEventUpdates1 =
+      _registerName1("stopPedometerEventUpdates");
+}
+
+final class __mbstate_t extends ffi.Union {
+  @ffi.Array.multi([128])
+  external ffi.Array<ffi.Char> __mbstate8;
+
+  @ffi.LongLong()
+  external int _mbstateL;
+}
+
+final class __darwin_pthread_handler_rec extends ffi.Struct {
+  external ffi
+      .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>
+      __routine;
+
+  external ffi.Pointer<ffi.Void> __arg;
+
+  external ffi.Pointer<__darwin_pthread_handler_rec> __next;
+}
+
+final class _opaque_pthread_attr_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([56])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_cond_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([40])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_condattr_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([8])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_mutex_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([56])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_mutexattr_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([8])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_once_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([8])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_rwlock_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([192])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_rwlockattr_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class _opaque_pthread_t extends ffi.Struct {
+  @ffi.Long()
+  external int __sig;
+
+  external ffi.Pointer<__darwin_pthread_handler_rec> __cleanup_stack;
+
+  @ffi.Array.multi([8176])
+  external ffi.Array<ffi.Char> __opaque;
+}
+
+final class fd_set extends ffi.Struct {
+  @ffi.Array.multi([32])
+  external ffi.Array<__int32_t> fds_bits;
+}
+
+typedef __int32_t = ffi.Int;
+
+final class _RuneEntry extends ffi.Struct {
+  @__darwin_rune_t()
+  external int __min;
+
+  @__darwin_rune_t()
+  external int __max;
+
+  @__darwin_rune_t()
+  external int __map;
+
+  external ffi.Pointer<__uint32_t> __types;
+}
+
+typedef __darwin_rune_t = __darwin_wchar_t;
+typedef __darwin_wchar_t = ffi.Int;
+typedef __uint32_t = ffi.UnsignedInt;
+
+final class _RuneRange extends ffi.Struct {
+  @ffi.Int()
+  external int __nranges;
+
+  external ffi.Pointer<_RuneEntry> __ranges;
+}
+
+final class _RuneCharClass extends ffi.Struct {
+  @ffi.Array.multi([14])
+  external ffi.Array<ffi.Char> __name;
+
+  @__uint32_t()
+  external int __mask;
+}
+
+final class _RuneLocale extends ffi.Struct {
+  @ffi.Array.multi([8])
+  external ffi.Array<ffi.Char> __magic;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<ffi.Char> __encoding;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          __darwin_rune_t Function(ffi.Pointer<ffi.Char>, __darwin_size_t,
+              ffi.Pointer<ffi.Pointer<ffi.Char>>)>> __sgetrune;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Int Function(__darwin_rune_t, ffi.Pointer<ffi.Char>,
+              __darwin_size_t, ffi.Pointer<ffi.Pointer<ffi.Char>>)>> __sputrune;
+
+  @__darwin_rune_t()
+  external int __invalid_rune;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<__uint32_t> __runetype;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<__darwin_rune_t> __maplower;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<__darwin_rune_t> __mapupper;
+
+  external _RuneRange __runetype_ext;
+
+  external _RuneRange __maplower_ext;
+
+  external _RuneRange __mapupper_ext;
+
+  external ffi.Pointer<ffi.Void> __variable;
+
+  @ffi.Int()
+  external int __variable_len;
+
+  @ffi.Int()
+  external int __ncharclasses;
+
+  external ffi.Pointer<_RuneCharClass> __charclasses;
+}
+
+typedef __darwin_size_t = ffi.UnsignedLong;
+typedef __darwin_ct_rune_t = ffi.Int;
+
+final class lconv extends ffi.Struct {
+  external ffi.Pointer<ffi.Char> decimal_point;
+
+  external ffi.Pointer<ffi.Char> thousands_sep;
+
+  external ffi.Pointer<ffi.Char> grouping;
+
+  external ffi.Pointer<ffi.Char> int_curr_symbol;
+
+  external ffi.Pointer<ffi.Char> currency_symbol;
+
+  external ffi.Pointer<ffi.Char> mon_decimal_point;
+
+  external ffi.Pointer<ffi.Char> mon_thousands_sep;
+
+  external ffi.Pointer<ffi.Char> mon_grouping;
+
+  external ffi.Pointer<ffi.Char> positive_sign;
+
+  external ffi.Pointer<ffi.Char> negative_sign;
+
+  @ffi.Char()
+  external int int_frac_digits;
+
+  @ffi.Char()
+  external int frac_digits;
+
+  @ffi.Char()
+  external int p_cs_precedes;
+
+  @ffi.Char()
+  external int p_sep_by_space;
+
+  @ffi.Char()
+  external int n_cs_precedes;
+
+  @ffi.Char()
+  external int n_sep_by_space;
+
+  @ffi.Char()
+  external int p_sign_posn;
+
+  @ffi.Char()
+  external int n_sign_posn;
+
+  @ffi.Char()
+  external int int_p_cs_precedes;
+
+  @ffi.Char()
+  external int int_n_cs_precedes;
+
+  @ffi.Char()
+  external int int_p_sep_by_space;
+
+  @ffi.Char()
+  external int int_n_sep_by_space;
+
+  @ffi.Char()
+  external int int_p_sign_posn;
+
+  @ffi.Char()
+  external int int_n_sign_posn;
+}
+
+final class __float2 extends ffi.Struct {
+  @ffi.Float()
+  external double __sinval;
+
+  @ffi.Float()
+  external double __cosval;
+}
+
+final class __double2 extends ffi.Struct {
+  @ffi.Double()
+  external double __sinval;
+
+  @ffi.Double()
+  external double __cosval;
+}
+
+final class exception extends ffi.Struct {
+  @ffi.Int()
+  external int type;
+
+  external ffi.Pointer<ffi.Char> name;
+
+  @ffi.Double()
+  external double arg1;
+
+  @ffi.Double()
+  external double arg2;
+
+  @ffi.Double()
+  external double retval;
+}
+
+final class __darwin_i386_thread_state extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int __eax;
+
+  @ffi.UnsignedInt()
+  external int __ebx;
+
+  @ffi.UnsignedInt()
+  external int __ecx;
+
+  @ffi.UnsignedInt()
+  external int __edx;
+
+  @ffi.UnsignedInt()
+  external int __edi;
+
+  @ffi.UnsignedInt()
+  external int __esi;
+
+  @ffi.UnsignedInt()
+  external int __ebp;
+
+  @ffi.UnsignedInt()
+  external int __esp;
+
+  @ffi.UnsignedInt()
+  external int __ss;
+
+  @ffi.UnsignedInt()
+  external int __eflags;
+
+  @ffi.UnsignedInt()
+  external int __eip;
+
+  @ffi.UnsignedInt()
+  external int __cs;
+
+  @ffi.UnsignedInt()
+  external int __ds;
+
+  @ffi.UnsignedInt()
+  external int __es;
+
+  @ffi.UnsignedInt()
+  external int __fs;
+
+  @ffi.UnsignedInt()
+  external int __gs;
+}
+
+final class __darwin_fp_control extends ffi.Opaque {}
+
+final class __darwin_fp_status extends ffi.Opaque {}
+
+final class __darwin_mmst_reg extends ffi.Struct {
+  @ffi.Array.multi([10])
+  external ffi.Array<ffi.Char> __mmst_reg;
+
+  @ffi.Array.multi([6])
+  external ffi.Array<ffi.Char> __mmst_rsrv;
+}
+
+final class __darwin_xmm_reg extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Char> __xmm_reg;
+}
+
+final class __darwin_ymm_reg extends ffi.Struct {
+  @ffi.Array.multi([32])
+  external ffi.Array<ffi.Char> __ymm_reg;
+}
+
+final class __darwin_zmm_reg extends ffi.Struct {
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Char> __zmm_reg;
+}
+
+final class __darwin_opmask_reg extends ffi.Struct {
+  @ffi.Array.multi([8])
+  external ffi.Array<ffi.Char> __opmask_reg;
+}
+
+final class __darwin_i386_float_state extends ffi.Opaque {}
+
+final class __darwin_i386_avx_state extends ffi.Opaque {}
+
+final class __darwin_i386_avx512_state extends ffi.Opaque {}
+
+final class __darwin_i386_exception_state extends ffi.Struct {
+  @__uint16_t()
+  external int __trapno;
+
+  @__uint16_t()
+  external int __cpu;
+
+  @__uint32_t()
+  external int __err;
+
+  @__uint32_t()
+  external int __faultvaddr;
+}
+
+typedef __uint16_t = ffi.UnsignedShort;
+
+final class __darwin_x86_debug_state32 extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int __dr0;
+
+  @ffi.UnsignedInt()
+  external int __dr1;
+
+  @ffi.UnsignedInt()
+  external int __dr2;
+
+  @ffi.UnsignedInt()
+  external int __dr3;
+
+  @ffi.UnsignedInt()
+  external int __dr4;
+
+  @ffi.UnsignedInt()
+  external int __dr5;
+
+  @ffi.UnsignedInt()
+  external int __dr6;
+
+  @ffi.UnsignedInt()
+  external int __dr7;
+}
+
+final class __x86_instruction_state extends ffi.Struct {
+  @ffi.Int()
+  external int __insn_stream_valid_bytes;
+
+  @ffi.Int()
+  external int __insn_offset;
+
+  @ffi.Int()
+  external int __out_of_synch;
+
+  @ffi.Array.multi([2380])
+  external ffi.Array<__uint8_t> __insn_bytes;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<__uint8_t> __insn_cacheline;
+}
+
+typedef __uint8_t = ffi.UnsignedChar;
+
+final class __last_branch_record extends ffi.Opaque {}
+
+final class __last_branch_state extends ffi.Opaque {}
+
+final class __x86_pagein_state extends ffi.Struct {
+  @ffi.Int()
+  external int __pagein_error;
+}
+
+final class __darwin_x86_thread_state64 extends ffi.Struct {
+  @__uint64_t()
+  external int __rax;
+
+  @__uint64_t()
+  external int __rbx;
+
+  @__uint64_t()
+  external int __rcx;
+
+  @__uint64_t()
+  external int __rdx;
+
+  @__uint64_t()
+  external int __rdi;
+
+  @__uint64_t()
+  external int __rsi;
+
+  @__uint64_t()
+  external int __rbp;
+
+  @__uint64_t()
+  external int __rsp;
+
+  @__uint64_t()
+  external int __r8;
+
+  @__uint64_t()
+  external int __r9;
+
+  @__uint64_t()
+  external int __r10;
+
+  @__uint64_t()
+  external int __r11;
+
+  @__uint64_t()
+  external int __r12;
+
+  @__uint64_t()
+  external int __r13;
+
+  @__uint64_t()
+  external int __r14;
+
+  @__uint64_t()
+  external int __r15;
+
+  @__uint64_t()
+  external int __rip;
+
+  @__uint64_t()
+  external int __rflags;
+
+  @__uint64_t()
+  external int __cs;
+
+  @__uint64_t()
+  external int __fs;
+
+  @__uint64_t()
+  external int __gs;
+}
+
+typedef __uint64_t = ffi.UnsignedLongLong;
+
+final class __darwin_x86_thread_full_state64 extends ffi.Struct {
+  external __darwin_x86_thread_state64 __ss64;
+
+  @__uint64_t()
+  external int __ds;
+
+  @__uint64_t()
+  external int __es;
+
+  @__uint64_t()
+  external int __ss;
+
+  @__uint64_t()
+  external int __gsbase;
+}
+
+final class __darwin_x86_float_state64 extends ffi.Opaque {}
+
+final class __darwin_x86_avx_state64 extends ffi.Opaque {}
+
+final class __darwin_x86_avx512_state64 extends ffi.Opaque {}
+
+final class __darwin_x86_exception_state64 extends ffi.Struct {
+  @__uint16_t()
+  external int __trapno;
+
+  @__uint16_t()
+  external int __cpu;
+
+  @__uint32_t()
+  external int __err;
+
+  @__uint64_t()
+  external int __faultvaddr;
+}
+
+final class __darwin_x86_debug_state64 extends ffi.Struct {
+  @__uint64_t()
+  external int __dr0;
+
+  @__uint64_t()
+  external int __dr1;
+
+  @__uint64_t()
+  external int __dr2;
+
+  @__uint64_t()
+  external int __dr3;
+
+  @__uint64_t()
+  external int __dr4;
+
+  @__uint64_t()
+  external int __dr5;
+
+  @__uint64_t()
+  external int __dr6;
+
+  @__uint64_t()
+  external int __dr7;
+}
+
+final class __darwin_x86_cpmu_state64 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<__uint64_t> __ctrs;
+}
+
+final class __darwin_mcontext32 extends ffi.Opaque {}
+
+final class __darwin_mcontext_avx32 extends ffi.Opaque {}
+
+final class __darwin_mcontext_avx512_32 extends ffi.Opaque {}
+
+final class __darwin_mcontext64 extends ffi.Opaque {}
+
+final class __darwin_mcontext64_full extends ffi.Opaque {}
+
+final class __darwin_mcontext_avx64 extends ffi.Opaque {}
+
+final class __darwin_mcontext_avx64_full extends ffi.Opaque {}
+
+final class __darwin_mcontext_avx512_64 extends ffi.Opaque {}
+
+final class __darwin_mcontext_avx512_64_full extends ffi.Opaque {}
+
+final class __darwin_sigaltstack extends ffi.Struct {
+  external ffi.Pointer<ffi.Void> ss_sp;
+
+  @__darwin_size_t()
+  external int ss_size;
+
+  @ffi.Int()
+  external int ss_flags;
+}
+
+final class __darwin_ucontext extends ffi.Struct {
+  @ffi.Int()
+  external int uc_onstack;
+
+  @__darwin_sigset_t()
+  external int uc_sigmask;
+
+  external __darwin_sigaltstack uc_stack;
+
+  external ffi.Pointer<__darwin_ucontext> uc_link;
+
+  @__darwin_size_t()
+  external int uc_mcsize;
+
+  external ffi.Pointer<__darwin_mcontext64> uc_mcontext;
+}
+
+typedef __darwin_sigset_t = __uint32_t;
+
+final class sigval extends ffi.Union {
+  @ffi.Int()
+  external int sival_int;
+
+  external ffi.Pointer<ffi.Void> sival_ptr;
+}
+
+final class sigevent extends ffi.Struct {
+  @ffi.Int()
+  external int sigev_notify;
+
+  @ffi.Int()
+  external int sigev_signo;
+
+  external sigval sigev_value;
+
+  external ffi.Pointer<ffi.NativeFunction<ffi.Void Function(sigval)>>
+      sigev_notify_function;
+
+  external ffi.Pointer<pthread_attr_t> sigev_notify_attributes;
+}
+
+typedef pthread_attr_t = __darwin_pthread_attr_t;
+typedef __darwin_pthread_attr_t = _opaque_pthread_attr_t;
+
+final class __siginfo extends ffi.Struct {
+  @ffi.Int()
+  external int si_signo;
+
+  @ffi.Int()
+  external int si_errno;
+
+  @ffi.Int()
+  external int si_code;
+
+  @pid_t()
+  external int si_pid;
+
+  @uid_t()
+  external int si_uid;
+
+  @ffi.Int()
+  external int si_status;
+
+  external ffi.Pointer<ffi.Void> si_addr;
+
+  external sigval si_value;
+
+  @ffi.Long()
+  external int si_band;
+
+  @ffi.Array.multi([7])
+  external ffi.Array<ffi.UnsignedLong> __pad;
+}
+
+typedef pid_t = __darwin_pid_t;
+typedef __darwin_pid_t = __int32_t;
+typedef uid_t = __darwin_uid_t;
+typedef __darwin_uid_t = __uint32_t;
+
+final class __sigaction_u extends ffi.Union {
+  external ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>
+      __sa_handler;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Int, ffi.Pointer<__siginfo>, ffi.Pointer<ffi.Void>)>>
+      __sa_sigaction;
+}
+
+final class __sigaction extends ffi.Struct {
+  external __sigaction_u __sigaction_u1;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Int, ffi.Int,
+              ffi.Pointer<siginfo_t>, ffi.Pointer<ffi.Void>)>> sa_tramp;
+
+  @sigset_t()
+  external int sa_mask;
+
+  @ffi.Int()
+  external int sa_flags;
+}
+
+typedef siginfo_t = __siginfo;
+typedef sigset_t = __darwin_sigset_t;
+
+final class sigaction extends ffi.Struct {
+  external __sigaction_u __sigaction_u1;
+
+  @sigset_t()
+  external int sa_mask;
+
+  @ffi.Int()
+  external int sa_flags;
+}
+
+final class sigvec extends ffi.Struct {
+  external ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>
+      sv_handler;
+
+  @ffi.Int()
+  external int sv_mask;
+
+  @ffi.Int()
+  external int sv_flags;
+}
+
+final class sigstack extends ffi.Struct {
+  external ffi.Pointer<ffi.Char> ss_sp;
+
+  @ffi.Int()
+  external int ss_onstack;
+}
+
+typedef pthread_t = __darwin_pthread_t;
+typedef __darwin_pthread_t = ffi.Pointer<_opaque_pthread_t>;
+typedef stack_t = __darwin_sigaltstack;
+
+final class __sbuf extends ffi.Struct {
+  external ffi.Pointer<ffi.UnsignedChar> _base;
+
+  @ffi.Int()
+  external int _size;
+}
+
+final class __sFILEX extends ffi.Opaque {}
+
+final class __sFILE extends ffi.Struct {
+  external ffi.Pointer<ffi.UnsignedChar> _p;
+
+  @ffi.Int()
+  external int _r;
+
+  @ffi.Int()
+  external int _w;
+
+  @ffi.Short()
+  external int _flags;
+
+  @ffi.Short()
+  external int _file;
+
+  external __sbuf _bf;
+
+  @ffi.Int()
+  external int _lbfsize;
+
+  external ffi.Pointer<ffi.Void> _cookie;
+
+  external ffi
+      .Pointer<ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Void>)>>
+      _close;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>, ffi.Int)>> _read;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          fpos_t Function(ffi.Pointer<ffi.Void>, fpos_t, ffi.Int)>> _seek;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Int Function(
+              ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Char>, ffi.Int)>> _write;
+
+  external __sbuf _ub;
+
+  external ffi.Pointer<__sFILEX> _extra;
+
+  @ffi.Int()
+  external int _ur;
+
+  @ffi.Array.multi([3])
+  external ffi.Array<ffi.UnsignedChar> _ubuf;
+
+  @ffi.Array.multi([1])
+  external ffi.Array<ffi.UnsignedChar> _nbuf;
+
+  external __sbuf _lb;
+
+  @ffi.Int()
+  external int _blksize;
+
+  @fpos_t()
+  external int _offset;
+}
+
+typedef fpos_t = __darwin_off_t;
+typedef __darwin_off_t = __int64_t;
+typedef __int64_t = ffi.LongLong;
+typedef FILE = __sFILE;
+
+final class __va_list_tag extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int gp_offset;
+
+  @ffi.UnsignedInt()
+  external int fp_offset;
+
+  external ffi.Pointer<ffi.Void> overflow_arg_area;
+
+  external ffi.Pointer<ffi.Void> reg_save_area;
+}
+
+typedef off_t = __darwin_off_t;
+typedef ssize_t = __darwin_ssize_t;
+typedef __darwin_ssize_t = ffi.Long;
+
+abstract class idtype_t {
+  static const int P_ALL = 0;
+  static const int P_PID = 1;
+  static const int P_PGID = 2;
+}
+
+final class timeval extends ffi.Struct {
+  @__darwin_time_t()
+  external int tv_sec;
+
+  @__darwin_suseconds_t()
+  external int tv_usec;
+}
+
+typedef __darwin_time_t = ffi.Long;
+typedef __darwin_suseconds_t = __int32_t;
+
+final class rusage extends ffi.Struct {
+  external timeval ru_utime;
+
+  external timeval ru_stime;
+
+  @ffi.Long()
+  external int ru_maxrss;
+
+  @ffi.Long()
+  external int ru_ixrss;
+
+  @ffi.Long()
+  external int ru_idrss;
+
+  @ffi.Long()
+  external int ru_isrss;
+
+  @ffi.Long()
+  external int ru_minflt;
+
+  @ffi.Long()
+  external int ru_majflt;
+
+  @ffi.Long()
+  external int ru_nswap;
+
+  @ffi.Long()
+  external int ru_inblock;
+
+  @ffi.Long()
+  external int ru_oublock;
+
+  @ffi.Long()
+  external int ru_msgsnd;
+
+  @ffi.Long()
+  external int ru_msgrcv;
+
+  @ffi.Long()
+  external int ru_nsignals;
+
+  @ffi.Long()
+  external int ru_nvcsw;
+
+  @ffi.Long()
+  external int ru_nivcsw;
+}
+
+final class rusage_info_v0 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Uint8> ri_uuid;
+
+  @ffi.Uint64()
+  external int ri_user_time;
+
+  @ffi.Uint64()
+  external int ri_system_time;
+
+  @ffi.Uint64()
+  external int ri_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_pageins;
+
+  @ffi.Uint64()
+  external int ri_wired_size;
+
+  @ffi.Uint64()
+  external int ri_resident_size;
+
+  @ffi.Uint64()
+  external int ri_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_proc_start_abstime;
+
+  @ffi.Uint64()
+  external int ri_proc_exit_abstime;
+}
+
+final class rusage_info_v1 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Uint8> ri_uuid;
+
+  @ffi.Uint64()
+  external int ri_user_time;
+
+  @ffi.Uint64()
+  external int ri_system_time;
+
+  @ffi.Uint64()
+  external int ri_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_pageins;
+
+  @ffi.Uint64()
+  external int ri_wired_size;
+
+  @ffi.Uint64()
+  external int ri_resident_size;
+
+  @ffi.Uint64()
+  external int ri_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_proc_start_abstime;
+
+  @ffi.Uint64()
+  external int ri_proc_exit_abstime;
+
+  @ffi.Uint64()
+  external int ri_child_user_time;
+
+  @ffi.Uint64()
+  external int ri_child_system_time;
+
+  @ffi.Uint64()
+  external int ri_child_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_pageins;
+
+  @ffi.Uint64()
+  external int ri_child_elapsed_abstime;
+}
+
+final class rusage_info_v2 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Uint8> ri_uuid;
+
+  @ffi.Uint64()
+  external int ri_user_time;
+
+  @ffi.Uint64()
+  external int ri_system_time;
+
+  @ffi.Uint64()
+  external int ri_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_pageins;
+
+  @ffi.Uint64()
+  external int ri_wired_size;
+
+  @ffi.Uint64()
+  external int ri_resident_size;
+
+  @ffi.Uint64()
+  external int ri_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_proc_start_abstime;
+
+  @ffi.Uint64()
+  external int ri_proc_exit_abstime;
+
+  @ffi.Uint64()
+  external int ri_child_user_time;
+
+  @ffi.Uint64()
+  external int ri_child_system_time;
+
+  @ffi.Uint64()
+  external int ri_child_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_pageins;
+
+  @ffi.Uint64()
+  external int ri_child_elapsed_abstime;
+
+  @ffi.Uint64()
+  external int ri_diskio_bytesread;
+
+  @ffi.Uint64()
+  external int ri_diskio_byteswritten;
+}
+
+final class rusage_info_v3 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Uint8> ri_uuid;
+
+  @ffi.Uint64()
+  external int ri_user_time;
+
+  @ffi.Uint64()
+  external int ri_system_time;
+
+  @ffi.Uint64()
+  external int ri_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_pageins;
+
+  @ffi.Uint64()
+  external int ri_wired_size;
+
+  @ffi.Uint64()
+  external int ri_resident_size;
+
+  @ffi.Uint64()
+  external int ri_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_proc_start_abstime;
+
+  @ffi.Uint64()
+  external int ri_proc_exit_abstime;
+
+  @ffi.Uint64()
+  external int ri_child_user_time;
+
+  @ffi.Uint64()
+  external int ri_child_system_time;
+
+  @ffi.Uint64()
+  external int ri_child_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_pageins;
+
+  @ffi.Uint64()
+  external int ri_child_elapsed_abstime;
+
+  @ffi.Uint64()
+  external int ri_diskio_bytesread;
+
+  @ffi.Uint64()
+  external int ri_diskio_byteswritten;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_default;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_maintenance;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_background;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_utility;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_legacy;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_initiated;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_interactive;
+
+  @ffi.Uint64()
+  external int ri_billed_system_time;
+
+  @ffi.Uint64()
+  external int ri_serviced_system_time;
+}
+
+final class rusage_info_v4 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Uint8> ri_uuid;
+
+  @ffi.Uint64()
+  external int ri_user_time;
+
+  @ffi.Uint64()
+  external int ri_system_time;
+
+  @ffi.Uint64()
+  external int ri_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_pageins;
+
+  @ffi.Uint64()
+  external int ri_wired_size;
+
+  @ffi.Uint64()
+  external int ri_resident_size;
+
+  @ffi.Uint64()
+  external int ri_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_proc_start_abstime;
+
+  @ffi.Uint64()
+  external int ri_proc_exit_abstime;
+
+  @ffi.Uint64()
+  external int ri_child_user_time;
+
+  @ffi.Uint64()
+  external int ri_child_system_time;
+
+  @ffi.Uint64()
+  external int ri_child_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_pageins;
+
+  @ffi.Uint64()
+  external int ri_child_elapsed_abstime;
+
+  @ffi.Uint64()
+  external int ri_diskio_bytesread;
+
+  @ffi.Uint64()
+  external int ri_diskio_byteswritten;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_default;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_maintenance;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_background;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_utility;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_legacy;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_initiated;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_interactive;
+
+  @ffi.Uint64()
+  external int ri_billed_system_time;
+
+  @ffi.Uint64()
+  external int ri_serviced_system_time;
+
+  @ffi.Uint64()
+  external int ri_logical_writes;
+
+  @ffi.Uint64()
+  external int ri_lifetime_max_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_instructions;
+
+  @ffi.Uint64()
+  external int ri_cycles;
+
+  @ffi.Uint64()
+  external int ri_billed_energy;
+
+  @ffi.Uint64()
+  external int ri_serviced_energy;
+
+  @ffi.Uint64()
+  external int ri_interval_max_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_runnable_time;
+}
+
+final class rusage_info_v5 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Uint8> ri_uuid;
+
+  @ffi.Uint64()
+  external int ri_user_time;
+
+  @ffi.Uint64()
+  external int ri_system_time;
+
+  @ffi.Uint64()
+  external int ri_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_pageins;
+
+  @ffi.Uint64()
+  external int ri_wired_size;
+
+  @ffi.Uint64()
+  external int ri_resident_size;
+
+  @ffi.Uint64()
+  external int ri_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_proc_start_abstime;
+
+  @ffi.Uint64()
+  external int ri_proc_exit_abstime;
+
+  @ffi.Uint64()
+  external int ri_child_user_time;
+
+  @ffi.Uint64()
+  external int ri_child_system_time;
+
+  @ffi.Uint64()
+  external int ri_child_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_pageins;
+
+  @ffi.Uint64()
+  external int ri_child_elapsed_abstime;
+
+  @ffi.Uint64()
+  external int ri_diskio_bytesread;
+
+  @ffi.Uint64()
+  external int ri_diskio_byteswritten;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_default;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_maintenance;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_background;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_utility;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_legacy;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_initiated;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_interactive;
+
+  @ffi.Uint64()
+  external int ri_billed_system_time;
+
+  @ffi.Uint64()
+  external int ri_serviced_system_time;
+
+  @ffi.Uint64()
+  external int ri_logical_writes;
+
+  @ffi.Uint64()
+  external int ri_lifetime_max_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_instructions;
+
+  @ffi.Uint64()
+  external int ri_cycles;
+
+  @ffi.Uint64()
+  external int ri_billed_energy;
+
+  @ffi.Uint64()
+  external int ri_serviced_energy;
+
+  @ffi.Uint64()
+  external int ri_interval_max_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_runnable_time;
+
+  @ffi.Uint64()
+  external int ri_flags;
+}
+
+final class rusage_info_v6 extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Uint8> ri_uuid;
+
+  @ffi.Uint64()
+  external int ri_user_time;
+
+  @ffi.Uint64()
+  external int ri_system_time;
+
+  @ffi.Uint64()
+  external int ri_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_pageins;
+
+  @ffi.Uint64()
+  external int ri_wired_size;
+
+  @ffi.Uint64()
+  external int ri_resident_size;
+
+  @ffi.Uint64()
+  external int ri_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_proc_start_abstime;
+
+  @ffi.Uint64()
+  external int ri_proc_exit_abstime;
+
+  @ffi.Uint64()
+  external int ri_child_user_time;
+
+  @ffi.Uint64()
+  external int ri_child_system_time;
+
+  @ffi.Uint64()
+  external int ri_child_pkg_idle_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_interrupt_wkups;
+
+  @ffi.Uint64()
+  external int ri_child_pageins;
+
+  @ffi.Uint64()
+  external int ri_child_elapsed_abstime;
+
+  @ffi.Uint64()
+  external int ri_diskio_bytesread;
+
+  @ffi.Uint64()
+  external int ri_diskio_byteswritten;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_default;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_maintenance;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_background;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_utility;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_legacy;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_initiated;
+
+  @ffi.Uint64()
+  external int ri_cpu_time_qos_user_interactive;
+
+  @ffi.Uint64()
+  external int ri_billed_system_time;
+
+  @ffi.Uint64()
+  external int ri_serviced_system_time;
+
+  @ffi.Uint64()
+  external int ri_logical_writes;
+
+  @ffi.Uint64()
+  external int ri_lifetime_max_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_instructions;
+
+  @ffi.Uint64()
+  external int ri_cycles;
+
+  @ffi.Uint64()
+  external int ri_billed_energy;
+
+  @ffi.Uint64()
+  external int ri_serviced_energy;
+
+  @ffi.Uint64()
+  external int ri_interval_max_phys_footprint;
+
+  @ffi.Uint64()
+  external int ri_runnable_time;
+
+  @ffi.Uint64()
+  external int ri_flags;
+
+  @ffi.Uint64()
+  external int ri_user_ptime;
+
+  @ffi.Uint64()
+  external int ri_system_ptime;
+
+  @ffi.Uint64()
+  external int ri_pinstructions;
+
+  @ffi.Uint64()
+  external int ri_pcycles;
+
+  @ffi.Uint64()
+  external int ri_energy_nj;
+
+  @ffi.Uint64()
+  external int ri_penergy_nj;
+
+  @ffi.Array.multi([14])
+  external ffi.Array<ffi.Uint64> ri_reserved;
+}
+
+final class rlimit extends ffi.Struct {
+  @rlim_t()
+  external int rlim_cur;
+
+  @rlim_t()
+  external int rlim_max;
+}
+
+typedef rlim_t = __uint64_t;
+
+final class proc_rlimit_control_wakeupmon extends ffi.Struct {
+  @ffi.Uint32()
+  external int wm_flags;
+
+  @ffi.Int32()
+  external int wm_rate;
+}
+
+typedef id_t = __darwin_id_t;
+typedef __darwin_id_t = __uint32_t;
+
+final class wait extends ffi.Opaque {}
+
+final class div_t extends ffi.Struct {
+  @ffi.Int()
+  external int quot;
+
+  @ffi.Int()
+  external int rem;
+}
+
+final class ldiv_t extends ffi.Struct {
+  @ffi.Long()
+  external int quot;
+
+  @ffi.Long()
+  external int rem;
+}
+
+final class lldiv_t extends ffi.Struct {
+  @ffi.LongLong()
+  external int quot;
+
+  @ffi.LongLong()
+  external int rem;
+}
+
+class _ObjCBlockBase implements ffi.Finalizable {
+  final ffi.Pointer<_ObjCBlock> _id;
+  final PedometerBindings _lib;
+  bool _pendingRelease;
+
+  _ObjCBlockBase._(this._id, this._lib,
+      {bool retain = false, bool release = false})
+      : _pendingRelease = release {
+    if (retain) {
+      _lib._Block_copy(_id.cast());
+    }
+    if (release) {
+      _lib._objc_releaseFinalizer2.attach(this, _id.cast(), detach: this);
+    }
+  }
+
+  /// Releases the reference to the underlying ObjC block held by this wrapper.
+  /// Throws a StateError if this wrapper doesn't currently hold a reference.
+  void release() {
+    if (_pendingRelease) {
+      _pendingRelease = false;
+      _lib._Block_release(_id.cast());
+      _lib._objc_releaseFinalizer2.detach(this);
+    } else {
+      throw StateError(
+          'Released an ObjC block that was unowned or already released.');
+    }
+  }
+
+  @override
+  bool operator ==(Object other) {
+    return other is _ObjCBlockBase && _id == other._id;
+  }
+
+  @override
+  int get hashCode => _id.hashCode;
+
+  /// Return a pointer to this object.
+  ffi.Pointer<_ObjCBlock> get pointer => _id;
+}
+
+void _ObjCBlock_ffiVoid_fnPtrTrampoline(ffi.Pointer<_ObjCBlock> block) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function()>>()
+      .asFunction<void Function()>()();
+}
+
+final _ObjCBlock_ffiVoid_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_closureTrampoline(ffi.Pointer<_ObjCBlock> block) {
+  (_ObjCBlock_ffiVoid_closureRegistry[block.ref.target.address] as void
+      Function())();
+}
+
+class ObjCBlock_ffiVoid extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid.fromFunctionPointer(PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block)>(
+                        _ObjCBlock_ffiVoid_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid.fromFunction(PedometerBindings lib, void Function() fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block)>(
+                        _ObjCBlock_ffiVoid_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid.listener(PedometerBindings lib, void Function() fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block)>.listener(
+                        _ObjCBlock_ffiVoid_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<ffi.Void Function(ffi.Pointer<_ObjCBlock> block)>?
+      _dartFuncListenerTrampoline;
+
+  void call() {
+    _id.ref.invoke
+        .cast<
+            ffi
+            .NativeFunction<ffi.Void Function(ffi.Pointer<_ObjCBlock> block)>>()
+        .asFunction<void Function(ffi.Pointer<_ObjCBlock> block)>()(_id);
+  }
+}
+
+final class _ObjCBlockDesc extends ffi.Struct {
+  @ffi.UnsignedLong()
+  external int reserved;
+
+  @ffi.UnsignedLong()
+  external int size;
+
+  external ffi.Pointer<ffi.Void> copy_helper;
+
+  external ffi.Pointer<ffi.Void> dispose_helper;
+
+  external ffi.Pointer<ffi.Char> signature;
+}
+
+final class _ObjCBlock extends ffi.Struct {
+  external ffi.Pointer<ffi.Void> isa;
+
+  @ffi.Int()
+  external int flags;
+
+  @ffi.Int()
+  external int reserved;
+
+  external ffi.Pointer<ffi.Void> invoke;
+
+  external ffi.Pointer<_ObjCBlockDesc> descriptor;
+
+  external ffi.Pointer<ffi.Void> target;
+}
+
+int _ObjCBlock_ffiInt_ffiVoid_ffiVoid_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ffi.Void> arg0,
+    ffi.Pointer<ffi.Void> arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Int Function(
+                  ffi.Pointer<ffi.Void> arg0, ffi.Pointer<ffi.Void> arg1)>>()
+      .asFunction<
+          int Function(ffi.Pointer<ffi.Void> arg0,
+              ffi.Pointer<ffi.Void> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiInt_ffiVoid_ffiVoid_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiInt_ffiVoid_ffiVoid_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiInt_ffiVoid_ffiVoid_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiInt_ffiVoid_ffiVoid_closureRegistryIndex;
+  _ObjCBlock_ffiInt_ffiVoid_ffiVoid_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+int _ObjCBlock_ffiInt_ffiVoid_ffiVoid_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ffi.Void> arg0,
+    ffi.Pointer<ffi.Void> arg1) {
+  return (_ObjCBlock_ffiInt_ffiVoid_ffiVoid_closureRegistry[
+          block.ref.target.address]
+      as int Function(
+          ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiInt_ffiVoid_ffiVoid extends _ObjCBlockBase {
+  ObjCBlock_ffiInt_ffiVoid_ffiVoid._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiInt_ffiVoid_ffiVoid.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int Function(
+                      ffi.Pointer<ffi.Void> arg0, ffi.Pointer<ffi.Void> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Int Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0,
+                                ffi.Pointer<ffi.Void> arg1)>(
+                        _ObjCBlock_ffiInt_ffiVoid_ffiVoid_fnPtrTrampoline, 0)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiInt_ffiVoid_ffiVoid.fromFunction(PedometerBindings lib,
+      int Function(ffi.Pointer<ffi.Void> arg0, ffi.Pointer<ffi.Void> arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Int Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0,
+                                ffi.Pointer<ffi.Void> arg1)>(
+                        _ObjCBlock_ffiInt_ffiVoid_ffiVoid_closureTrampoline, 0)
+                    .cast(),
+                _ObjCBlock_ffiInt_ffiVoid_ffiVoid_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  int call(ffi.Pointer<ffi.Void> arg0, ffi.Pointer<ffi.Void> arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Int Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ffi.Void> arg0, ffi.Pointer<ffi.Void> arg1)>>()
+        .asFunction<
+            int Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ffi.Void> arg0,
+                ffi.Pointer<ffi.Void> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef dev_t = __darwin_dev_t;
+typedef __darwin_dev_t = __int32_t;
+typedef mode_t = __darwin_mode_t;
+typedef __darwin_mode_t = __uint16_t;
+typedef errno_t = ffi.Int;
+typedef rsize_t = __darwin_size_t;
+
+final class timespec extends ffi.Struct {
+  @__darwin_time_t()
+  external int tv_sec;
+
+  @ffi.Long()
+  external int tv_nsec;
+}
+
+final class tm extends ffi.Struct {
+  @ffi.Int()
+  external int tm_sec;
+
+  @ffi.Int()
+  external int tm_min;
+
+  @ffi.Int()
+  external int tm_hour;
+
+  @ffi.Int()
+  external int tm_mday;
+
+  @ffi.Int()
+  external int tm_mon;
+
+  @ffi.Int()
+  external int tm_year;
+
+  @ffi.Int()
+  external int tm_wday;
+
+  @ffi.Int()
+  external int tm_yday;
+
+  @ffi.Int()
+  external int tm_isdst;
+
+  @ffi.Long()
+  external int tm_gmtoff;
+
+  external ffi.Pointer<ffi.Char> tm_zone;
+}
+
+typedef clock_t = __darwin_clock_t;
+typedef __darwin_clock_t = ffi.UnsignedLong;
+typedef time_t = __darwin_time_t;
+
+abstract class clockid_t {
+  static const int _CLOCK_REALTIME = 0;
+  static const int _CLOCK_MONOTONIC = 6;
+  static const int _CLOCK_MONOTONIC_RAW = 4;
+  static const int _CLOCK_MONOTONIC_RAW_APPROX = 5;
+  static const int _CLOCK_UPTIME_RAW = 8;
+  static const int _CLOCK_UPTIME_RAW_APPROX = 9;
+  static const int _CLOCK_PROCESS_CPUTIME_ID = 12;
+  static const int _CLOCK_THREAD_CPUTIME_ID = 16;
+}
+
+typedef intmax_t = ffi.Long;
+
+final class imaxdiv_t extends ffi.Struct {
+  @intmax_t()
+  external int quot;
+
+  @intmax_t()
+  external int rem;
+}
+
+typedef uintmax_t = ffi.UnsignedLong;
+
+@ffi.Packed(2)
+final class wide extends ffi.Struct {
+  @UInt32()
+  external int lo;
+
+  @SInt32()
+  external int hi;
+}
+
+typedef UInt32 = ffi.UnsignedInt;
+typedef SInt32 = ffi.Int;
+
+@ffi.Packed(2)
+final class UnsignedWide extends ffi.Struct {
+  @UInt32()
+  external int lo;
+
+  @UInt32()
+  external int hi;
+}
+
+final class Float80 extends ffi.Struct {
+  @SInt16()
+  external int exp;
+
+  @ffi.Array.multi([4])
+  external ffi.Array<UInt16> man;
+}
+
+typedef SInt16 = ffi.Short;
+typedef UInt16 = ffi.UnsignedShort;
+
+final class Float96 extends ffi.Struct {
+  @ffi.Array.multi([2])
+  external ffi.Array<SInt16> exp;
+
+  @ffi.Array.multi([4])
+  external ffi.Array<UInt16> man;
+}
+
+@ffi.Packed(2)
+final class Float32Point extends ffi.Struct {
+  @Float32()
+  external double x;
+
+  @Float32()
+  external double y;
+}
+
+/// Base floating point types
+///
+/// Float32         32 bit IEEE float:  1 sign bit, 8 exponent bits, 23 fraction bits
+/// Float64         64 bit IEEE float:  1 sign bit, 11 exponent bits, 52 fraction bits
+/// Float80         80 bit MacOS float: 1 sign bit, 15 exponent bits, 1 integer bit, 63 fraction bits
+/// Float96         96 bit 68881 float: 1 sign bit, 15 exponent bits, 16 pad bits, 1 integer bit, 63 fraction bits
+///
+/// Note: These are fixed size floating point types, useful when writing a floating
+/// point value to disk.  If your compiler does not support a particular size
+/// float, a struct is used instead.
+/// Use one of the NCEG types (e.g. double_t) or an ANSI C type (e.g. double) if
+/// you want a floating point representation that is natural for any given
+/// compiler, but might be a different size on different compilers.
+typedef Float32 = ffi.Float;
+
+/// Process Manager type ProcessSerialNumber (previously in Processes.h)
+@ffi.Packed(2)
+final class ProcessSerialNumber extends ffi.Struct {
+  @UInt32()
+  external int highLongOfPSN;
+
+  @UInt32()
+  external int lowLongOfPSN;
+}
+
+/// Quickdraw Types
+///
+/// Point               2D Quickdraw coordinate, range: -32K to +32K
+/// Rect                Rectangular Quickdraw area
+/// Style               Quickdraw font rendering styles
+/// StyleParameter      Style when used as a parameter (historical 68K convention)
+/// StyleField          Style when used as a field (historical 68K convention)
+/// CharParameter       Char when used as a parameter (historical 68K convention)
+///
+/// Note:   The original Macintosh toolbox in 68K Pascal defined Style as a SET.
+/// Both Style and CHAR occupy 8-bits in packed records or 16-bits when
+/// used as fields in non-packed records or as parameters.
+final class Point extends ffi.Struct {
+  @ffi.Short()
+  external int v;
+
+  @ffi.Short()
+  external int h;
+}
+
+final class Rect extends ffi.Struct {
+  @ffi.Short()
+  external int top;
+
+  @ffi.Short()
+  external int left;
+
+  @ffi.Short()
+  external int bottom;
+
+  @ffi.Short()
+  external int right;
+}
+
+@ffi.Packed(2)
+final class FixedPoint extends ffi.Struct {
+  @Fixed()
+  external int x;
+
+  @Fixed()
+  external int y;
+}
+
+/// Base fixed point types
+///
+/// Fixed           16-bit signed integer plus 16-bit fraction
+/// UnsignedFixed   16-bit unsigned integer plus 16-bit fraction
+/// Fract           2-bit signed integer plus 30-bit fraction
+/// ShortFixed      8-bit signed integer plus 8-bit fraction
+typedef Fixed = SInt32;
+
+@ffi.Packed(2)
+final class FixedRect extends ffi.Struct {
+  @Fixed()
+  external int left;
+
+  @Fixed()
+  external int top;
+
+  @Fixed()
+  external int right;
+
+  @Fixed()
+  external int bottom;
+}
+
+final class TimeBaseRecord extends ffi.Opaque {}
+
+@ffi.Packed(2)
+final class TimeRecord extends ffi.Struct {
+  external CompTimeValue value;
+
+  @TimeScale()
+  external int scale;
+
+  external TimeBase base;
+}
+
+typedef CompTimeValue = wide;
+typedef TimeScale = SInt32;
+typedef TimeBase = ffi.Pointer<TimeBaseRecord>;
+
+final class NumVersion extends ffi.Struct {
+  @UInt8()
+  external int nonRelRev;
+
+  @UInt8()
+  external int stage;
+
+  @UInt8()
+  external int minorAndBugRev;
+
+  @UInt8()
+  external int majorRev;
+}
+
+/// Base integer types for all target OS's and CPU's
+///
+/// UInt8            8-bit unsigned integer
+/// SInt8            8-bit signed integer
+/// UInt16          16-bit unsigned integer
+/// SInt16          16-bit signed integer
+/// UInt32          32-bit unsigned integer
+/// SInt32          32-bit signed integer
+/// UInt64          64-bit unsigned integer
+/// SInt64          64-bit signed integer
+typedef UInt8 = ffi.UnsignedChar;
+
+final class NumVersionVariant extends ffi.Union {
+  external NumVersion parts;
+
+  @UInt32()
+  external int whole;
+}
+
+final class VersRec extends ffi.Struct {
+  external NumVersion numericVersion;
+
+  @ffi.Short()
+  external int countryCode;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<ffi.UnsignedChar> shortVersion;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<ffi.UnsignedChar> reserved;
+}
+
+typedef ConstStr255Param = ffi.Pointer<ffi.UnsignedChar>;
+
+final class __CFString extends ffi.Opaque {}
+
+abstract class CFComparisonResult {
+  static const int kCFCompareLessThan = -1;
+  static const int kCFCompareEqualTo = 0;
+  static const int kCFCompareGreaterThan = 1;
+}
+
+typedef CFIndex = ffi.Long;
+
+final class CFRange extends ffi.Struct {
+  @CFIndex()
+  external int location;
+
+  @CFIndex()
+  external int length;
+}
+
+final class __CFNull extends ffi.Opaque {}
+
+typedef CFTypeID = ffi.UnsignedLong;
+typedef CFNullRef = ffi.Pointer<__CFNull>;
+
+final class __CFAllocator extends ffi.Opaque {}
+
+typedef CFAllocatorRef = ffi.Pointer<__CFAllocator>;
+
+final class CFAllocatorContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external CFAllocatorRetainCallBack retain;
+
+  external CFAllocatorReleaseCallBack release;
+
+  external CFAllocatorCopyDescriptionCallBack copyDescription;
+
+  external CFAllocatorAllocateCallBack allocate;
+
+  external CFAllocatorReallocateCallBack reallocate;
+
+  external CFAllocatorDeallocateCallBack deallocate;
+
+  external CFAllocatorPreferredSizeCallBack preferredSize;
+}
+
+typedef CFAllocatorRetainCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>>;
+typedef CFAllocatorReleaseCallBack = ffi
+    .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>;
+typedef CFAllocatorCopyDescriptionCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>;
+typedef CFStringRef = ffi.Pointer<__CFString>;
+typedef CFAllocatorAllocateCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(CFIndex allocSize, CFOptionFlags hint,
+            ffi.Pointer<ffi.Void> info)>>;
+typedef CFOptionFlags = ffi.UnsignedLong;
+typedef CFAllocatorReallocateCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> ptr,
+            CFIndex newsize, CFOptionFlags hint, ffi.Pointer<ffi.Void> info)>>;
+typedef CFAllocatorDeallocateCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            ffi.Pointer<ffi.Void> ptr, ffi.Pointer<ffi.Void> info)>>;
+typedef CFAllocatorPreferredSizeCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        CFIndex Function(
+            CFIndex size, CFOptionFlags hint, ffi.Pointer<ffi.Void> info)>>;
+typedef CFTypeRef = ffi.Pointer<ffi.Void>;
+
+/// Boolean types and values
+///
+/// Boolean         Mac OS historic type, sizeof(Boolean)==1
+/// bool            Defined in stdbool.h, ISO C/C++ standard type
+/// false           Now defined in stdbool.h
+/// true            Now defined in stdbool.h
+typedef Boolean = ffi.UnsignedChar;
+typedef CFHashCode = ffi.UnsignedLong;
+
+final class CFArrayCallBacks extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external CFArrayRetainCallBack retain;
+
+  external CFArrayReleaseCallBack release;
+
+  external CFArrayCopyDescriptionCallBack copyDescription;
+
+  external CFArrayEqualCallBack equal;
+}
+
+/// !
+/// @typedef CFArrayCallBacks
+/// Structure containing the callbacks of a CFArray.
+/// @field version The version number of the structure type being passed
+/// in as a parameter to the CFArray creation functions. This
+/// structure is version 0.
+/// @field retain The callback used to add a retain for the array on
+/// values as they are put into the array. This callback returns
+/// the value to store in the array, which is usually the value
+/// parameter passed to this callback, but may be a different
+/// value if a different value should be stored in the array.
+/// The array's allocator is passed as the first argument.
+/// @field release The callback used to remove a retain previously added
+/// for the array from values as they are removed from the
+/// array. The array's allocator is passed as the first
+/// argument.
+/// @field copyDescription The callback used to create a descriptive
+/// string representation of each value in the array. This is
+/// used by the CFCopyDescription() function.
+/// @field equal The callback used to compare values in the array for
+/// equality for some operations.
+typedef CFArrayRetainCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+typedef CFArrayReleaseCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+typedef CFArrayCopyDescriptionCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> value)>>;
+typedef CFArrayEqualCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        Boolean Function(
+            ffi.Pointer<ffi.Void> value1, ffi.Pointer<ffi.Void> value2)>>;
+
+final class __CFArray extends ffi.Opaque {}
+
+/// !
+/// @typedef CFArrayRef
+/// This is the type of a reference to immutable CFArrays.
+typedef CFArrayRef = ffi.Pointer<__CFArray>;
+
+/// !
+/// @typedef CFMutableArrayRef
+/// This is the type of a reference to mutable CFArrays.
+typedef CFMutableArrayRef = ffi.Pointer<__CFArray>;
+
+/// !
+/// @typedef CFArrayApplierFunction
+/// Type of the callback function used by the apply functions of
+/// CFArrays.
+/// @param value The current value from the array.
+/// @param context The user-defined context parameter given to the apply
+/// function.
+typedef CFArrayApplierFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Void> context)>>;
+typedef CFComparatorFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Int32 Function(ffi.Pointer<ffi.Void> val1,
+            ffi.Pointer<ffi.Void> val2, ffi.Pointer<ffi.Void> context)>>;
+
+final class CFBagCallBacks extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external CFBagRetainCallBack retain;
+
+  external CFBagReleaseCallBack release;
+
+  external CFBagCopyDescriptionCallBack copyDescription;
+
+  external CFBagEqualCallBack equal;
+
+  external CFBagHashCallBack hash;
+}
+
+typedef CFBagRetainCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+typedef CFBagReleaseCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+typedef CFBagCopyDescriptionCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> value)>>;
+typedef CFBagEqualCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        Boolean Function(
+            ffi.Pointer<ffi.Void> value1, ffi.Pointer<ffi.Void> value2)>>;
+typedef CFBagHashCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFHashCode Function(ffi.Pointer<ffi.Void> value)>>;
+
+final class __CFBag extends ffi.Opaque {}
+
+typedef CFBagRef = ffi.Pointer<__CFBag>;
+typedef CFMutableBagRef = ffi.Pointer<__CFBag>;
+typedef CFBagApplierFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Void> context)>>;
+
+final class CFBinaryHeapCompareContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+/// !
+/// @typedef CFBinaryHeapCallBacks
+/// Structure containing the callbacks for values of a CFBinaryHeap.
+/// @field version The version number of the structure type being passed
+/// in as a parameter to the CFBinaryHeap creation functions.
+/// This structure is version 0.
+/// @field retain The callback used to add a retain for the binary heap
+/// on values as they are put into the binary heap.
+/// This callback returns the value to use as the value in the
+/// binary heap, which is usually the value parameter passed to
+/// this callback, but may be a different value if a different
+/// value should be added to the binary heap. The binary heap's
+/// allocator is passed as the first argument.
+/// @field release The callback used to remove a retain previously added
+/// for the binary heap from values as they are removed from
+/// the binary heap. The binary heap's allocator is passed as the
+/// first argument.
+/// @field copyDescription The callback used to create a descriptive
+/// string representation of each value in the binary heap. This
+/// is used by the CFCopyDescription() function.
+/// @field compare The callback used to compare values in the binary heap for
+/// equality in some operations.
+final class CFBinaryHeapCallBacks extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              CFAllocatorRef allocator, ffi.Pointer<ffi.Void> ptr)>> retain;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              CFAllocatorRef allocator, ffi.Pointer<ffi.Void> ptr)>> release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> ptr)>>
+      copyDescription;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Int32 Function(
+              ffi.Pointer<ffi.Void> ptr1,
+              ffi.Pointer<ffi.Void> ptr2,
+              ffi.Pointer<ffi.Void> context)>> compare;
+}
+
+final class __CFBinaryHeap extends ffi.Opaque {}
+
+/// !
+/// @typedef CFBinaryHeapRef
+/// This is the type of a reference to CFBinaryHeaps.
+typedef CFBinaryHeapRef = ffi.Pointer<__CFBinaryHeap>;
+
+/// !
+/// @typedef CFBinaryHeapApplierFunction
+/// Type of the callback function used by the apply functions of
+/// CFBinaryHeap.
+/// @param val The current value from the binary heap.
+/// @param context The user-defined context parameter given to the apply
+/// function.
+typedef CFBinaryHeapApplierFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            ffi.Pointer<ffi.Void> val, ffi.Pointer<ffi.Void> context)>>;
+
+final class __CFBitVector extends ffi.Opaque {}
+
+typedef CFBitVectorRef = ffi.Pointer<__CFBitVector>;
+typedef CFMutableBitVectorRef = ffi.Pointer<__CFBitVector>;
+typedef CFBit = UInt32;
+
+abstract class __CFByteOrder {
+  static const int CFByteOrderUnknown = 0;
+  static const int CFByteOrderLittleEndian = 1;
+  static const int CFByteOrderBigEndian = 2;
+}
+
+final class CFSwappedFloat32 extends ffi.Struct {
+  @ffi.Uint32()
+  external int v;
+}
+
+final class CFSwappedFloat64 extends ffi.Struct {
+  @ffi.Uint64()
+  external int v;
+}
+
+final class CFDictionaryKeyCallBacks extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external CFDictionaryRetainCallBack retain;
+
+  external CFDictionaryReleaseCallBack release;
+
+  external CFDictionaryCopyDescriptionCallBack copyDescription;
+
+  external CFDictionaryEqualCallBack equal;
+
+  external CFDictionaryHashCallBack hash;
+}
+
+/// !
+/// @typedef CFDictionaryKeyCallBacks
+/// Structure containing the callbacks for keys of a CFDictionary.
+/// @field version The version number of the structure type being passed
+/// in as a parameter to the CFDictionary creation functions.
+/// This structure is version 0.
+/// @field retain The callback used to add a retain for the dictionary
+/// on keys as they are used to put values into the dictionary.
+/// This callback returns the value to use as the key in the
+/// dictionary, which is usually the value parameter passed to
+/// this callback, but may be a different value if a different
+/// value should be used as the key. The dictionary's allocator
+/// is passed as the first argument.
+/// @field release The callback used to remove a retain previously added
+/// for the dictionary from keys as their values are removed from
+/// the dictionary. The dictionary's allocator is passed as the
+/// first argument.
+/// @field copyDescription The callback used to create a descriptive
+/// string representation of each key in the dictionary. This
+/// is used by the CFCopyDescription() function.
+/// @field equal The callback used to compare keys in the dictionary for
+/// equality.
+/// @field hash The callback used to compute a hash code for keys as they
+/// are used to access, add, or remove values in the dictionary.
+typedef CFDictionaryRetainCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+typedef CFDictionaryReleaseCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+typedef CFDictionaryCopyDescriptionCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> value)>>;
+typedef CFDictionaryEqualCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        Boolean Function(
+            ffi.Pointer<ffi.Void> value1, ffi.Pointer<ffi.Void> value2)>>;
+typedef CFDictionaryHashCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFHashCode Function(ffi.Pointer<ffi.Void> value)>>;
+
+/// !
+/// @typedef CFDictionaryValueCallBacks
+/// Structure containing the callbacks for values of a CFDictionary.
+/// @field version The version number of the structure type being passed
+/// in as a parameter to the CFDictionary creation functions.
+/// This structure is version 0.
+/// @field retain The callback used to add a retain for the dictionary
+/// on values as they are put into the dictionary.
+/// This callback returns the value to use as the value in the
+/// dictionary, which is usually the value parameter passed to
+/// this callback, but may be a different value if a different
+/// value should be added to the dictionary. The dictionary's
+/// allocator is passed as the first argument.
+/// @field release The callback used to remove a retain previously added
+/// for the dictionary from values as they are removed from
+/// the dictionary. The dictionary's allocator is passed as the
+/// first argument.
+/// @field copyDescription The callback used to create a descriptive
+/// string representation of each value in the dictionary. This
+/// is used by the CFCopyDescription() function.
+/// @field equal The callback used to compare values in the dictionary for
+/// equality in some operations.
+final class CFDictionaryValueCallBacks extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external CFDictionaryRetainCallBack retain;
+
+  external CFDictionaryReleaseCallBack release;
+
+  external CFDictionaryCopyDescriptionCallBack copyDescription;
+
+  external CFDictionaryEqualCallBack equal;
+}
+
+final class __CFDictionary extends ffi.Opaque {}
+
+/// !
+/// @typedef CFDictionaryRef
+/// This is the type of a reference to immutable CFDictionarys.
+typedef CFDictionaryRef = ffi.Pointer<__CFDictionary>;
+
+/// !
+/// @typedef CFMutableDictionaryRef
+/// This is the type of a reference to mutable CFDictionarys.
+typedef CFMutableDictionaryRef = ffi.Pointer<__CFDictionary>;
+
+/// !
+/// @typedef CFDictionaryApplierFunction
+/// Type of the callback function used by the apply functions of
+/// CFDictionarys.
+/// @param key The current key for the value.
+/// @param value The current value from the dictionary.
+/// @param context The user-defined context parameter given to the apply
+/// function.
+typedef CFDictionaryApplierFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(ffi.Pointer<ffi.Void> key,
+            ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Void> context)>>;
+
+final class __CFNotificationCenter extends ffi.Opaque {}
+
+abstract class CFNotificationSuspensionBehavior {
+  static const int CFNotificationSuspensionBehaviorDrop = 1;
+  static const int CFNotificationSuspensionBehaviorCoalesce = 2;
+  static const int CFNotificationSuspensionBehaviorHold = 3;
+  static const int CFNotificationSuspensionBehaviorDeliverImmediately = 4;
+}
+
+typedef CFNotificationCenterRef = ffi.Pointer<__CFNotificationCenter>;
+typedef CFNotificationCallback = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFNotificationCenterRef center,
+            ffi.Pointer<ffi.Void> observer,
+            CFNotificationName name,
+            ffi.Pointer<ffi.Void> object,
+            CFDictionaryRef userInfo)>>;
+typedef CFNotificationName = CFStringRef;
+
+final class __CFLocale extends ffi.Opaque {}
+
+typedef CFLocaleRef = ffi.Pointer<__CFLocale>;
+typedef CFLocaleIdentifier = CFStringRef;
+typedef LangCode = SInt16;
+typedef RegionCode = SInt16;
+
+abstract class CFLocaleLanguageDirection {
+  static const int kCFLocaleLanguageDirectionUnknown = 0;
+  static const int kCFLocaleLanguageDirectionLeftToRight = 1;
+  static const int kCFLocaleLanguageDirectionRightToLeft = 2;
+  static const int kCFLocaleLanguageDirectionTopToBottom = 3;
+  static const int kCFLocaleLanguageDirectionBottomToTop = 4;
+}
+
+typedef CFLocaleKey = CFStringRef;
+typedef CFCalendarIdentifier = CFStringRef;
+typedef CFAbsoluteTime = CFTimeInterval;
+typedef CFTimeInterval = ffi.Double;
+
+final class __CFDate extends ffi.Opaque {}
+
+typedef CFDateRef = ffi.Pointer<__CFDate>;
+
+final class __CFTimeZone extends ffi.Opaque {}
+
+final class CFGregorianDate extends ffi.Struct {
+  @SInt32()
+  external int year;
+
+  @SInt8()
+  external int month;
+
+  @SInt8()
+  external int day;
+
+  @SInt8()
+  external int hour;
+
+  @SInt8()
+  external int minute;
+
+  @ffi.Double()
+  external double second;
+}
+
+typedef SInt8 = ffi.SignedChar;
+
+final class CFGregorianUnits extends ffi.Struct {
+  @SInt32()
+  external int years;
+
+  @SInt32()
+  external int months;
+
+  @SInt32()
+  external int days;
+
+  @SInt32()
+  external int hours;
+
+  @SInt32()
+  external int minutes;
+
+  @ffi.Double()
+  external double seconds;
+}
+
+abstract class CFGregorianUnitFlags {
+  static const int kCFGregorianUnitsYears = 1;
+  static const int kCFGregorianUnitsMonths = 2;
+  static const int kCFGregorianUnitsDays = 4;
+  static const int kCFGregorianUnitsHours = 8;
+  static const int kCFGregorianUnitsMinutes = 16;
+  static const int kCFGregorianUnitsSeconds = 32;
+  static const int kCFGregorianAllUnits = 16777215;
+}
+
+typedef CFTimeZoneRef = ffi.Pointer<__CFTimeZone>;
+
+final class __CFData extends ffi.Opaque {}
+
+typedef CFDataRef = ffi.Pointer<__CFData>;
+typedef CFMutableDataRef = ffi.Pointer<__CFData>;
+
+abstract class CFDataSearchFlags {
+  static const int kCFDataSearchBackwards = 1;
+  static const int kCFDataSearchAnchored = 2;
+}
+
+final class __CFCharacterSet extends ffi.Opaque {}
+
+/// !
+/// @typedef CFCharacterSetPredefinedSet
+/// Type of the predefined CFCharacterSet selector values.
+abstract class CFCharacterSetPredefinedSet {
+  static const int kCFCharacterSetControl = 1;
+  static const int kCFCharacterSetWhitespace = 2;
+  static const int kCFCharacterSetWhitespaceAndNewline = 3;
+  static const int kCFCharacterSetDecimalDigit = 4;
+  static const int kCFCharacterSetLetter = 5;
+  static const int kCFCharacterSetLowercaseLetter = 6;
+  static const int kCFCharacterSetUppercaseLetter = 7;
+  static const int kCFCharacterSetNonBase = 8;
+  static const int kCFCharacterSetDecomposable = 9;
+  static const int kCFCharacterSetAlphaNumeric = 10;
+  static const int kCFCharacterSetPunctuation = 11;
+  static const int kCFCharacterSetCapitalizedLetter = 13;
+  static const int kCFCharacterSetSymbol = 14;
+  static const int kCFCharacterSetNewline = 15;
+  static const int kCFCharacterSetIllegal = 12;
+}
+
+/// !
+/// @typedef CFCharacterSetRef
+/// This is the type of a reference to immutable CFCharacterSets.
+typedef CFCharacterSetRef = ffi.Pointer<__CFCharacterSet>;
+
+/// !
+/// @typedef CFMutableCharacterSetRef
+/// This is the type of a reference to mutable CFMutableCharacterSets.
+typedef CFMutableCharacterSetRef = ffi.Pointer<__CFCharacterSet>;
+typedef UniChar = UInt16;
+typedef UTF32Char = UInt32;
+
+final class __CFError extends ffi.Opaque {}
+
+typedef CFErrorDomain = CFStringRef;
+
+/// !
+/// @typedef CFErrorRef
+/// This is the type of a reference to CFErrors.  CFErrorRef is toll-free bridged with NSError.
+typedef CFErrorRef = ffi.Pointer<__CFError>;
+
+abstract class CFStringBuiltInEncodings {
+  static const int kCFStringEncodingMacRoman = 0;
+  static const int kCFStringEncodingWindowsLatin1 = 1280;
+  static const int kCFStringEncodingISOLatin1 = 513;
+  static const int kCFStringEncodingNextStepLatin = 2817;
+  static const int kCFStringEncodingASCII = 1536;
+  static const int kCFStringEncodingUnicode = 256;
+  static const int kCFStringEncodingUTF8 = 134217984;
+  static const int kCFStringEncodingNonLossyASCII = 3071;
+  static const int kCFStringEncodingUTF16 = 256;
+  static const int kCFStringEncodingUTF16BE = 268435712;
+  static const int kCFStringEncodingUTF16LE = 335544576;
+  static const int kCFStringEncodingUTF32 = 201326848;
+  static const int kCFStringEncodingUTF32BE = 402653440;
+  static const int kCFStringEncodingUTF32LE = 469762304;
+}
+
+typedef CFStringEncoding = UInt32;
+typedef CFMutableStringRef = ffi.Pointer<__CFString>;
+typedef StringPtr = ffi.Pointer<ffi.UnsignedChar>;
+typedef ConstStringPtr = ffi.Pointer<ffi.UnsignedChar>;
+
+abstract class CFStringCompareFlags {
+  static const int kCFCompareCaseInsensitive = 1;
+  static const int kCFCompareBackwards = 4;
+  static const int kCFCompareAnchored = 8;
+  static const int kCFCompareNonliteral = 16;
+  static const int kCFCompareLocalized = 32;
+  static const int kCFCompareNumerically = 64;
+  static const int kCFCompareDiacriticInsensitive = 128;
+  static const int kCFCompareWidthInsensitive = 256;
+  static const int kCFCompareForcedOrdering = 512;
+}
+
+/// !
+/// @typedef CFStringNormalizationForm
+/// This is the type of Unicode normalization forms as described in
+/// Unicode Technical Report #15. To normalize for use with file
+/// system calls, use CFStringGetFileSystemRepresentation().
+abstract class CFStringNormalizationForm {
+  static const int kCFStringNormalizationFormD = 0;
+  static const int kCFStringNormalizationFormKD = 1;
+  static const int kCFStringNormalizationFormC = 2;
+  static const int kCFStringNormalizationFormKC = 3;
+}
+
+final class CFStringInlineBuffer extends ffi.Struct {
+  @ffi.Array.multi([64])
+  external ffi.Array<UniChar> buffer;
+
+  external CFStringRef theString;
+
+  external ffi.Pointer<UniChar> directUniCharBuffer;
+
+  external ffi.Pointer<ffi.Char> directCStringBuffer;
+
+  external CFRange rangeToBuffer;
+
+  @CFIndex()
+  external int bufferedRangeStart;
+
+  @CFIndex()
+  external int bufferedRangeEnd;
+}
+
+abstract class CFTimeZoneNameStyle {
+  static const int kCFTimeZoneNameStyleStandard = 0;
+  static const int kCFTimeZoneNameStyleShortStandard = 1;
+  static const int kCFTimeZoneNameStyleDaylightSaving = 2;
+  static const int kCFTimeZoneNameStyleShortDaylightSaving = 3;
+  static const int kCFTimeZoneNameStyleGeneric = 4;
+  static const int kCFTimeZoneNameStyleShortGeneric = 5;
+}
+
+final class __CFCalendar extends ffi.Opaque {}
+
+typedef CFCalendarRef = ffi.Pointer<__CFCalendar>;
+
+abstract class CFCalendarUnit {
+  static const int kCFCalendarUnitEra = 2;
+  static const int kCFCalendarUnitYear = 4;
+  static const int kCFCalendarUnitMonth = 8;
+  static const int kCFCalendarUnitDay = 16;
+  static const int kCFCalendarUnitHour = 32;
+  static const int kCFCalendarUnitMinute = 64;
+  static const int kCFCalendarUnitSecond = 128;
+  static const int kCFCalendarUnitWeek = 256;
+  static const int kCFCalendarUnitWeekday = 512;
+  static const int kCFCalendarUnitWeekdayOrdinal = 1024;
+  static const int kCFCalendarUnitQuarter = 2048;
+  static const int kCFCalendarUnitWeekOfMonth = 4096;
+  static const int kCFCalendarUnitWeekOfYear = 8192;
+  static const int kCFCalendarUnitYearForWeekOfYear = 16384;
+}
+
+final class CGPoint extends ffi.Struct {
+  @CGFloat()
+  external double x;
+
+  @CGFloat()
+  external double y;
+}
+
+typedef CGFloat = ffi.Double;
+
+final class CGSize extends ffi.Struct {
+  @CGFloat()
+  external double width;
+
+  @CGFloat()
+  external double height;
+}
+
+final class CGVector extends ffi.Struct {
+  @CGFloat()
+  external double dx;
+
+  @CGFloat()
+  external double dy;
+}
+
+final class CGRect extends ffi.Struct {
+  external CGPoint origin;
+
+  external CGSize size;
+}
+
+abstract class CGRectEdge {
+  static const int CGRectMinXEdge = 0;
+  static const int CGRectMinYEdge = 1;
+  static const int CGRectMaxXEdge = 2;
+  static const int CGRectMaxYEdge = 3;
+}
+
+final class CGAffineTransform extends ffi.Struct {
+  @CGFloat()
+  external double a;
+
+  @CGFloat()
+  external double b;
+
+  @CGFloat()
+  external double c;
+
+  @CGFloat()
+  external double d;
+
+  @CGFloat()
+  external double tx;
+
+  @CGFloat()
+  external double ty;
+}
+
+final class CGAffineTransformComponents extends ffi.Struct {
+  external CGSize scale;
+
+  @CGFloat()
+  external double horizontalShear;
+
+  @CGFloat()
+  external double rotation;
+
+  external CGVector translation;
+}
+
+final class __CFDateFormatter extends ffi.Opaque {}
+
+abstract class CFDateFormatterStyle {
+  static const int kCFDateFormatterNoStyle = 0;
+  static const int kCFDateFormatterShortStyle = 1;
+  static const int kCFDateFormatterMediumStyle = 2;
+  static const int kCFDateFormatterLongStyle = 3;
+  static const int kCFDateFormatterFullStyle = 4;
+}
+
+abstract class CFISO8601DateFormatOptions {
+  static const int kCFISO8601DateFormatWithYear = 1;
+  static const int kCFISO8601DateFormatWithMonth = 2;
+  static const int kCFISO8601DateFormatWithWeekOfYear = 4;
+  static const int kCFISO8601DateFormatWithDay = 16;
+  static const int kCFISO8601DateFormatWithTime = 32;
+  static const int kCFISO8601DateFormatWithTimeZone = 64;
+  static const int kCFISO8601DateFormatWithSpaceBetweenDateAndTime = 128;
+  static const int kCFISO8601DateFormatWithDashSeparatorInDate = 256;
+  static const int kCFISO8601DateFormatWithColonSeparatorInTime = 512;
+  static const int kCFISO8601DateFormatWithColonSeparatorInTimeZone = 1024;
+  static const int kCFISO8601DateFormatWithFractionalSeconds = 2048;
+  static const int kCFISO8601DateFormatWithFullDate = 275;
+  static const int kCFISO8601DateFormatWithFullTime = 1632;
+  static const int kCFISO8601DateFormatWithInternetDateTime = 1907;
+}
+
+typedef CFDateFormatterRef = ffi.Pointer<__CFDateFormatter>;
+typedef CFDateFormatterKey = CFStringRef;
+
+final class __CFBoolean extends ffi.Opaque {}
+
+typedef CFBooleanRef = ffi.Pointer<__CFBoolean>;
+
+abstract class CFNumberType {
+  static const int kCFNumberSInt8Type = 1;
+  static const int kCFNumberSInt16Type = 2;
+  static const int kCFNumberSInt32Type = 3;
+  static const int kCFNumberSInt64Type = 4;
+  static const int kCFNumberFloat32Type = 5;
+  static const int kCFNumberFloat64Type = 6;
+  static const int kCFNumberCharType = 7;
+  static const int kCFNumberShortType = 8;
+  static const int kCFNumberIntType = 9;
+  static const int kCFNumberLongType = 10;
+  static const int kCFNumberLongLongType = 11;
+  static const int kCFNumberFloatType = 12;
+  static const int kCFNumberDoubleType = 13;
+  static const int kCFNumberCFIndexType = 14;
+  static const int kCFNumberNSIntegerType = 15;
+  static const int kCFNumberCGFloatType = 16;
+  static const int kCFNumberMaxType = 16;
+}
+
+final class __CFNumber extends ffi.Opaque {}
+
+typedef CFNumberRef = ffi.Pointer<__CFNumber>;
+
+final class __CFNumberFormatter extends ffi.Opaque {}
+
+abstract class CFNumberFormatterStyle {
+  static const int kCFNumberFormatterNoStyle = 0;
+  static const int kCFNumberFormatterDecimalStyle = 1;
+  static const int kCFNumberFormatterCurrencyStyle = 2;
+  static const int kCFNumberFormatterPercentStyle = 3;
+  static const int kCFNumberFormatterScientificStyle = 4;
+  static const int kCFNumberFormatterSpellOutStyle = 5;
+  static const int kCFNumberFormatterOrdinalStyle = 6;
+  static const int kCFNumberFormatterCurrencyISOCodeStyle = 8;
+  static const int kCFNumberFormatterCurrencyPluralStyle = 9;
+  static const int kCFNumberFormatterCurrencyAccountingStyle = 10;
+}
+
+typedef CFNumberFormatterRef = ffi.Pointer<__CFNumberFormatter>;
+
+abstract class CFNumberFormatterOptionFlags {
+  static const int kCFNumberFormatterParseIntegersOnly = 1;
+}
+
+typedef CFNumberFormatterKey = CFStringRef;
+
+abstract class CFNumberFormatterRoundingMode {
+  static const int kCFNumberFormatterRoundCeiling = 0;
+  static const int kCFNumberFormatterRoundFloor = 1;
+  static const int kCFNumberFormatterRoundDown = 2;
+  static const int kCFNumberFormatterRoundUp = 3;
+  static const int kCFNumberFormatterRoundHalfEven = 4;
+  static const int kCFNumberFormatterRoundHalfDown = 5;
+  static const int kCFNumberFormatterRoundHalfUp = 6;
+}
+
+abstract class CFNumberFormatterPadPosition {
+  static const int kCFNumberFormatterPadBeforePrefix = 0;
+  static const int kCFNumberFormatterPadAfterPrefix = 1;
+  static const int kCFNumberFormatterPadBeforeSuffix = 2;
+  static const int kCFNumberFormatterPadAfterSuffix = 3;
+}
+
+typedef CFPropertyListRef = CFTypeRef;
+
+abstract class CFURLPathStyle {
+  static const int kCFURLPOSIXPathStyle = 0;
+  static const int kCFURLHFSPathStyle = 1;
+  static const int kCFURLWindowsPathStyle = 2;
+}
+
+final class __CFURL extends ffi.Opaque {}
+
+typedef CFURLRef = ffi.Pointer<__CFURL>;
+
+abstract class CFURLComponentType {
+  static const int kCFURLComponentScheme = 1;
+  static const int kCFURLComponentNetLocation = 2;
+  static const int kCFURLComponentPath = 3;
+  static const int kCFURLComponentResourceSpecifier = 4;
+  static const int kCFURLComponentUser = 5;
+  static const int kCFURLComponentPassword = 6;
+  static const int kCFURLComponentUserInfo = 7;
+  static const int kCFURLComponentHost = 8;
+  static const int kCFURLComponentPort = 9;
+  static const int kCFURLComponentParameterString = 10;
+  static const int kCFURLComponentQuery = 11;
+  static const int kCFURLComponentFragment = 12;
+}
+
+final class FSRef extends ffi.Opaque {}
+
+abstract class CFURLBookmarkCreationOptions {
+  static const int kCFURLBookmarkCreationMinimalBookmarkMask = 512;
+  static const int kCFURLBookmarkCreationSuitableForBookmarkFile = 1024;
+  static const int kCFURLBookmarkCreationWithSecurityScope = 2048;
+  static const int kCFURLBookmarkCreationSecurityScopeAllowOnlyReadAccess =
+      4096;
+  static const int kCFURLBookmarkCreationWithoutImplicitSecurityScope =
+      536870912;
+  static const int kCFURLBookmarkCreationPreferFileIDResolutionMask = 256;
+}
+
+abstract class CFURLBookmarkResolutionOptions {
+  static const int kCFURLBookmarkResolutionWithoutUIMask = 256;
+  static const int kCFURLBookmarkResolutionWithoutMountingMask = 512;
+  static const int kCFURLBookmarkResolutionWithSecurityScope = 1024;
+  static const int kCFURLBookmarkResolutionWithoutImplicitStartAccessing =
+      32768;
+  static const int kCFBookmarkResolutionWithoutUIMask = 256;
+  static const int kCFBookmarkResolutionWithoutMountingMask = 512;
+}
+
+typedef CFURLBookmarkFileCreationOptions = CFOptionFlags;
+
+final class mach_port_status extends ffi.Struct {
+  @mach_port_rights_t()
+  external int mps_pset;
+
+  @mach_port_seqno_t()
+  external int mps_seqno;
+
+  @mach_port_mscount_t()
+  external int mps_mscount;
+
+  @mach_port_msgcount_t()
+  external int mps_qlimit;
+
+  @mach_port_msgcount_t()
+  external int mps_msgcount;
+
+  @mach_port_rights_t()
+  external int mps_sorights;
+
+  @boolean_t()
+  external int mps_srights;
+
+  @boolean_t()
+  external int mps_pdrequest;
+
+  @boolean_t()
+  external int mps_nsrequest;
+
+  @natural_t()
+  external int mps_flags;
+}
+
+typedef mach_port_rights_t = natural_t;
+typedef natural_t = __darwin_natural_t;
+typedef __darwin_natural_t = ffi.UnsignedInt;
+typedef mach_port_seqno_t = natural_t;
+typedef mach_port_mscount_t = natural_t;
+typedef mach_port_msgcount_t = natural_t;
+typedef boolean_t = ffi.UnsignedInt;
+
+final class mach_port_limits extends ffi.Struct {
+  @mach_port_msgcount_t()
+  external int mpl_qlimit;
+}
+
+final class mach_port_info_ext extends ffi.Struct {
+  external mach_port_status_t mpie_status;
+
+  @mach_port_msgcount_t()
+  external int mpie_boost_cnt;
+
+  @ffi.Array.multi([6])
+  external ffi.Array<ffi.Uint32> reserved;
+}
+
+typedef mach_port_status_t = mach_port_status;
+
+final class mach_port_guard_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int mpgi_guard;
+}
+
+final class mach_port_qos extends ffi.Opaque {}
+
+final class mach_service_port_info extends ffi.Struct {
+  @ffi.Array.multi([255])
+  external ffi.Array<ffi.Char> mspi_string_name;
+
+  @ffi.Uint8()
+  external int mspi_domain_type;
+}
+
+final class mach_port_options extends ffi.Struct {
+  @ffi.Uint32()
+  external int flags;
+
+  external mach_port_limits_t mpl;
+
+  external UnnamedUnion1 unnamed;
+}
+
+typedef mach_port_limits_t = mach_port_limits;
+
+final class UnnamedUnion1 extends ffi.Union {
+  @ffi.Array.multi([2])
+  external ffi.Array<ffi.Uint64> reserved;
+
+  @mach_port_name_t()
+  external int work_interval_port;
+
+  external mach_service_port_info_t service_port_info;
+
+  @mach_port_name_t()
+  external int service_port_name;
+}
+
+typedef mach_port_name_t = natural_t;
+typedef mach_service_port_info_t = ffi.Pointer<mach_service_port_info>;
+
+abstract class mach_port_guard_exception_codes {
+  static const int kGUARD_EXC_DESTROY = 1;
+  static const int kGUARD_EXC_MOD_REFS = 2;
+  static const int kGUARD_EXC_INVALID_OPTIONS = 3;
+  static const int kGUARD_EXC_SET_CONTEXT = 4;
+  static const int kGUARD_EXC_UNGUARDED = 8;
+  static const int kGUARD_EXC_INCORRECT_GUARD = 16;
+  static const int kGUARD_EXC_IMMOVABLE = 32;
+  static const int kGUARD_EXC_STRICT_REPLY = 64;
+  static const int kGUARD_EXC_MSG_FILTERED = 128;
+  static const int kGUARD_EXC_INVALID_RIGHT = 256;
+  static const int kGUARD_EXC_INVALID_NAME = 512;
+  static const int kGUARD_EXC_INVALID_VALUE = 1024;
+  static const int kGUARD_EXC_INVALID_ARGUMENT = 2048;
+  static const int kGUARD_EXC_RIGHT_EXISTS = 4096;
+  static const int kGUARD_EXC_KERN_NO_SPACE = 8192;
+  static const int kGUARD_EXC_KERN_FAILURE = 16384;
+  static const int kGUARD_EXC_KERN_RESOURCE = 32768;
+  static const int kGUARD_EXC_SEND_INVALID_REPLY = 65536;
+  static const int kGUARD_EXC_SEND_INVALID_VOUCHER = 131072;
+  static const int kGUARD_EXC_SEND_INVALID_RIGHT = 262144;
+  static const int kGUARD_EXC_RCV_INVALID_NAME = 524288;
+  static const int kGUARD_EXC_RCV_GUARDED_DESC = 1048576;
+  static const int kGUARD_EXC_MOD_REFS_NON_FATAL = 2097152;
+  static const int kGUARD_EXC_IMMOVABLE_NON_FATAL = 4194304;
+  static const int kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 8388608;
+}
+
+final class __CFRunLoop extends ffi.Opaque {}
+
+final class __CFRunLoopSource extends ffi.Opaque {}
+
+final class __CFRunLoopObserver extends ffi.Opaque {}
+
+final class __CFRunLoopTimer extends ffi.Opaque {}
+
+abstract class CFRunLoopRunResult {
+  static const int kCFRunLoopRunFinished = 1;
+  static const int kCFRunLoopRunStopped = 2;
+  static const int kCFRunLoopRunTimedOut = 3;
+  static const int kCFRunLoopRunHandledSource = 4;
+}
+
+abstract class CFRunLoopActivity {
+  static const int kCFRunLoopEntry = 1;
+  static const int kCFRunLoopBeforeTimers = 2;
+  static const int kCFRunLoopBeforeSources = 4;
+  static const int kCFRunLoopBeforeWaiting = 32;
+  static const int kCFRunLoopAfterWaiting = 64;
+  static const int kCFRunLoopExit = 128;
+  static const int kCFRunLoopAllActivities = 268435455;
+}
+
+typedef CFRunLoopMode = CFStringRef;
+typedef CFRunLoopRef = ffi.Pointer<__CFRunLoop>;
+typedef CFRunLoopSourceRef = ffi.Pointer<__CFRunLoopSource>;
+typedef CFRunLoopObserverRef = ffi.Pointer<__CFRunLoopObserver>;
+typedef CFRunLoopTimerRef = ffi.Pointer<__CFRunLoopTimer>;
+
+final class CFRunLoopSourceContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          Boolean Function(
+              ffi.Pointer<ffi.Void> info1, ffi.Pointer<ffi.Void> info2)>> equal;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<CFHashCode Function(ffi.Pointer<ffi.Void> info)>> hash;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void> info, CFRunLoopRef rl,
+              CFRunLoopMode mode)>> schedule;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(ffi.Pointer<ffi.Void> info, CFRunLoopRef rl,
+              CFRunLoopMode mode)>> cancel;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      perform;
+}
+
+final class CFRunLoopSourceContext1 extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          Boolean Function(
+              ffi.Pointer<ffi.Void> info1, ffi.Pointer<ffi.Void> info2)>> equal;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<CFHashCode Function(ffi.Pointer<ffi.Void> info)>> hash;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<mach_port_t Function(ffi.Pointer<ffi.Void> info)>>
+      getPort;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void> msg,
+              CFIndex size,
+              CFAllocatorRef allocator,
+              ffi.Pointer<ffi.Void> info)>> perform;
+}
+
+typedef mach_port_t = __darwin_mach_port_t;
+typedef __darwin_mach_port_t = __darwin_mach_port_name_t;
+typedef __darwin_mach_port_name_t = __darwin_natural_t;
+
+final class CFRunLoopObserverContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+typedef CFRunLoopObserverCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFRunLoopObserverRef observer, ffi.Int32 activity,
+            ffi.Pointer<ffi.Void> info)>>;
+void _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, CFRunLoopObserverRef arg0, int arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(CFRunLoopObserverRef arg0, ffi.Int32 arg1)>>()
+      .asFunction<
+          void Function(CFRunLoopObserverRef arg0, int arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureRegistry[
+      id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void
+    _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block, CFRunLoopObserverRef arg0, int arg1) {
+  (_ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureRegistry[
+          block.ref.target.address]
+      as void Function(CFRunLoopObserverRef, int))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(CFRunLoopObserverRef arg0, ffi.Int32 arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFRunLoopObserverRef arg0, ffi.Int32 arg1)>(
+                        _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity.fromFunction(
+      PedometerBindings lib,
+      void Function(CFRunLoopObserverRef arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFRunLoopObserverRef arg0, ffi.Int32 arg1)>(
+                        _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity.listener(
+      PedometerBindings lib,
+      void Function(CFRunLoopObserverRef arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                CFRunLoopObserverRef arg0,
+                                ffi.Int32 arg1)>.listener(
+                        _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFRunLoopObserverRef_CFRunLoopActivity_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          CFRunLoopObserverRef arg0,
+          ffi.Int32 arg1)>? _dartFuncListenerTrampoline;
+
+  void call(CFRunLoopObserverRef arg0, int arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    CFRunLoopObserverRef arg0, ffi.Int32 arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                CFRunLoopObserverRef arg0, int arg1)>()(_id, arg0, arg1);
+  }
+}
+
+final class CFRunLoopTimerContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+typedef CFRunLoopTimerCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFRunLoopTimerRef timer, ffi.Pointer<ffi.Void> info)>>;
+void _ObjCBlock_ffiVoid_CFRunLoopTimerRef_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, CFRunLoopTimerRef arg0) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function(CFRunLoopTimerRef arg0)>>()
+      .asFunction<void Function(CFRunLoopTimerRef arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_CFRunLoopTimerRef_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, CFRunLoopTimerRef arg0) {
+  (_ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureRegistry[
+      block.ref.target.address] as void Function(CFRunLoopTimerRef))(arg0);
+}
+
+class ObjCBlock_ffiVoid_CFRunLoopTimerRef extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_CFRunLoopTimerRef._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFRunLoopTimerRef.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(CFRunLoopTimerRef arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFRunLoopTimerRef arg0)>(
+                        _ObjCBlock_ffiVoid_CFRunLoopTimerRef_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFRunLoopTimerRef.fromFunction(
+      PedometerBindings lib, void Function(CFRunLoopTimerRef arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFRunLoopTimerRef arg0)>(
+                        _ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFRunLoopTimerRef_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_CFRunLoopTimerRef.listener(
+      PedometerBindings lib, void Function(CFRunLoopTimerRef arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFRunLoopTimerRef arg0)>.listener(
+                        _ObjCBlock_ffiVoid_CFRunLoopTimerRef_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFRunLoopTimerRef_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, CFRunLoopTimerRef arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(CFRunLoopTimerRef arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block, CFRunLoopTimerRef arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                CFRunLoopTimerRef arg0)>()(_id, arg0);
+  }
+}
+
+final class __CFSocket extends ffi.Opaque {}
+
+abstract class CFSocketError {
+  static const int kCFSocketSuccess = 0;
+  static const int kCFSocketError = -1;
+  static const int kCFSocketTimeout = -2;
+}
+
+final class CFSocketSignature extends ffi.Struct {
+  @SInt32()
+  external int protocolFamily;
+
+  @SInt32()
+  external int socketType;
+
+  @SInt32()
+  external int protocol;
+
+  external CFDataRef address;
+}
+
+abstract class CFSocketCallBackType {
+  static const int kCFSocketNoCallBack = 0;
+  static const int kCFSocketReadCallBack = 1;
+  static const int kCFSocketAcceptCallBack = 2;
+  static const int kCFSocketDataCallBack = 3;
+  static const int kCFSocketConnectCallBack = 4;
+  static const int kCFSocketWriteCallBack = 8;
+}
+
+final class CFSocketContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+typedef CFSocketRef = ffi.Pointer<__CFSocket>;
+typedef CFSocketCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFSocketRef s, ffi.Int32 type, CFDataRef address,
+            ffi.Pointer<ffi.Void> data, ffi.Pointer<ffi.Void> info)>>;
+typedef CFSocketNativeHandle = ffi.Int;
+
+final class accessx_descriptor extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int ad_name_offset;
+
+  @ffi.Int()
+  external int ad_flags;
+
+  @ffi.Array.multi([2])
+  external ffi.Array<ffi.Int> ad_pad;
+}
+
+typedef gid_t = __darwin_gid_t;
+typedef __darwin_gid_t = __uint32_t;
+typedef useconds_t = __darwin_useconds_t;
+typedef __darwin_useconds_t = __uint32_t;
+
+final class fssearchblock extends ffi.Opaque {}
+
+final class searchstate extends ffi.Opaque {}
+
+final class flock extends ffi.Struct {
+  @off_t()
+  external int l_start;
+
+  @off_t()
+  external int l_len;
+
+  @pid_t()
+  external int l_pid;
+
+  @ffi.Short()
+  external int l_type;
+
+  @ffi.Short()
+  external int l_whence;
+}
+
+final class flocktimeout extends ffi.Struct {
+  external flock fl;
+
+  external timespec timeout;
+}
+
+final class radvisory extends ffi.Struct {
+  @off_t()
+  external int ra_offset;
+
+  @ffi.Int()
+  external int ra_count;
+}
+
+final class fsignatures extends ffi.Struct {
+  @off_t()
+  external int fs_file_start;
+
+  external ffi.Pointer<ffi.Void> fs_blob_start;
+
+  @ffi.Size()
+  external int fs_blob_size;
+
+  @ffi.Size()
+  external int fs_fsignatures_size;
+
+  @ffi.Array.multi([20])
+  external ffi.Array<ffi.Char> fs_cdhash;
+
+  @ffi.Int()
+  external int fs_hash_type;
+}
+
+final class fsupplement extends ffi.Struct {
+  @off_t()
+  external int fs_file_start;
+
+  @off_t()
+  external int fs_blob_start;
+
+  @ffi.Size()
+  external int fs_blob_size;
+
+  @ffi.Int()
+  external int fs_orig_fd;
+}
+
+final class fchecklv extends ffi.Struct {
+  @off_t()
+  external int lv_file_start;
+
+  @ffi.Size()
+  external int lv_error_message_size;
+
+  external ffi.Pointer<ffi.Void> lv_error_message;
+}
+
+final class fgetsigsinfo extends ffi.Struct {
+  @off_t()
+  external int fg_file_start;
+
+  @ffi.Int()
+  external int fg_info_request;
+
+  @ffi.Int()
+  external int fg_sig_is_platform;
+}
+
+final class fstore extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int fst_flags;
+
+  @ffi.Int()
+  external int fst_posmode;
+
+  @off_t()
+  external int fst_offset;
+
+  @off_t()
+  external int fst_length;
+
+  @off_t()
+  external int fst_bytesalloc;
+}
+
+final class fpunchhole extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int fp_flags;
+
+  @ffi.UnsignedInt()
+  external int reserved;
+
+  @off_t()
+  external int fp_offset;
+
+  @off_t()
+  external int fp_length;
+}
+
+final class ftrimactivefile extends ffi.Struct {
+  @off_t()
+  external int fta_offset;
+
+  @off_t()
+  external int fta_length;
+}
+
+final class fspecread extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int fsr_flags;
+
+  @ffi.UnsignedInt()
+  external int reserved;
+
+  @off_t()
+  external int fsr_offset;
+
+  @off_t()
+  external int fsr_length;
+}
+
+@ffi.Packed(4)
+final class log2phys extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int l2p_flags;
+
+  @off_t()
+  external int l2p_contigbytes;
+
+  @off_t()
+  external int l2p_devoffset;
+}
+
+final class _filesec extends ffi.Opaque {}
+
+abstract class filesec_property_t {
+  static const int FILESEC_OWNER = 1;
+  static const int FILESEC_GROUP = 2;
+  static const int FILESEC_UUID = 3;
+  static const int FILESEC_MODE = 4;
+  static const int FILESEC_ACL = 5;
+  static const int FILESEC_GRPUUID = 6;
+  static const int FILESEC_ACL_RAW = 100;
+  static const int FILESEC_ACL_ALLOCSIZE = 101;
+}
+
+typedef filesec_t = ffi.Pointer<_filesec>;
+
+final class objc_class extends ffi.Opaque {}
+
+/// Represents an instance of a class.
+final class objc_object extends ffi.Struct {
+  external ffi.Pointer<ObjCObject> isa;
+}
+
+final class ObjCObject extends ffi.Opaque {}
+
+final class objc_selector extends ffi.Opaque {}
+
+final class _malloc_zone_t extends ffi.Opaque {}
+
+final class ObjCSel extends ffi.Opaque {}
+
+typedef objc_objectptr_t = ffi.Pointer<ffi.Void>;
+
+final class _NSZone extends ffi.Opaque {}
+
+abstract class os_clockid_t {
+  static const int OS_CLOCK_MACH_ABSOLUTE_TIME = 32;
+}
+
+final class os_workgroup_attr_opaque_s extends ffi.Struct {
+  @ffi.Uint32()
+  external int sig;
+
+  @ffi.Array.multi([60])
+  external ffi.Array<ffi.Char> opaque;
+}
+
+final class os_workgroup_interval_data_opaque_s extends ffi.Struct {
+  @ffi.Uint32()
+  external int sig;
+
+  @ffi.Array.multi([56])
+  external ffi.Array<ffi.Char> opaque;
+}
+
+final class os_workgroup_join_token_opaque_s extends ffi.Struct {
+  @ffi.Uint32()
+  external int sig;
+
+  @ffi.Array.multi([36])
+  external ffi.Array<ffi.Char> opaque;
+}
+
+typedef os_workgroup_t = ffi.Pointer<ObjCObject>;
+
+class _ObjCWrapper implements ffi.Finalizable {
+  final ffi.Pointer<ObjCObject> _id;
+  final PedometerBindings _lib;
+  bool _pendingRelease;
+
+  _ObjCWrapper._(this._id, this._lib,
+      {bool retain = false, bool release = false})
+      : _pendingRelease = release {
+    if (retain) {
+      _lib._objc_retain(_id.cast());
+    }
+    if (release) {
+      _lib._objc_releaseFinalizer11.attach(this, _id.cast(), detach: this);
+    }
+  }
+
+  /// Releases the reference to the underlying ObjC object held by this wrapper.
+  /// Throws a StateError if this wrapper doesn't currently hold a reference.
+  void release() {
+    if (_pendingRelease) {
+      _pendingRelease = false;
+      _lib._objc_release(_id.cast());
+      _lib._objc_releaseFinalizer11.detach(this);
+    } else {
+      throw StateError(
+          'Released an ObjC object that was unowned or already released.');
+    }
+  }
+
+  @override
+  bool operator ==(Object other) {
+    return other is _ObjCWrapper && _id == other._id;
+  }
+
+  @override
+  int get hashCode => _id.hashCode;
+
+  /// Return a pointer to this object.
+  ffi.Pointer<ObjCObject> get pointer => _id;
+}
+
+class OS_os_workgroup extends OS_object {
+  OS_os_workgroup._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [OS_os_workgroup] that points to the same underlying object as [other].
+  static OS_os_workgroup castFrom<T extends _ObjCWrapper>(T other) {
+    return OS_os_workgroup._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [OS_os_workgroup] that wraps the given raw object pointer.
+  static OS_os_workgroup castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return OS_os_workgroup._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [OS_os_workgroup].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_OS_os_workgroup1);
+  }
+
+  @override
+  OS_os_workgroup init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return OS_os_workgroup._(_ret, _lib, retain: true, release: true);
+  }
+
+  static OS_os_workgroup new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_OS_os_workgroup1, _lib._sel_new1);
+    return OS_os_workgroup._(_ret, _lib, retain: false, release: true);
+  }
+
+  static OS_os_workgroup alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_OS_os_workgroup1, _lib._sel_alloc1);
+    return OS_os_workgroup._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_OS_os_workgroup1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_OS_os_workgroup1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_OS_os_workgroup1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_OS_os_workgroup1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_OS_os_workgroup1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_OS_os_workgroup1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_OS_os_workgroup1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class OS_object extends NSObject {
+  OS_object._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [OS_object] that points to the same underlying object as [other].
+  static OS_object castFrom<T extends _ObjCWrapper>(T other) {
+    return OS_object._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [OS_object] that wraps the given raw object pointer.
+  static OS_object castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return OS_object._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [OS_object].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_OS_object1);
+  }
+
+  @override
+  OS_object init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return OS_object._(_ret, _lib, retain: true, release: true);
+  }
+
+  static OS_object new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_OS_object1, _lib._sel_new1);
+    return OS_object._(_ret, _lib, retain: false, release: true);
+  }
+
+  static OS_object alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_OS_object1, _lib._sel_alloc1);
+    return OS_object._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_OS_object1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_OS_object1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_OS_object1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_OS_object1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_OS_object1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_OS_object1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_OS_object1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSObject extends _ObjCWrapper {
+  NSObject._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSObject] that points to the same underlying object as [other].
+  static NSObject castFrom<T extends _ObjCWrapper>(T other) {
+    return NSObject._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSObject] that wraps the given raw object pointer.
+  static NSObject castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSObject._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSObject].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSObject1);
+  }
+
+  static void load(PedometerBindings _lib) {
+    _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_load1);
+  }
+
+  static void initialize(PedometerBindings _lib) {
+    _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_initialize1);
+  }
+
+  NSObject init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_new1);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSObject allocWithZone_(
+      PedometerBindings _lib, ffi.Pointer<_NSZone> zone) {
+    final _ret = _lib._objc_msgSend_3(
+        _lib._class_NSObject1, _lib._sel_allocWithZone_1, zone);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSObject alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_alloc1);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  void dealloc() {
+    _lib._objc_msgSend_1(_id, _lib._sel_dealloc1);
+  }
+
+  void finalize() {
+    _lib._objc_msgSend_1(_id, _lib._sel_finalize1);
+  }
+
+  NSObject copy() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_copy1);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSObject mutableCopy() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_mutableCopy1);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSObject copyWithZone_(
+      PedometerBindings _lib, ffi.Pointer<_NSZone> zone) {
+    final _ret = _lib._objc_msgSend_3(
+        _lib._class_NSObject1, _lib._sel_copyWithZone_1, zone);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSObject mutableCopyWithZone_(
+      PedometerBindings _lib, ffi.Pointer<_NSZone> zone) {
+    final _ret = _lib._objc_msgSend_3(
+        _lib._class_NSObject1, _lib._sel_mutableCopyWithZone_1, zone);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  static bool instancesRespondToSelector_(
+      PedometerBindings _lib, ffi.Pointer<ObjCSel> aSelector) {
+    return _lib._objc_msgSend_4(_lib._class_NSObject1,
+        _lib._sel_instancesRespondToSelector_1, aSelector);
+  }
+
+  static bool conformsToProtocol_(PedometerBindings _lib, Protocol? protocol) {
+    return _lib._objc_msgSend_5(_lib._class_NSObject1,
+        _lib._sel_conformsToProtocol_1, protocol?._id ?? ffi.nullptr);
+  }
+
+  IMP methodForSelector_(ffi.Pointer<ObjCSel> aSelector) {
+    return _lib._objc_msgSend_6(_id, _lib._sel_methodForSelector_1, aSelector);
+  }
+
+  static IMP instanceMethodForSelector_(
+      PedometerBindings _lib, ffi.Pointer<ObjCSel> aSelector) {
+    return _lib._objc_msgSend_6(_lib._class_NSObject1,
+        _lib._sel_instanceMethodForSelector_1, aSelector);
+  }
+
+  void doesNotRecognizeSelector_(ffi.Pointer<ObjCSel> aSelector) {
+    _lib._objc_msgSend_7(_id, _lib._sel_doesNotRecognizeSelector_1, aSelector);
+  }
+
+  NSObject forwardingTargetForSelector_(ffi.Pointer<ObjCSel> aSelector) {
+    final _ret = _lib._objc_msgSend_8(
+        _id, _lib._sel_forwardingTargetForSelector_1, aSelector);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void forwardInvocation_(NSInvocation? anInvocation) {
+    _lib._objc_msgSend_348(
+        _id, _lib._sel_forwardInvocation_1, anInvocation?._id ?? ffi.nullptr);
+  }
+
+  NSMethodSignature methodSignatureForSelector_(
+      ffi.Pointer<ObjCSel> aSelector) {
+    final _ret = _lib._objc_msgSend_349(
+        _id, _lib._sel_methodSignatureForSelector_1, aSelector);
+    return NSMethodSignature._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMethodSignature instanceMethodSignatureForSelector_(
+      PedometerBindings _lib, ffi.Pointer<ObjCSel> aSelector) {
+    final _ret = _lib._objc_msgSend_349(_lib._class_NSObject1,
+        _lib._sel_instanceMethodSignatureForSelector_1, aSelector);
+    return NSMethodSignature._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool allowsWeakReference() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsWeakReference1);
+  }
+
+  bool retainWeakReference() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_retainWeakReference1);
+  }
+
+  static bool isSubclassOfClass_(PedometerBindings _lib, NSObject aClass) {
+    return _lib._objc_msgSend_0(
+        _lib._class_NSObject1, _lib._sel_isSubclassOfClass_1, aClass._id);
+  }
+
+  static bool resolveClassMethod_(
+      PedometerBindings _lib, ffi.Pointer<ObjCSel> sel) {
+    return _lib._objc_msgSend_4(
+        _lib._class_NSObject1, _lib._sel_resolveClassMethod_1, sel);
+  }
+
+  static bool resolveInstanceMethod_(
+      PedometerBindings _lib, ffi.Pointer<ObjCSel> sel) {
+    return _lib._objc_msgSend_4(
+        _lib._class_NSObject1, _lib._sel_resolveInstanceMethod_1, sel);
+  }
+
+  static int hash(PedometerBindings _lib) {
+    return _lib._objc_msgSend_10(_lib._class_NSObject1, _lib._sel_hash1);
+  }
+
+  static NSObject superclass(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_superclass1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject class1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_class1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString description(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_20(_lib._class_NSObject1, _lib._sel_description1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString debugDescription(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_20(
+        _lib._class_NSObject1, _lib._sel_debugDescription1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static int version(PedometerBindings _lib) {
+    return _lib._objc_msgSend_70(_lib._class_NSObject1, _lib._sel_version1);
+  }
+
+  static void setVersion_(PedometerBindings _lib, int aVersion) {
+    _lib._objc_msgSend_350(
+        _lib._class_NSObject1, _lib._sel_setVersion_1, aVersion);
+  }
+
+  NSObject get classForCoder {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_classForCoder1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject replacementObjectForCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_replacementObjectForCoder_1, coder?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject awakeAfterUsingCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_awakeAfterUsingCoder_1, coder?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSObject get autoContentAccessingProxy {
+    final _ret =
+        _lib._objc_msgSend_2(_id, _lib._sel_autoContentAccessingProxy1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void
+      attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_(
+          NSError? error,
+          int recoveryOptionIndex,
+          NSObject delegate,
+          ffi.Pointer<ObjCSel> didRecoverSelector,
+          ffi.Pointer<ffi.Void> contextInfo) {
+    _lib._objc_msgSend_351(
+        _id,
+        _lib._sel_attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_1,
+        error?._id ?? ffi.nullptr,
+        recoveryOptionIndex,
+        delegate._id,
+        didRecoverSelector,
+        contextInfo);
+  }
+
+  bool attemptRecoveryFromError_optionIndex_(
+      NSError? error, int recoveryOptionIndex) {
+    return _lib._objc_msgSend_352(
+        _id,
+        _lib._sel_attemptRecoveryFromError_optionIndex_1,
+        error?._id ?? ffi.nullptr,
+        recoveryOptionIndex);
+  }
+
+  void performSelector_withObject_afterDelay_inModes_(
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument,
+      double delay,
+      NSArray? modes) {
+    _lib._objc_msgSend_353(
+        _id,
+        _lib._sel_performSelector_withObject_afterDelay_inModes_1,
+        aSelector,
+        anArgument._id,
+        delay,
+        modes?._id ?? ffi.nullptr);
+  }
+
+  void performSelector_withObject_afterDelay_(
+      ffi.Pointer<ObjCSel> aSelector, NSObject anArgument, double delay) {
+    _lib._objc_msgSend_354(
+        _id,
+        _lib._sel_performSelector_withObject_afterDelay_1,
+        aSelector,
+        anArgument._id,
+        delay);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSObject1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSObject1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  bool fileManager_shouldProceedAfterError_(
+      NSFileManager? fm, NSDictionary? errorInfo) {
+    return _lib._objc_msgSend_388(
+        _id,
+        _lib._sel_fileManager_shouldProceedAfterError_1,
+        fm?._id ?? ffi.nullptr,
+        errorInfo?._id ?? ffi.nullptr);
+  }
+
+  void fileManager_willProcessPath_(NSFileManager? fm, NSString? path) {
+    _lib._objc_msgSend_389(_id, _lib._sel_fileManager_willProcessPath_1,
+        fm?._id ?? ffi.nullptr, path?._id ?? ffi.nullptr);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSObject1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  NSObject valueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_valueForKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void setValue_forKey_(NSObject value, NSString? key) {
+    _lib._objc_msgSend_117(
+        _id, _lib._sel_setValue_forKey_1, value._id, key?._id ?? ffi.nullptr);
+  }
+
+  bool validateValue_forKey_error_(ffi.Pointer<ffi.Pointer<ObjCObject>> ioValue,
+      NSString? inKey, ffi.Pointer<ffi.Pointer<ObjCObject>> outError) {
+    return _lib._objc_msgSend_183(_id, _lib._sel_validateValue_forKey_error_1,
+        ioValue, inKey?._id ?? ffi.nullptr, outError);
+  }
+
+  NSMutableArray mutableArrayValueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_406(
+        _id, _lib._sel_mutableArrayValueForKey_1, key?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableOrderedSet mutableOrderedSetValueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_425(
+        _id, _lib._sel_mutableOrderedSetValueForKey_1, key?._id ?? ffi.nullptr);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableSet mutableSetValueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_426(
+        _id, _lib._sel_mutableSetValueForKey_1, key?._id ?? ffi.nullptr);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject valueForKeyPath_(NSString? keyPath) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_valueForKeyPath_1, keyPath?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void setValue_forKeyPath_(NSObject value, NSString? keyPath) {
+    _lib._objc_msgSend_117(_id, _lib._sel_setValue_forKeyPath_1, value._id,
+        keyPath?._id ?? ffi.nullptr);
+  }
+
+  bool validateValue_forKeyPath_error_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> ioValue,
+      NSString? inKeyPath,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outError) {
+    return _lib._objc_msgSend_183(
+        _id,
+        _lib._sel_validateValue_forKeyPath_error_1,
+        ioValue,
+        inKeyPath?._id ?? ffi.nullptr,
+        outError);
+  }
+
+  NSMutableArray mutableArrayValueForKeyPath_(NSString? keyPath) {
+    final _ret = _lib._objc_msgSend_406(_id,
+        _lib._sel_mutableArrayValueForKeyPath_1, keyPath?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableOrderedSet mutableOrderedSetValueForKeyPath_(NSString? keyPath) {
+    final _ret = _lib._objc_msgSend_425(
+        _id,
+        _lib._sel_mutableOrderedSetValueForKeyPath_1,
+        keyPath?._id ?? ffi.nullptr);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableSet mutableSetValueForKeyPath_(NSString? keyPath) {
+    final _ret = _lib._objc_msgSend_426(_id,
+        _lib._sel_mutableSetValueForKeyPath_1, keyPath?._id ?? ffi.nullptr);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject valueForUndefinedKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_valueForUndefinedKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void setValue_forUndefinedKey_(NSObject value, NSString? key) {
+    _lib._objc_msgSend_117(_id, _lib._sel_setValue_forUndefinedKey_1, value._id,
+        key?._id ?? ffi.nullptr);
+  }
+
+  void setNilValueForKey_(NSString? key) {
+    _lib._objc_msgSend_187(
+        _id, _lib._sel_setNilValueForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  NSDictionary dictionaryWithValuesForKeys_(NSArray? keys) {
+    final _ret = _lib._objc_msgSend_427(
+        _id, _lib._sel_dictionaryWithValuesForKeys_1, keys?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  void setValuesForKeysWithDictionary_(NSDictionary? keyedValues) {
+    _lib._objc_msgSend_428(_id, _lib._sel_setValuesForKeysWithDictionary_1,
+        keyedValues?._id ?? ffi.nullptr);
+  }
+
+  void observeValueForKeyPath_ofObject_change_context_(NSString? keyPath,
+      NSObject object, NSDictionary? change, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_429(
+        _id,
+        _lib._sel_observeValueForKeyPath_ofObject_change_context_1,
+        keyPath?._id ?? ffi.nullptr,
+        object._id,
+        change?._id ?? ffi.nullptr,
+        context);
+  }
+
+  void addObserver_forKeyPath_options_context_(NSObject? observer,
+      NSString? keyPath, int options, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_121(
+        _id,
+        _lib._sel_addObserver_forKeyPath_options_context_1,
+        observer?._id ?? ffi.nullptr,
+        keyPath?._id ?? ffi.nullptr,
+        options,
+        context);
+  }
+
+  void removeObserver_forKeyPath_context_(
+      NSObject? observer, NSString? keyPath, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_122(_id, _lib._sel_removeObserver_forKeyPath_context_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr, context);
+  }
+
+  void removeObserver_forKeyPath_(NSObject? observer, NSString? keyPath) {
+    _lib._objc_msgSend_123(_id, _lib._sel_removeObserver_forKeyPath_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr);
+  }
+
+  void willChangeValueForKey_(NSString? key) {
+    _lib._objc_msgSend_187(
+        _id, _lib._sel_willChangeValueForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  void didChangeValueForKey_(NSString? key) {
+    _lib._objc_msgSend_187(
+        _id, _lib._sel_didChangeValueForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  void willChange_valuesAtIndexes_forKey_(
+      int changeKind, NSIndexSet? indexes, NSString? key) {
+    _lib._objc_msgSend_430(_id, _lib._sel_willChange_valuesAtIndexes_forKey_1,
+        changeKind, indexes?._id ?? ffi.nullptr, key?._id ?? ffi.nullptr);
+  }
+
+  void didChange_valuesAtIndexes_forKey_(
+      int changeKind, NSIndexSet? indexes, NSString? key) {
+    _lib._objc_msgSend_430(_id, _lib._sel_didChange_valuesAtIndexes_forKey_1,
+        changeKind, indexes?._id ?? ffi.nullptr, key?._id ?? ffi.nullptr);
+  }
+
+  void willChangeValueForKey_withSetMutation_usingObjects_(
+      NSString? key, int mutationKind, NSSet? objects) {
+    _lib._objc_msgSend_431(
+        _id,
+        _lib._sel_willChangeValueForKey_withSetMutation_usingObjects_1,
+        key?._id ?? ffi.nullptr,
+        mutationKind,
+        objects?._id ?? ffi.nullptr);
+  }
+
+  void didChangeValueForKey_withSetMutation_usingObjects_(
+      NSString? key, int mutationKind, NSSet? objects) {
+    _lib._objc_msgSend_431(
+        _id,
+        _lib._sel_didChangeValueForKey_withSetMutation_usingObjects_1,
+        key?._id ?? ffi.nullptr,
+        mutationKind,
+        objects?._id ?? ffi.nullptr);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSObject1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSObject1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  ffi.Pointer<ffi.Void> get observationInfo {
+    return _lib._objc_msgSend_19(_id, _lib._sel_observationInfo1);
+  }
+
+  set observationInfo(ffi.Pointer<ffi.Void> value) {
+    return _lib._objc_msgSend_432(_id, _lib._sel_setObservationInfo_1, value);
+  }
+
+  NSObject get classForKeyedArchiver {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_classForKeyedArchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject replacementObjectForKeyedArchiver_(NSKeyedArchiver? archiver) {
+    final _ret = _lib._objc_msgSend_446(
+        _id,
+        _lib._sel_replacementObjectForKeyedArchiver_1,
+        archiver?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSObject1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSObject1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void performSelectorOnMainThread_withObject_waitUntilDone_modes_(
+      ffi.Pointer<ObjCSel> aSelector, NSObject arg, bool wait, NSArray? array) {
+    _lib._objc_msgSend_447(
+        _id,
+        _lib._sel_performSelectorOnMainThread_withObject_waitUntilDone_modes_1,
+        aSelector,
+        arg._id,
+        wait,
+        array?._id ?? ffi.nullptr);
+  }
+
+  void performSelectorOnMainThread_withObject_waitUntilDone_(
+      ffi.Pointer<ObjCSel> aSelector, NSObject arg, bool wait) {
+    _lib._objc_msgSend_448(
+        _id,
+        _lib._sel_performSelectorOnMainThread_withObject_waitUntilDone_1,
+        aSelector,
+        arg._id,
+        wait);
+  }
+
+  void performSelector_onThread_withObject_waitUntilDone_modes_(
+      ffi.Pointer<ObjCSel> aSelector,
+      NSThread? thr,
+      NSObject arg,
+      bool wait,
+      NSArray? array) {
+    _lib._objc_msgSend_465(
+        _id,
+        _lib._sel_performSelector_onThread_withObject_waitUntilDone_modes_1,
+        aSelector,
+        thr?._id ?? ffi.nullptr,
+        arg._id,
+        wait,
+        array?._id ?? ffi.nullptr);
+  }
+
+  void performSelector_onThread_withObject_waitUntilDone_(
+      ffi.Pointer<ObjCSel> aSelector, NSThread? thr, NSObject arg, bool wait) {
+    _lib._objc_msgSend_466(
+        _id,
+        _lib._sel_performSelector_onThread_withObject_waitUntilDone_1,
+        aSelector,
+        thr?._id ?? ffi.nullptr,
+        arg._id,
+        wait);
+  }
+
+  void performSelectorInBackground_withObject_(
+      ffi.Pointer<ObjCSel> aSelector, NSObject arg) {
+    _lib._objc_msgSend_75(_id,
+        _lib._sel_performSelectorInBackground_withObject_1, aSelector, arg._id);
+  }
+}
+
+typedef instancetype = ffi.Pointer<ObjCObject>;
+
+class Protocol extends _ObjCWrapper {
+  Protocol._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [Protocol] that points to the same underlying object as [other].
+  static Protocol castFrom<T extends _ObjCWrapper>(T other) {
+    return Protocol._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [Protocol] that wraps the given raw object pointer.
+  static Protocol castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return Protocol._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [Protocol].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_Protocol1);
+  }
+}
+
+typedef IMP = ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>>;
+
+class NSInvocation extends NSObject {
+  NSInvocation._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSInvocation] that points to the same underlying object as [other].
+  static NSInvocation castFrom<T extends _ObjCWrapper>(T other) {
+    return NSInvocation._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSInvocation] that wraps the given raw object pointer.
+  static NSInvocation castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSInvocation._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSInvocation].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInvocation1);
+  }
+
+  static NSInvocation invocationWithMethodSignature_(
+      PedometerBindings _lib, NSMethodSignature? sig) {
+    final _ret = _lib._objc_msgSend_341(_lib._class_NSInvocation1,
+        _lib._sel_invocationWithMethodSignature_1, sig?._id ?? ffi.nullptr);
+    return NSInvocation._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMethodSignature? get methodSignature {
+    final _ret = _lib._objc_msgSend_342(_id, _lib._sel_methodSignature1);
+    return _ret.address == 0
+        ? null
+        : NSMethodSignature._(_ret, _lib, retain: true, release: true);
+  }
+
+  void retainArguments() {
+    _lib._objc_msgSend_1(_id, _lib._sel_retainArguments1);
+  }
+
+  bool get argumentsRetained {
+    return _lib._objc_msgSend_12(_id, _lib._sel_argumentsRetained1);
+  }
+
+  NSObject get target {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_target1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set target(NSObject value) {
+    return _lib._objc_msgSend_343(_id, _lib._sel_setTarget_1, value._id);
+  }
+
+  ffi.Pointer<ObjCSel> get selector {
+    return _lib._objc_msgSend_344(_id, _lib._sel_selector1);
+  }
+
+  set selector(ffi.Pointer<ObjCSel> value) {
+    return _lib._objc_msgSend_345(_id, _lib._sel_setSelector_1, value);
+  }
+
+  void getReturnValue_(ffi.Pointer<ffi.Void> retLoc) {
+    _lib._objc_msgSend_47(_id, _lib._sel_getReturnValue_1, retLoc);
+  }
+
+  void setReturnValue_(ffi.Pointer<ffi.Void> retLoc) {
+    _lib._objc_msgSend_47(_id, _lib._sel_setReturnValue_1, retLoc);
+  }
+
+  void getArgument_atIndex_(ffi.Pointer<ffi.Void> argumentLocation, int idx) {
+    _lib._objc_msgSend_346(
+        _id, _lib._sel_getArgument_atIndex_1, argumentLocation, idx);
+  }
+
+  void setArgument_atIndex_(ffi.Pointer<ffi.Void> argumentLocation, int idx) {
+    _lib._objc_msgSend_346(
+        _id, _lib._sel_setArgument_atIndex_1, argumentLocation, idx);
+  }
+
+  void invoke() {
+    _lib._objc_msgSend_1(_id, _lib._sel_invoke1);
+  }
+
+  void invokeWithTarget_(NSObject target) {
+    _lib._objc_msgSend_15(_id, _lib._sel_invokeWithTarget_1, target._id);
+  }
+
+  void invokeUsingIMP_(IMP imp) {
+    _lib._objc_msgSend_347(_id, _lib._sel_invokeUsingIMP_1, imp);
+  }
+
+  static NSInvocation new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_new1);
+    return NSInvocation._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSInvocation alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_alloc1);
+    return NSInvocation._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSInvocation1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSInvocation1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSInvocation1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSInvocation1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSInvocation1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSInvocation1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSInvocation1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSMethodSignature extends NSObject {
+  NSMethodSignature._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMethodSignature] that points to the same underlying object as [other].
+  static NSMethodSignature castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMethodSignature._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSMethodSignature] that wraps the given raw object pointer.
+  static NSMethodSignature castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMethodSignature._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMethodSignature].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMethodSignature1);
+  }
+
+  static NSMethodSignature signatureWithObjCTypes_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> types) {
+    final _ret = _lib._objc_msgSend_9(_lib._class_NSMethodSignature1,
+        _lib._sel_signatureWithObjCTypes_1, types);
+    return NSMethodSignature._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get numberOfArguments {
+    return _lib._objc_msgSend_10(_id, _lib._sel_numberOfArguments1);
+  }
+
+  ffi.Pointer<ffi.Char> getArgumentTypeAtIndex_(int idx) {
+    return _lib._objc_msgSend_11(_id, _lib._sel_getArgumentTypeAtIndex_1, idx);
+  }
+
+  int get frameLength {
+    return _lib._objc_msgSend_10(_id, _lib._sel_frameLength1);
+  }
+
+  bool isOneway() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isOneway1);
+  }
+
+  ffi.Pointer<ffi.Char> get methodReturnType {
+    return _lib._objc_msgSend_13(_id, _lib._sel_methodReturnType1);
+  }
+
+  int get methodReturnLength {
+    return _lib._objc_msgSend_10(_id, _lib._sel_methodReturnLength1);
+  }
+
+  static NSMethodSignature new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_new1);
+    return NSMethodSignature._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMethodSignature alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_alloc1);
+    return NSMethodSignature._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMethodSignature1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMethodSignature1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMethodSignature1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMethodSignature1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMethodSignature1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSMethodSignature1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMethodSignature1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSUInteger = ffi.UnsignedLong;
+
+/// Immutable Set
+class NSSet extends NSObject {
+  NSSet._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSSet] that points to the same underlying object as [other].
+  static NSSet castFrom<T extends _ObjCWrapper>(T other) {
+    return NSSet._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSSet] that wraps the given raw object pointer.
+  static NSSet castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSSet._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSSet].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSSet1);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  NSObject member_(NSObject object) {
+    final _ret = _lib._objc_msgSend_16(_id, _lib._sel_member_1, object._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator objectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_objectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSSet init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet initWithObjects_count_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(
+        _id, _lib._sel_initWithObjects_count_1, objects, cnt);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get allObjects {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_allObjects1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject anyObject() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_anyObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool containsObject_(NSObject anObject) {
+    return _lib._objc_msgSend_0(_id, _lib._sel_containsObject_1, anObject._id);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_(NSObject locale) {
+    final _ret = _lib._objc_msgSend_57(
+        _id, _lib._sel_descriptionWithLocale_1, locale._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool intersectsSet_(NSSet? otherSet) {
+    return _lib._objc_msgSend_330(
+        _id, _lib._sel_intersectsSet_1, otherSet?._id ?? ffi.nullptr);
+  }
+
+  bool isEqualToSet_(NSSet? otherSet) {
+    return _lib._objc_msgSend_330(
+        _id, _lib._sel_isEqualToSet_1, otherSet?._id ?? ffi.nullptr);
+  }
+
+  bool isSubsetOfSet_(NSSet? otherSet) {
+    return _lib._objc_msgSend_330(
+        _id, _lib._sel_isSubsetOfSet_1, otherSet?._id ?? ffi.nullptr);
+  }
+
+  void makeObjectsPerformSelector_(ffi.Pointer<ObjCSel> aSelector) {
+    _lib._objc_msgSend_7(
+        _id, _lib._sel_makeObjectsPerformSelector_1, aSelector);
+  }
+
+  void makeObjectsPerformSelector_withObject_(
+      ffi.Pointer<ObjCSel> aSelector, NSObject argument) {
+    _lib._objc_msgSend_75(
+        _id,
+        _lib._sel_makeObjectsPerformSelector_withObject_1,
+        aSelector,
+        argument._id);
+  }
+
+  NSSet setByAddingObject_(NSObject anObject) {
+    final _ret = _lib._objc_msgSend_331(
+        _id, _lib._sel_setByAddingObject_1, anObject._id);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet setByAddingObjectsFromSet_(NSSet? other) {
+    final _ret = _lib._objc_msgSend_332(
+        _id, _lib._sel_setByAddingObjectsFromSet_1, other?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet setByAddingObjectsFromArray_(NSArray? other) {
+    final _ret = _lib._objc_msgSend_333(_id,
+        _lib._sel_setByAddingObjectsFromArray_1, other?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateObjectsUsingBlock_(ObjCBlock_ffiVoid_ObjCObject_bool block) {
+    _lib._objc_msgSend_334(
+        _id, _lib._sel_enumerateObjectsUsingBlock_1, block._id);
+  }
+
+  void enumerateObjectsWithOptions_usingBlock_(
+      int opts, ObjCBlock_ffiVoid_ObjCObject_bool block) {
+    _lib._objc_msgSend_335(_id,
+        _lib._sel_enumerateObjectsWithOptions_usingBlock_1, opts, block._id);
+  }
+
+  NSSet objectsPassingTest_(ObjCBlock_bool_ObjCObject_bool predicate) {
+    final _ret = _lib._objc_msgSend_336(
+        _id, _lib._sel_objectsPassingTest_1, predicate._id);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet objectsWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_ObjCObject_bool predicate) {
+    final _ret = _lib._objc_msgSend_337(
+        _id, _lib._sel_objectsWithOptions_passingTest_1, opts, predicate._id);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSSet set1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSSet1, _lib._sel_set1);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSSet setWithObject_(PedometerBindings _lib, NSObject object) {
+    final _ret = _lib._objc_msgSend_16(
+        _lib._class_NSSet1, _lib._sel_setWithObject_1, object._id);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSSet setWithObjects_count_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(
+        _lib._class_NSSet1, _lib._sel_setWithObjects_count_1, objects, cnt);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSSet setWithObjects_(PedometerBindings _lib, NSObject firstObj) {
+    final _ret = _lib._objc_msgSend_16(
+        _lib._class_NSSet1, _lib._sel_setWithObjects_1, firstObj._id);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSSet setWithSet_(PedometerBindings _lib, NSSet? set) {
+    final _ret = _lib._objc_msgSend_338(
+        _lib._class_NSSet1, _lib._sel_setWithSet_1, set?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSSet setWithArray_(PedometerBindings _lib, NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSSet1,
+        _lib._sel_setWithArray_1, array?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet initWithObjects_(NSObject firstObj) {
+    final _ret =
+        _lib._objc_msgSend_16(_id, _lib._sel_initWithObjects_1, firstObj._id);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet initWithSet_(NSSet? set) {
+    final _ret = _lib._objc_msgSend_338(
+        _id, _lib._sel_initWithSet_1, set?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet initWithSet_copyItems_(NSSet? set, bool flag) {
+    final _ret = _lib._objc_msgSend_339(
+        _id, _lib._sel_initWithSet_copyItems_1, set?._id ?? ffi.nullptr, flag);
+    return NSSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSSet initWithArray_(NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(
+        _id, _lib._sel_initWithArray_1, array?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSObject valueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_valueForKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  void setValue_forKey_(NSObject value, NSString? key) {
+    _lib._objc_msgSend_117(
+        _id, _lib._sel_setValue_forKey_1, value._id, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void addObserver_forKeyPath_options_context_(NSObject? observer,
+      NSString? keyPath, int options, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_121(
+        _id,
+        _lib._sel_addObserver_forKeyPath_options_context_1,
+        observer?._id ?? ffi.nullptr,
+        keyPath?._id ?? ffi.nullptr,
+        options,
+        context);
+  }
+
+  @override
+  void removeObserver_forKeyPath_context_(
+      NSObject? observer, NSString? keyPath, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_122(_id, _lib._sel_removeObserver_forKeyPath_context_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr, context);
+  }
+
+  @override
+  void removeObserver_forKeyPath_(NSObject? observer, NSString? keyPath) {
+    _lib._objc_msgSend_123(_id, _lib._sel_removeObserver_forKeyPath_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr);
+  }
+
+  NSArray sortedArrayUsingDescriptors_(NSArray? sortDescriptors) {
+    final _ret = _lib._objc_msgSend_55(
+        _id,
+        _lib._sel_sortedArrayUsingDescriptors_1,
+        sortDescriptors?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet filteredSetUsingPredicate_(NSPredicate? predicate) {
+    final _ret = _lib._objc_msgSend_340(_id,
+        _lib._sel_filteredSetUsingPredicate_1, predicate?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSSet new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSSet1, _lib._sel_new1);
+    return NSSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSSet alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSSet1, _lib._sel_alloc1);
+    return NSSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSSet1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSSet1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSSet1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSSet1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSSet1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSEnumerator extends NSObject {
+  NSEnumerator._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSEnumerator] that points to the same underlying object as [other].
+  static NSEnumerator castFrom<T extends _ObjCWrapper>(T other) {
+    return NSEnumerator._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSEnumerator] that wraps the given raw object pointer.
+  static NSEnumerator castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSEnumerator._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSEnumerator].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSEnumerator1);
+  }
+
+  NSObject nextObject() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_nextObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject? get allObjects {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_allObjects1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSEnumerator new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSEnumerator1, _lib._sel_new1);
+    return NSEnumerator._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSEnumerator alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSEnumerator1, _lib._sel_alloc1);
+    return NSEnumerator._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSEnumerator1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSEnumerator1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSEnumerator1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSEnumerator1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSEnumerator1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSEnumerator1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSEnumerator1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSString extends NSObject {
+  NSString._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSString] that points to the same underlying object as [other].
+  static NSString castFrom<T extends _ObjCWrapper>(T other) {
+    return NSString._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSString] that wraps the given raw object pointer.
+  static NSString castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSString._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSString].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSString1);
+  }
+
+  factory NSString(PedometerBindings _lib, String str) {
+    final cstr = str.toNativeUtf16();
+    final nsstr = stringWithCharacters_length_(_lib, cstr.cast(), str.length);
+    pkg_ffi.calloc.free(cstr);
+    return nsstr;
+  }
+
+  @override
+  String toString() {
+    final data =
+        dataUsingEncoding_(0x94000100 /* NSUTF16LittleEndianStringEncoding */);
+    return data.bytes.cast<pkg_ffi.Utf16>().toDartString(length: length);
+  }
+
+  int get length {
+    return _lib._objc_msgSend_10(_id, _lib._sel_length1);
+  }
+
+  int characterAtIndex_(int index) {
+    return _lib._objc_msgSend_17(_id, _lib._sel_characterAtIndex_1, index);
+  }
+
+  @override
+  NSString init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString substringFromIndex_(int from) {
+    final _ret =
+        _lib._objc_msgSend_248(_id, _lib._sel_substringFromIndex_1, from);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString substringToIndex_(int to) {
+    final _ret = _lib._objc_msgSend_248(_id, _lib._sel_substringToIndex_1, to);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString substringWithRange_(NSRange range) {
+    final _ret =
+        _lib._objc_msgSend_249(_id, _lib._sel_substringWithRange_1, range);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getCharacters_range_(ffi.Pointer<unichar> buffer, NSRange range) {
+    _lib._objc_msgSend_250(_id, _lib._sel_getCharacters_range_1, buffer, range);
+  }
+
+  int compare_(NSString? string) {
+    return _lib._objc_msgSend_251(
+        _id, _lib._sel_compare_1, string?._id ?? ffi.nullptr);
+  }
+
+  int compare_options_(NSString? string, int mask) {
+    return _lib._objc_msgSend_252(
+        _id, _lib._sel_compare_options_1, string?._id ?? ffi.nullptr, mask);
+  }
+
+  int compare_options_range_(
+      NSString? string, int mask, NSRange rangeOfReceiverToCompare) {
+    return _lib._objc_msgSend_253(_id, _lib._sel_compare_options_range_1,
+        string?._id ?? ffi.nullptr, mask, rangeOfReceiverToCompare);
+  }
+
+  int compare_options_range_locale_(NSString? string, int mask,
+      NSRange rangeOfReceiverToCompare, NSObject locale) {
+    return _lib._objc_msgSend_254(_id, _lib._sel_compare_options_range_locale_1,
+        string?._id ?? ffi.nullptr, mask, rangeOfReceiverToCompare, locale._id);
+  }
+
+  int caseInsensitiveCompare_(NSString? string) {
+    return _lib._objc_msgSend_251(
+        _id, _lib._sel_caseInsensitiveCompare_1, string?._id ?? ffi.nullptr);
+  }
+
+  int localizedCompare_(NSString? string) {
+    return _lib._objc_msgSend_251(
+        _id, _lib._sel_localizedCompare_1, string?._id ?? ffi.nullptr);
+  }
+
+  int localizedCaseInsensitiveCompare_(NSString? string) {
+    return _lib._objc_msgSend_251(
+        _id,
+        _lib._sel_localizedCaseInsensitiveCompare_1,
+        string?._id ?? ffi.nullptr);
+  }
+
+  int localizedStandardCompare_(NSString? string) {
+    return _lib._objc_msgSend_251(
+        _id, _lib._sel_localizedStandardCompare_1, string?._id ?? ffi.nullptr);
+  }
+
+  bool isEqualToString_(NSString? aString) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_isEqualToString_1, aString?._id ?? ffi.nullptr);
+  }
+
+  bool hasPrefix_(NSString? str) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_hasPrefix_1, str?._id ?? ffi.nullptr);
+  }
+
+  bool hasSuffix_(NSString? str) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_hasSuffix_1, str?._id ?? ffi.nullptr);
+  }
+
+  NSString commonPrefixWithString_options_(NSString? str, int mask) {
+    final _ret = _lib._objc_msgSend_255(
+        _id,
+        _lib._sel_commonPrefixWithString_options_1,
+        str?._id ?? ffi.nullptr,
+        mask);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool containsString_(NSString? str) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_containsString_1, str?._id ?? ffi.nullptr);
+  }
+
+  bool localizedCaseInsensitiveContainsString_(NSString? str) {
+    return _lib._objc_msgSend_51(
+        _id,
+        _lib._sel_localizedCaseInsensitiveContainsString_1,
+        str?._id ?? ffi.nullptr);
+  }
+
+  bool localizedStandardContainsString_(NSString? str) {
+    return _lib._objc_msgSend_51(_id,
+        _lib._sel_localizedStandardContainsString_1, str?._id ?? ffi.nullptr);
+  }
+
+  NSRange localizedStandardRangeOfString_(NSString? str) {
+    return _lib._objc_msgSend_256(_id,
+        _lib._sel_localizedStandardRangeOfString_1, str?._id ?? ffi.nullptr);
+  }
+
+  NSRange rangeOfString_(NSString? searchString) {
+    return _lib._objc_msgSend_256(
+        _id, _lib._sel_rangeOfString_1, searchString?._id ?? ffi.nullptr);
+  }
+
+  NSRange rangeOfString_options_(NSString? searchString, int mask) {
+    return _lib._objc_msgSend_257(_id, _lib._sel_rangeOfString_options_1,
+        searchString?._id ?? ffi.nullptr, mask);
+  }
+
+  NSRange rangeOfString_options_range_(
+      NSString? searchString, int mask, NSRange rangeOfReceiverToSearch) {
+    return _lib._objc_msgSend_258(_id, _lib._sel_rangeOfString_options_range_1,
+        searchString?._id ?? ffi.nullptr, mask, rangeOfReceiverToSearch);
+  }
+
+  NSRange rangeOfString_options_range_locale_(NSString? searchString, int mask,
+      NSRange rangeOfReceiverToSearch, NSLocale? locale) {
+    return _lib._objc_msgSend_273(
+        _id,
+        _lib._sel_rangeOfString_options_range_locale_1,
+        searchString?._id ?? ffi.nullptr,
+        mask,
+        rangeOfReceiverToSearch,
+        locale?._id ?? ffi.nullptr);
+  }
+
+  NSRange rangeOfCharacterFromSet_(NSCharacterSet? searchSet) {
+    return _lib._objc_msgSend_274(_id, _lib._sel_rangeOfCharacterFromSet_1,
+        searchSet?._id ?? ffi.nullptr);
+  }
+
+  NSRange rangeOfCharacterFromSet_options_(
+      NSCharacterSet? searchSet, int mask) {
+    return _lib._objc_msgSend_275(
+        _id,
+        _lib._sel_rangeOfCharacterFromSet_options_1,
+        searchSet?._id ?? ffi.nullptr,
+        mask);
+  }
+
+  NSRange rangeOfCharacterFromSet_options_range_(
+      NSCharacterSet? searchSet, int mask, NSRange rangeOfReceiverToSearch) {
+    return _lib._objc_msgSend_276(
+        _id,
+        _lib._sel_rangeOfCharacterFromSet_options_range_1,
+        searchSet?._id ?? ffi.nullptr,
+        mask,
+        rangeOfReceiverToSearch);
+  }
+
+  NSRange rangeOfComposedCharacterSequenceAtIndex_(int index) {
+    return _lib._objc_msgSend_277(
+        _id, _lib._sel_rangeOfComposedCharacterSequenceAtIndex_1, index);
+  }
+
+  NSRange rangeOfComposedCharacterSequencesForRange_(NSRange range) {
+    return _lib._objc_msgSend_278(
+        _id, _lib._sel_rangeOfComposedCharacterSequencesForRange_1, range);
+  }
+
+  NSString stringByAppendingString_(NSString? aString) {
+    final _ret = _lib._objc_msgSend_56(
+        _id, _lib._sel_stringByAppendingString_1, aString?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByAppendingFormat_(NSString? format) {
+    final _ret = _lib._objc_msgSend_56(
+        _id, _lib._sel_stringByAppendingFormat_1, format?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  double get doubleValue {
+    return _lib._objc_msgSend_146(_id, _lib._sel_doubleValue1);
+  }
+
+  double get floatValue {
+    return _lib._objc_msgSend_178(_id, _lib._sel_floatValue1);
+  }
+
+  int get intValue {
+    return _lib._objc_msgSend_176(_id, _lib._sel_intValue1);
+  }
+
+  int get integerValue {
+    return _lib._objc_msgSend_70(_id, _lib._sel_integerValue1);
+  }
+
+  int get longLongValue {
+    return _lib._objc_msgSend_177(_id, _lib._sel_longLongValue1);
+  }
+
+  bool get boolValue {
+    return _lib._objc_msgSend_12(_id, _lib._sel_boolValue1);
+  }
+
+  NSString? get uppercaseString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_uppercaseString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get lowercaseString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_lowercaseString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get capitalizedString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_capitalizedString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get localizedUppercaseString {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_localizedUppercaseString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get localizedLowercaseString {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_localizedLowercaseString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get localizedCapitalizedString {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_localizedCapitalizedString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString uppercaseStringWithLocale_(NSLocale? locale) {
+    final _ret = _lib._objc_msgSend_279(
+        _id, _lib._sel_uppercaseStringWithLocale_1, locale?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString lowercaseStringWithLocale_(NSLocale? locale) {
+    final _ret = _lib._objc_msgSend_279(
+        _id, _lib._sel_lowercaseStringWithLocale_1, locale?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString capitalizedStringWithLocale_(NSLocale? locale) {
+    final _ret = _lib._objc_msgSend_279(_id,
+        _lib._sel_capitalizedStringWithLocale_1, locale?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getLineStart_end_contentsEnd_forRange_(
+      ffi.Pointer<NSUInteger> startPtr,
+      ffi.Pointer<NSUInteger> lineEndPtr,
+      ffi.Pointer<NSUInteger> contentsEndPtr,
+      NSRange range) {
+    _lib._objc_msgSend_280(
+        _id,
+        _lib._sel_getLineStart_end_contentsEnd_forRange_1,
+        startPtr,
+        lineEndPtr,
+        contentsEndPtr,
+        range);
+  }
+
+  NSRange lineRangeForRange_(NSRange range) {
+    return _lib._objc_msgSend_278(_id, _lib._sel_lineRangeForRange_1, range);
+  }
+
+  void getParagraphStart_end_contentsEnd_forRange_(
+      ffi.Pointer<NSUInteger> startPtr,
+      ffi.Pointer<NSUInteger> parEndPtr,
+      ffi.Pointer<NSUInteger> contentsEndPtr,
+      NSRange range) {
+    _lib._objc_msgSend_280(
+        _id,
+        _lib._sel_getParagraphStart_end_contentsEnd_forRange_1,
+        startPtr,
+        parEndPtr,
+        contentsEndPtr,
+        range);
+  }
+
+  NSRange paragraphRangeForRange_(NSRange range) {
+    return _lib._objc_msgSend_278(
+        _id, _lib._sel_paragraphRangeForRange_1, range);
+  }
+
+  void enumerateSubstringsInRange_options_usingBlock_(NSRange range, int opts,
+      ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool block) {
+    _lib._objc_msgSend_281(
+        _id,
+        _lib._sel_enumerateSubstringsInRange_options_usingBlock_1,
+        range,
+        opts,
+        block._id);
+  }
+
+  void enumerateLinesUsingBlock_(ObjCBlock_ffiVoid_NSString_bool block) {
+    _lib._objc_msgSend_282(
+        _id, _lib._sel_enumerateLinesUsingBlock_1, block._id);
+  }
+
+  ffi.Pointer<ffi.Char> get UTF8String {
+    return _lib._objc_msgSend_13(_id, _lib._sel_UTF8String1);
+  }
+
+  int get fastestEncoding {
+    return _lib._objc_msgSend_10(_id, _lib._sel_fastestEncoding1);
+  }
+
+  int get smallestEncoding {
+    return _lib._objc_msgSend_10(_id, _lib._sel_smallestEncoding1);
+  }
+
+  NSData dataUsingEncoding_allowLossyConversion_(int encoding, bool lossy) {
+    final _ret = _lib._objc_msgSend_283(_id,
+        _lib._sel_dataUsingEncoding_allowLossyConversion_1, encoding, lossy);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData dataUsingEncoding_(int encoding) {
+    final _ret =
+        _lib._objc_msgSend_284(_id, _lib._sel_dataUsingEncoding_1, encoding);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool canBeConvertedToEncoding_(int encoding) {
+    return _lib._objc_msgSend_82(
+        _id, _lib._sel_canBeConvertedToEncoding_1, encoding);
+  }
+
+  ffi.Pointer<ffi.Char> cStringUsingEncoding_(int encoding) {
+    return _lib._objc_msgSend_11(
+        _id, _lib._sel_cStringUsingEncoding_1, encoding);
+  }
+
+  bool getCString_maxLength_encoding_(
+      ffi.Pointer<ffi.Char> buffer, int maxBufferCount, int encoding) {
+    return _lib._objc_msgSend_285(
+        _id,
+        _lib._sel_getCString_maxLength_encoding_1,
+        buffer,
+        maxBufferCount,
+        encoding);
+  }
+
+  bool getBytes_maxLength_usedLength_encoding_options_range_remainingRange_(
+      ffi.Pointer<ffi.Void> buffer,
+      int maxBufferCount,
+      ffi.Pointer<NSUInteger> usedBufferCount,
+      int encoding,
+      int options,
+      NSRange range,
+      NSRangePointer leftover) {
+    return _lib._objc_msgSend_286(
+        _id,
+        _lib._sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_1,
+        buffer,
+        maxBufferCount,
+        usedBufferCount,
+        encoding,
+        options,
+        range,
+        leftover);
+  }
+
+  int maximumLengthOfBytesUsingEncoding_(int enc) {
+    return _lib._objc_msgSend_79(
+        _id, _lib._sel_maximumLengthOfBytesUsingEncoding_1, enc);
+  }
+
+  int lengthOfBytesUsingEncoding_(int enc) {
+    return _lib._objc_msgSend_79(
+        _id, _lib._sel_lengthOfBytesUsingEncoding_1, enc);
+  }
+
+  static ffi.Pointer<NSStringEncoding> getAvailableStringEncodings(
+      PedometerBindings _lib) {
+    return _lib._objc_msgSend_287(
+        _lib._class_NSString1, _lib._sel_availableStringEncodings1);
+  }
+
+  static NSString localizedNameOfStringEncoding_(
+      PedometerBindings _lib, int encoding) {
+    final _ret = _lib._objc_msgSend_248(_lib._class_NSString1,
+        _lib._sel_localizedNameOfStringEncoding_1, encoding);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static int getDefaultCStringEncoding(PedometerBindings _lib) {
+    return _lib._objc_msgSend_10(
+        _lib._class_NSString1, _lib._sel_defaultCStringEncoding1);
+  }
+
+  NSString? get decomposedStringWithCanonicalMapping {
+    final _ret = _lib._objc_msgSend_20(
+        _id, _lib._sel_decomposedStringWithCanonicalMapping1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get precomposedStringWithCanonicalMapping {
+    final _ret = _lib._objc_msgSend_20(
+        _id, _lib._sel_precomposedStringWithCanonicalMapping1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get decomposedStringWithCompatibilityMapping {
+    final _ret = _lib._objc_msgSend_20(
+        _id, _lib._sel_decomposedStringWithCompatibilityMapping1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get precomposedStringWithCompatibilityMapping {
+    final _ret = _lib._objc_msgSend_20(
+        _id, _lib._sel_precomposedStringWithCompatibilityMapping1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray componentsSeparatedByString_(NSString? separator) {
+    final _ret = _lib._objc_msgSend_114(_id,
+        _lib._sel_componentsSeparatedByString_1, separator?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray componentsSeparatedByCharactersInSet_(NSCharacterSet? separator) {
+    final _ret = _lib._objc_msgSend_288(
+        _id,
+        _lib._sel_componentsSeparatedByCharactersInSet_1,
+        separator?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByTrimmingCharactersInSet_(NSCharacterSet? set) {
+    final _ret = _lib._objc_msgSend_289(_id,
+        _lib._sel_stringByTrimmingCharactersInSet_1, set?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByPaddingToLength_withString_startingAtIndex_(
+      int newLength, NSString? padString, int padIndex) {
+    final _ret = _lib._objc_msgSend_290(
+        _id,
+        _lib._sel_stringByPaddingToLength_withString_startingAtIndex_1,
+        newLength,
+        padString?._id ?? ffi.nullptr,
+        padIndex);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByFoldingWithOptions_locale_(int options, NSLocale? locale) {
+    final _ret = _lib._objc_msgSend_291(
+        _id,
+        _lib._sel_stringByFoldingWithOptions_locale_1,
+        options,
+        locale?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByReplacingOccurrencesOfString_withString_options_range_(
+      NSString? target,
+      NSString? replacement,
+      int options,
+      NSRange searchRange) {
+    final _ret = _lib._objc_msgSend_292(
+        _id,
+        _lib._sel_stringByReplacingOccurrencesOfString_withString_options_range_1,
+        target?._id ?? ffi.nullptr,
+        replacement?._id ?? ffi.nullptr,
+        options,
+        searchRange);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByReplacingOccurrencesOfString_withString_(
+      NSString? target, NSString? replacement) {
+    final _ret = _lib._objc_msgSend_293(
+        _id,
+        _lib._sel_stringByReplacingOccurrencesOfString_withString_1,
+        target?._id ?? ffi.nullptr,
+        replacement?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByReplacingCharactersInRange_withString_(
+      NSRange range, NSString? replacement) {
+    final _ret = _lib._objc_msgSend_294(
+        _id,
+        _lib._sel_stringByReplacingCharactersInRange_withString_1,
+        range,
+        replacement?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByApplyingTransform_reverse_(
+      NSStringTransform transform, bool reverse) {
+    final _ret = _lib._objc_msgSend_295(
+        _id, _lib._sel_stringByApplyingTransform_reverse_1, transform, reverse);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool writeToURL_atomically_encoding_error_(NSURL? url, bool useAuxiliaryFile,
+      int enc, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_296(
+        _id,
+        _lib._sel_writeToURL_atomically_encoding_error_1,
+        url?._id ?? ffi.nullptr,
+        useAuxiliaryFile,
+        enc,
+        error);
+  }
+
+  bool writeToFile_atomically_encoding_error_(
+      NSString? path,
+      bool useAuxiliaryFile,
+      int enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_297(
+        _id,
+        _lib._sel_writeToFile_atomically_encoding_error_1,
+        path?._id ?? ffi.nullptr,
+        useAuxiliaryFile,
+        enc,
+        error);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get hash {
+    return _lib._objc_msgSend_10(_id, _lib._sel_hash1);
+  }
+
+  NSString initWithCharactersNoCopy_length_freeWhenDone_(
+      ffi.Pointer<unichar> characters, int length, bool freeBuffer) {
+    final _ret = _lib._objc_msgSend_298(
+        _id,
+        _lib._sel_initWithCharactersNoCopy_length_freeWhenDone_1,
+        characters,
+        length,
+        freeBuffer);
+    return NSString._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSString initWithCharactersNoCopy_length_deallocator_(
+      ffi.Pointer<unichar> chars,
+      int len,
+      ObjCBlock_ffiVoid_unichar_NSUInteger deallocator) {
+    final _ret = _lib._objc_msgSend_299(
+        _id,
+        _lib._sel_initWithCharactersNoCopy_length_deallocator_1,
+        chars,
+        len,
+        deallocator._id);
+    return NSString._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSString initWithCharacters_length_(
+      ffi.Pointer<unichar> characters, int length) {
+    final _ret = _lib._objc_msgSend_300(
+        _id, _lib._sel_initWithCharacters_length_1, characters, length);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithUTF8String_(ffi.Pointer<ffi.Char> nullTerminatedCString) {
+    final _ret = _lib._objc_msgSend_301(
+        _id, _lib._sel_initWithUTF8String_1, nullTerminatedCString);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithString_(NSString? aString) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithString_1, aString?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithFormat_(NSString? format) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithFormat_1, format?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithFormat_arguments_(
+      NSString? format, ffi.Pointer<__va_list_tag> argList) {
+    final _ret = _lib._objc_msgSend_302(
+        _id,
+        _lib._sel_initWithFormat_arguments_1,
+        format?._id ?? ffi.nullptr,
+        argList);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithFormat_locale_(NSString? format, NSObject locale) {
+    final _ret = _lib._objc_msgSend_303(_id, _lib._sel_initWithFormat_locale_1,
+        format?._id ?? ffi.nullptr, locale._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithFormat_locale_arguments_(
+      NSString? format, NSObject locale, ffi.Pointer<__va_list_tag> argList) {
+    final _ret = _lib._objc_msgSend_304(
+        _id,
+        _lib._sel_initWithFormat_locale_arguments_1,
+        format?._id ?? ffi.nullptr,
+        locale._id,
+        argList);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithValidatedFormat_validFormatSpecifiers_error_(
+      NSString? format,
+      NSString? validFormatSpecifiers,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_305(
+        _id,
+        _lib._sel_initWithValidatedFormat_validFormatSpecifiers_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithValidatedFormat_validFormatSpecifiers_locale_error_(
+      NSString? format,
+      NSString? validFormatSpecifiers,
+      NSObject locale,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_306(
+        _id,
+        _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        locale._id,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithValidatedFormat_validFormatSpecifiers_arguments_error_(
+      NSString? format,
+      NSString? validFormatSpecifiers,
+      ffi.Pointer<__va_list_tag> argList,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_307(
+        _id,
+        _lib._sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        argList,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString
+      initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_(
+          NSString? format,
+          NSString? validFormatSpecifiers,
+          NSObject locale,
+          ffi.Pointer<__va_list_tag> argList,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_308(
+        _id,
+        _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        locale._id,
+        argList,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithData_encoding_(NSData? data, int encoding) {
+    final _ret = _lib._objc_msgSend_309(_id, _lib._sel_initWithData_encoding_1,
+        data?._id ?? ffi.nullptr, encoding);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithBytes_length_encoding_(
+      ffi.Pointer<ffi.Void> bytes, int len, int encoding) {
+    final _ret = _lib._objc_msgSend_310(
+        _id, _lib._sel_initWithBytes_length_encoding_1, bytes, len, encoding);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithBytesNoCopy_length_encoding_freeWhenDone_(
+      ffi.Pointer<ffi.Void> bytes, int len, int encoding, bool freeBuffer) {
+    final _ret = _lib._objc_msgSend_311(
+        _id,
+        _lib._sel_initWithBytesNoCopy_length_encoding_freeWhenDone_1,
+        bytes,
+        len,
+        encoding,
+        freeBuffer);
+    return NSString._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSString initWithBytesNoCopy_length_encoding_deallocator_(
+      ffi.Pointer<ffi.Void> bytes,
+      int len,
+      int encoding,
+      ObjCBlock_ffiVoid_ffiVoid_NSUInteger deallocator) {
+    final _ret = _lib._objc_msgSend_312(
+        _id,
+        _lib._sel_initWithBytesNoCopy_length_encoding_deallocator_1,
+        bytes,
+        len,
+        encoding,
+        deallocator._id);
+    return NSString._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSString string(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_string1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithString_(PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSString1,
+        _lib._sel_stringWithString_1, string?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithCharacters_length_(
+      PedometerBindings _lib, ffi.Pointer<unichar> characters, int length) {
+    final _ret = _lib._objc_msgSend_300(_lib._class_NSString1,
+        _lib._sel_stringWithCharacters_length_1, characters, length);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithUTF8String_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> nullTerminatedCString) {
+    final _ret = _lib._objc_msgSend_301(_lib._class_NSString1,
+        _lib._sel_stringWithUTF8String_1, nullTerminatedCString);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithFormat_(PedometerBindings _lib, NSString? format) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSString1,
+        _lib._sel_stringWithFormat_1, format?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString localizedStringWithFormat_(
+      PedometerBindings _lib, NSString? format) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSString1,
+        _lib._sel_localizedStringWithFormat_1, format?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithValidatedFormat_validFormatSpecifiers_error_(
+      PedometerBindings _lib,
+      NSString? format,
+      NSString? validFormatSpecifiers,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_305(
+        _lib._class_NSString1,
+        _lib._sel_stringWithValidatedFormat_validFormatSpecifiers_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString
+      localizedStringWithValidatedFormat_validFormatSpecifiers_error_(
+          PedometerBindings _lib,
+          NSString? format,
+          NSString? validFormatSpecifiers,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_305(
+        _lib._class_NSString1,
+        _lib._sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithCString_encoding_(
+      ffi.Pointer<ffi.Char> nullTerminatedCString, int encoding) {
+    final _ret = _lib._objc_msgSend_313(_id,
+        _lib._sel_initWithCString_encoding_1, nullTerminatedCString, encoding);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithCString_encoding_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> cString, int enc) {
+    final _ret = _lib._objc_msgSend_313(_lib._class_NSString1,
+        _lib._sel_stringWithCString_encoding_1, cString, enc);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithContentsOfURL_encoding_error_(
+      NSURL? url, int enc, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_314(
+        _id,
+        _lib._sel_initWithContentsOfURL_encoding_error_1,
+        url?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithContentsOfFile_encoding_error_(
+      NSString? path, int enc, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_315(
+        _id,
+        _lib._sel_initWithContentsOfFile_encoding_error_1,
+        path?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithContentsOfURL_encoding_error_(
+      PedometerBindings _lib,
+      NSURL? url,
+      int enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_314(
+        _lib._class_NSString1,
+        _lib._sel_stringWithContentsOfURL_encoding_error_1,
+        url?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithContentsOfFile_encoding_error_(
+      PedometerBindings _lib,
+      NSString? path,
+      int enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_315(
+        _lib._class_NSString1,
+        _lib._sel_stringWithContentsOfFile_encoding_error_1,
+        path?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithContentsOfURL_usedEncoding_error_(
+      NSURL? url,
+      ffi.Pointer<NSStringEncoding> enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_316(
+        _id,
+        _lib._sel_initWithContentsOfURL_usedEncoding_error_1,
+        url?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString initWithContentsOfFile_usedEncoding_error_(
+      NSString? path,
+      ffi.Pointer<NSStringEncoding> enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_317(
+        _id,
+        _lib._sel_initWithContentsOfFile_usedEncoding_error_1,
+        path?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithContentsOfURL_usedEncoding_error_(
+      PedometerBindings _lib,
+      NSURL? url,
+      ffi.Pointer<NSStringEncoding> enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_316(
+        _lib._class_NSString1,
+        _lib._sel_stringWithContentsOfURL_usedEncoding_error_1,
+        url?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString stringWithContentsOfFile_usedEncoding_error_(
+      PedometerBindings _lib,
+      NSString? path,
+      ffi.Pointer<NSStringEncoding> enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_317(
+        _lib._class_NSString1,
+        _lib._sel_stringWithContentsOfFile_usedEncoding_error_1,
+        path?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static int
+      stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_(
+          PedometerBindings _lib,
+          NSData? data,
+          NSDictionary? opts,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> string,
+          ffi.Pointer<ffi.Bool> usedLossyConversion) {
+    return _lib._objc_msgSend_318(
+        _lib._class_NSString1,
+        _lib._sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1,
+        data?._id ?? ffi.nullptr,
+        opts?._id ?? ffi.nullptr,
+        string,
+        usedLossyConversion);
+  }
+
+  NSObject propertyList() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_propertyList1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary propertyListFromStringsFileFormat() {
+    final _ret = _lib._objc_msgSend_319(
+        _id, _lib._sel_propertyListFromStringsFileFormat1);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  ffi.Pointer<ffi.Char> cString() {
+    return _lib._objc_msgSend_13(_id, _lib._sel_cString1);
+  }
+
+  ffi.Pointer<ffi.Char> lossyCString() {
+    return _lib._objc_msgSend_13(_id, _lib._sel_lossyCString1);
+  }
+
+  int cStringLength() {
+    return _lib._objc_msgSend_10(_id, _lib._sel_cStringLength1);
+  }
+
+  void getCString_(ffi.Pointer<ffi.Char> bytes) {
+    _lib._objc_msgSend_215(_id, _lib._sel_getCString_1, bytes);
+  }
+
+  void getCString_maxLength_(ffi.Pointer<ffi.Char> bytes, int maxLength) {
+    _lib._objc_msgSend_320(
+        _id, _lib._sel_getCString_maxLength_1, bytes, maxLength);
+  }
+
+  void getCString_maxLength_range_remainingRange_(ffi.Pointer<ffi.Char> bytes,
+      int maxLength, NSRange aRange, NSRangePointer leftoverRange) {
+    _lib._objc_msgSend_321(
+        _id,
+        _lib._sel_getCString_maxLength_range_remainingRange_1,
+        bytes,
+        maxLength,
+        aRange,
+        leftoverRange);
+  }
+
+  bool writeToFile_atomically_(NSString? path, bool useAuxiliaryFile) {
+    return _lib._objc_msgSend_25(_id, _lib._sel_writeToFile_atomically_1,
+        path?._id ?? ffi.nullptr, useAuxiliaryFile);
+  }
+
+  bool writeToURL_atomically_(NSURL? url, bool atomically) {
+    return _lib._objc_msgSend_116(_id, _lib._sel_writeToURL_atomically_1,
+        url?._id ?? ffi.nullptr, atomically);
+  }
+
+  NSObject initWithContentsOfFile_(NSString? path) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject initWithContentsOfURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(
+        _id, _lib._sel_initWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject stringWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSString1,
+        _lib._sel_stringWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject stringWithContentsOfURL_(PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSString1,
+        _lib._sel_stringWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject initWithCStringNoCopy_length_freeWhenDone_(
+      ffi.Pointer<ffi.Char> bytes, int length, bool freeBuffer) {
+    final _ret = _lib._objc_msgSend_322(
+        _id,
+        _lib._sel_initWithCStringNoCopy_length_freeWhenDone_1,
+        bytes,
+        length,
+        freeBuffer);
+    return NSObject._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSObject initWithCString_length_(ffi.Pointer<ffi.Char> bytes, int length) {
+    final _ret = _lib._objc_msgSend_313(
+        _id, _lib._sel_initWithCString_length_1, bytes, length);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject initWithCString_(ffi.Pointer<ffi.Char> bytes) {
+    final _ret =
+        _lib._objc_msgSend_301(_id, _lib._sel_initWithCString_1, bytes);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject stringWithCString_length_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> bytes, int length) {
+    final _ret = _lib._objc_msgSend_313(_lib._class_NSString1,
+        _lib._sel_stringWithCString_length_1, bytes, length);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject stringWithCString_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> bytes) {
+    final _ret = _lib._objc_msgSend_301(
+        _lib._class_NSString1, _lib._sel_stringWithCString_1, bytes);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getCharacters_(ffi.Pointer<unichar> buffer) {
+    _lib._objc_msgSend_323(_id, _lib._sel_getCharacters_1, buffer);
+  }
+
+  NSString variantFittingPresentationWidth_(int width) {
+    final _ret = _lib._objc_msgSend_324(
+        _id, _lib._sel_variantFittingPresentationWidth_1, width);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString pathWithComponents_(
+      PedometerBindings _lib, NSArray? components) {
+    final _ret = _lib._objc_msgSend_325(_lib._class_NSString1,
+        _lib._sel_pathWithComponents_1, components?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get pathComponents {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_pathComponents1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool get absolutePath {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isAbsolutePath1);
+  }
+
+  NSString? get lastPathComponent {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_lastPathComponent1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get stringByDeletingLastPathComponent {
+    final _ret = _lib._objc_msgSend_20(
+        _id, _lib._sel_stringByDeletingLastPathComponent1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByAppendingPathComponent_(NSString? str) {
+    final _ret = _lib._objc_msgSend_56(_id,
+        _lib._sel_stringByAppendingPathComponent_1, str?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get pathExtension {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_pathExtension1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get stringByDeletingPathExtension {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_stringByDeletingPathExtension1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByAppendingPathExtension_(NSString? str) {
+    final _ret = _lib._objc_msgSend_56(_id,
+        _lib._sel_stringByAppendingPathExtension_1, str?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get stringByAbbreviatingWithTildeInPath {
+    final _ret = _lib._objc_msgSend_20(
+        _id, _lib._sel_stringByAbbreviatingWithTildeInPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get stringByExpandingTildeInPath {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_stringByExpandingTildeInPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get stringByStandardizingPath {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_stringByStandardizingPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get stringByResolvingSymlinksInPath {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_stringByResolvingSymlinksInPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray stringsByAppendingPaths_(NSArray? paths) {
+    final _ret = _lib._objc_msgSend_55(
+        _id, _lib._sel_stringsByAppendingPaths_1, paths?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  int completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputName,
+      bool flag,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputArray,
+      NSArray? filterTypes) {
+    return _lib._objc_msgSend_326(
+        _id,
+        _lib._sel_completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_1,
+        outputName,
+        flag,
+        outputArray,
+        filterTypes?._id ?? ffi.nullptr);
+  }
+
+  ffi.Pointer<ffi.Char> get fileSystemRepresentation {
+    return _lib._objc_msgSend_13(_id, _lib._sel_fileSystemRepresentation1);
+  }
+
+  bool getFileSystemRepresentation_maxLength_(
+      ffi.Pointer<ffi.Char> cname, int max) {
+    return _lib._objc_msgSend_181(
+        _id, _lib._sel_getFileSystemRepresentation_maxLength_1, cname, max);
+  }
+
+  NSString stringByAddingPercentEncodingWithAllowedCharacters_(
+      NSCharacterSet? allowedCharacters) {
+    final _ret = _lib._objc_msgSend_289(
+        _id,
+        _lib._sel_stringByAddingPercentEncodingWithAllowedCharacters_1,
+        allowedCharacters?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get stringByRemovingPercentEncoding {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_stringByRemovingPercentEncoding1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByAddingPercentEscapesUsingEncoding_(int enc) {
+    final _ret = _lib._objc_msgSend_248(
+        _id, _lib._sel_stringByAddingPercentEscapesUsingEncoding_1, enc);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString stringByReplacingPercentEscapesUsingEncoding_(int enc) {
+    final _ret = _lib._objc_msgSend_248(
+        _id, _lib._sel_stringByReplacingPercentEscapesUsingEncoding_1, enc);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray linguisticTagsInRange_scheme_options_orthography_tokenRanges_(
+      NSRange range,
+      NSLinguisticTagScheme scheme,
+      int options,
+      NSOrthography? orthography,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> tokenRanges) {
+    final _ret = _lib._objc_msgSend_328(
+        _id,
+        _lib._sel_linguisticTagsInRange_scheme_options_orthography_tokenRanges_1,
+        range,
+        scheme,
+        options,
+        orthography?._id ?? ffi.nullptr,
+        tokenRanges);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateLinguisticTagsInRange_scheme_options_orthography_usingBlock_(
+      NSRange range,
+      NSLinguisticTagScheme scheme,
+      int options,
+      NSOrthography? orthography,
+      ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool block) {
+    _lib._objc_msgSend_329(
+        _id,
+        _lib._sel_enumerateLinguisticTagsInRange_scheme_options_orthography_usingBlock_1,
+        range,
+        scheme,
+        options,
+        orthography?._id ?? ffi.nullptr,
+        block._id);
+  }
+
+  static NSString new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_new1);
+    return NSString._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSString alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_alloc1);
+    return NSString._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSString1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSString1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSString1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSString1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSString1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+extension StringToNSString on String {
+  NSString toNSString(PedometerBindings lib) => NSString(lib, this);
+}
+
+typedef unichar = ffi.UnsignedShort;
+
+class NSCoder extends NSObject {
+  NSCoder._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSCoder] that points to the same underlying object as [other].
+  static NSCoder castFrom<T extends _ObjCWrapper>(T other) {
+    return NSCoder._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSCoder] that wraps the given raw object pointer.
+  static NSCoder castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSCoder._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSCoder].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCoder1);
+  }
+
+  void encodeValueOfObjCType_at_(
+      ffi.Pointer<ffi.Char> type, ffi.Pointer<ffi.Void> addr) {
+    _lib._objc_msgSend_18(
+        _id, _lib._sel_encodeValueOfObjCType_at_1, type, addr);
+  }
+
+  void encodeDataObject_(NSData? data) {
+    _lib._objc_msgSend_212(
+        _id, _lib._sel_encodeDataObject_1, data?._id ?? ffi.nullptr);
+  }
+
+  NSData decodeDataObject() {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_decodeDataObject1);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  void decodeValueOfObjCType_at_size_(
+      ffi.Pointer<ffi.Char> type, ffi.Pointer<ffi.Void> data, int size) {
+    _lib._objc_msgSend_213(
+        _id, _lib._sel_decodeValueOfObjCType_at_size_1, type, data, size);
+  }
+
+  int versionForClassName_(NSString? className) {
+    return _lib._objc_msgSend_214(
+        _id, _lib._sel_versionForClassName_1, className?._id ?? ffi.nullptr);
+  }
+
+  void encodeObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_encodeObject_1, object._id);
+  }
+
+  void encodeRootObject_(NSObject rootObject) {
+    _lib._objc_msgSend_15(_id, _lib._sel_encodeRootObject_1, rootObject._id);
+  }
+
+  void encodeBycopyObject_(NSObject anObject) {
+    _lib._objc_msgSend_15(_id, _lib._sel_encodeBycopyObject_1, anObject._id);
+  }
+
+  void encodeByrefObject_(NSObject anObject) {
+    _lib._objc_msgSend_15(_id, _lib._sel_encodeByrefObject_1, anObject._id);
+  }
+
+  void encodeConditionalObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_encodeConditionalObject_1, object._id);
+  }
+
+  void encodeValuesOfObjCTypes_(ffi.Pointer<ffi.Char> types) {
+    _lib._objc_msgSend_215(_id, _lib._sel_encodeValuesOfObjCTypes_1, types);
+  }
+
+  void encodeArrayOfObjCType_count_at_(
+      ffi.Pointer<ffi.Char> type, int count, ffi.Pointer<ffi.Void> array) {
+    _lib._objc_msgSend_216(
+        _id, _lib._sel_encodeArrayOfObjCType_count_at_1, type, count, array);
+  }
+
+  void encodeBytes_length_(ffi.Pointer<ffi.Void> byteaddr, int length) {
+    _lib._objc_msgSend_21(
+        _id, _lib._sel_encodeBytes_length_1, byteaddr, length);
+  }
+
+  NSObject decodeObject() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_decodeObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject decodeTopLevelObjectAndReturnError_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_217(
+        _id, _lib._sel_decodeTopLevelObjectAndReturnError_1, error);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void decodeValuesOfObjCTypes_(ffi.Pointer<ffi.Char> types) {
+    _lib._objc_msgSend_215(_id, _lib._sel_decodeValuesOfObjCTypes_1, types);
+  }
+
+  void decodeArrayOfObjCType_count_at_(
+      ffi.Pointer<ffi.Char> itemType, int count, ffi.Pointer<ffi.Void> array) {
+    _lib._objc_msgSend_216(_id, _lib._sel_decodeArrayOfObjCType_count_at_1,
+        itemType, count, array);
+  }
+
+  ffi.Pointer<ffi.Void> decodeBytesWithReturnedLength_(
+      ffi.Pointer<NSUInteger> lengthp) {
+    return _lib._objc_msgSend_218(
+        _id, _lib._sel_decodeBytesWithReturnedLength_1, lengthp);
+  }
+
+  void setObjectZone_(ffi.Pointer<NSZone> zone) {
+    _lib._objc_msgSend_219(_id, _lib._sel_setObjectZone_1, zone);
+  }
+
+  ffi.Pointer<NSZone> objectZone() {
+    return _lib._objc_msgSend_220(_id, _lib._sel_objectZone1);
+  }
+
+  int get systemVersion {
+    return _lib._objc_msgSend_154(_id, _lib._sel_systemVersion1);
+  }
+
+  bool get allowsKeyedCoding {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsKeyedCoding1);
+  }
+
+  void encodeObject_forKey_(NSObject object, NSString? key) {
+    _lib._objc_msgSend_117(_id, _lib._sel_encodeObject_forKey_1, object._id,
+        key?._id ?? ffi.nullptr);
+  }
+
+  void encodeConditionalObject_forKey_(NSObject object, NSString? key) {
+    _lib._objc_msgSend_117(_id, _lib._sel_encodeConditionalObject_forKey_1,
+        object._id, key?._id ?? ffi.nullptr);
+  }
+
+  void encodeBool_forKey_(bool value, NSString? key) {
+    _lib._objc_msgSend_221(
+        _id, _lib._sel_encodeBool_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  void encodeInt_forKey_(int value, NSString? key) {
+    _lib._objc_msgSend_222(
+        _id, _lib._sel_encodeInt_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  void encodeInt32_forKey_(int value, NSString? key) {
+    _lib._objc_msgSend_223(
+        _id, _lib._sel_encodeInt32_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  void encodeInt64_forKey_(int value, NSString? key) {
+    _lib._objc_msgSend_224(
+        _id, _lib._sel_encodeInt64_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  void encodeFloat_forKey_(double value, NSString? key) {
+    _lib._objc_msgSend_225(
+        _id, _lib._sel_encodeFloat_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  void encodeDouble_forKey_(double value, NSString? key) {
+    _lib._objc_msgSend_226(
+        _id, _lib._sel_encodeDouble_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  void encodeBytes_length_forKey_(
+      ffi.Pointer<ffi.Uint8> bytes, int length, NSString? key) {
+    _lib._objc_msgSend_227(_id, _lib._sel_encodeBytes_length_forKey_1, bytes,
+        length, key?._id ?? ffi.nullptr);
+  }
+
+  bool containsValueForKey_(NSString? key) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_containsValueForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  NSObject decodeObjectForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_decodeObjectForKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject decodeTopLevelObjectForKey_error_(
+      NSString? key, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_228(
+        _id,
+        _lib._sel_decodeTopLevelObjectForKey_error_1,
+        key?._id ?? ffi.nullptr,
+        error);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool decodeBoolForKey_(NSString? key) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_decodeBoolForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  int decodeIntForKey_(NSString? key) {
+    return _lib._objc_msgSend_229(
+        _id, _lib._sel_decodeIntForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  int decodeInt32ForKey_(NSString? key) {
+    return _lib._objc_msgSend_230(
+        _id, _lib._sel_decodeInt32ForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  int decodeInt64ForKey_(NSString? key) {
+    return _lib._objc_msgSend_231(
+        _id, _lib._sel_decodeInt64ForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  double decodeFloatForKey_(NSString? key) {
+    return _lib._objc_msgSend_232(
+        _id, _lib._sel_decodeFloatForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  double decodeDoubleForKey_(NSString? key) {
+    return _lib._objc_msgSend_233(
+        _id, _lib._sel_decodeDoubleForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  ffi.Pointer<ffi.Uint8> decodeBytesForKey_returnedLength_(
+      NSString? key, ffi.Pointer<NSUInteger> lengthp) {
+    return _lib._objc_msgSend_234(
+        _id,
+        _lib._sel_decodeBytesForKey_returnedLength_1,
+        key?._id ?? ffi.nullptr,
+        lengthp);
+  }
+
+  void encodeInteger_forKey_(int value, NSString? key) {
+    _lib._objc_msgSend_235(
+        _id, _lib._sel_encodeInteger_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  int decodeIntegerForKey_(NSString? key) {
+    return _lib._objc_msgSend_214(
+        _id, _lib._sel_decodeIntegerForKey_1, key?._id ?? ffi.nullptr);
+  }
+
+  bool get requiresSecureCoding {
+    return _lib._objc_msgSend_12(_id, _lib._sel_requiresSecureCoding1);
+  }
+
+  NSObject decodeObjectOfClass_forKey_(NSObject aClass, NSString? key) {
+    final _ret = _lib._objc_msgSend_236(
+        _id,
+        _lib._sel_decodeObjectOfClass_forKey_1,
+        aClass._id,
+        key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject decodeTopLevelObjectOfClass_forKey_error_(NSObject aClass,
+      NSString? key, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_237(
+        _id,
+        _lib._sel_decodeTopLevelObjectOfClass_forKey_error_1,
+        aClass._id,
+        key?._id ?? ffi.nullptr,
+        error);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Decodes the \c NSArray object for the given  \c key, which should be an \c NSArray<cls>, containing the given non-collection class (no nested arrays or arrays of dictionaries, etc) from the coder.
+  ///
+  /// Requires \c NSSecureCoding otherwise an exception is thrown and sets the \c decodingFailurePolicy to \c NSDecodingFailurePolicySetErrorAndReturn.
+  ///
+  /// Returns \c nil if the object for \c key is not of the expected types, or cannot be decoded, and sets the \c error on the decoder.
+  NSArray decodeArrayOfObjectsOfClass_forKey_(NSObject cls, NSString? key) {
+    final _ret = _lib._objc_msgSend_238(
+        _id,
+        _lib._sel_decodeArrayOfObjectsOfClass_forKey_1,
+        cls._id,
+        key?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Decodes the \c NSDictionary object for the given \c key, which should be an \c NSDictionary<keyCls,objectCls> , with keys of type given in \c keyCls and objects of the given non-collection class \c objectCls (no nested dictionaries or other dictionaries contained in the dictionary, etc) from the coder.
+  ///
+  /// Requires \c NSSecureCoding otherwise an exception is thrown and sets the \c decodingFailurePolicy to \c NSDecodingFailurePolicySetErrorAndReturn.
+  ///
+  /// Returns \c nil if the object for \c key is not of the expected types, or cannot be decoded, and sets the \c error on the decoder.
+  NSDictionary decodeDictionaryWithKeysOfClass_objectsOfClass_forKey_(
+      NSObject keyCls, NSObject objectCls, NSString? key) {
+    final _ret = _lib._objc_msgSend_239(
+        _id,
+        _lib._sel_decodeDictionaryWithKeysOfClass_objectsOfClass_forKey_1,
+        keyCls._id,
+        objectCls._id,
+        key?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject decodeObjectOfClasses_forKey_(NSSet? classes, NSString? key) {
+    final _ret = _lib._objc_msgSend_240(
+        _id,
+        _lib._sel_decodeObjectOfClasses_forKey_1,
+        classes?._id ?? ffi.nullptr,
+        key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject decodeTopLevelObjectOfClasses_forKey_error_(NSSet? classes,
+      NSString? key, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_241(
+        _id,
+        _lib._sel_decodeTopLevelObjectOfClasses_forKey_error_1,
+        classes?._id ?? ffi.nullptr,
+        key?._id ?? ffi.nullptr,
+        error);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Decodes the \c NSArray object for the given \c key, which should be an \c NSArray, containing the given non-collection classes (no nested arrays or arrays of dictionaries, etc) from the coder.
+  ///
+  /// Requires \c NSSecureCoding otherwise an exception is thrown and sets the \c decodingFailurePolicy to \c NSDecodingFailurePolicySetErrorAndReturn.
+  ///
+  /// Returns \c nil if the object for \c key is not of the expected types, or cannot be decoded, and sets the \c error on the decoder.
+  NSArray decodeArrayOfObjectsOfClasses_forKey_(NSSet? classes, NSString? key) {
+    final _ret = _lib._objc_msgSend_242(
+        _id,
+        _lib._sel_decodeArrayOfObjectsOfClasses_forKey_1,
+        classes?._id ?? ffi.nullptr,
+        key?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Decodes the \c NSDictionary object for the given \c key, which should be an \c NSDictionary, with keys of the types given in \c keyClasses and objects of the given non-collection classes in \c objectClasses (no nested dictionaries or other dictionaries contained in the dictionary, etc) from the given coder.
+  ///
+  /// Requires \c NSSecureCoding otherwise an exception is thrown and sets the \c decodingFailurePolicy to \c NSDecodingFailurePolicySetErrorAndReturn.
+  ///
+  /// Returns \c nil if the object for \c key is not of the expected types, or cannot be decoded, and sets the \c error on the decoder.
+  NSDictionary decodeDictionaryWithKeysOfClasses_objectsOfClasses_forKey_(
+      NSSet? keyClasses, NSSet? objectClasses, NSString? key) {
+    final _ret = _lib._objc_msgSend_243(
+        _id,
+        _lib._sel_decodeDictionaryWithKeysOfClasses_objectsOfClasses_forKey_1,
+        keyClasses?._id ?? ffi.nullptr,
+        objectClasses?._id ?? ffi.nullptr,
+        key?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject decodePropertyListForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_decodePropertyListForKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet? get allowedClasses {
+    final _ret = _lib._objc_msgSend_244(_id, _lib._sel_allowedClasses1);
+    return _ret.address == 0
+        ? null
+        : NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Signals to this coder that the decode has failed.
+  /// @parameter non-nil error that describes the reason why the decode failed
+  /// @discussion
+  /// Sets an error on this NSCoder once per TopLevel decode; calling it repeatedly will have no effect until the call stack unwinds to one of the TopLevel decode entry-points.
+  ///
+  /// This method is only meaningful to call for decodes.
+  ///
+  /// Typically, you would want to call this method in your -initWithCoder: implementation when you detect situations like:
+  /// - lack of secure coding
+  /// - corruption of your data
+  /// - domain validation failures
+  ///
+  /// After calling -failWithError: within your -initWithCoder: implementation, you should clean up and return nil as early as possible.
+  ///
+  /// Once an error has been signaled to a decoder, it remains set until it has handed off to the first TopLevel decode invocation above it.  For example, consider the following call graph:
+  /// A    -decodeTopLevelObjectForKey:error:
+  /// B        -initWithCoder:
+  /// C            -decodeObjectForKey:
+  /// D                -initWithCoder:
+  /// E                    -decodeObjectForKey:
+  /// F                        -failWithError:
+  ///
+  /// In this case the error provided in stack-frame F will be returned via the outError in stack-frame A. Furthermore the result object from decodeTopLevelObjectForKey:error: will be nil, regardless of the result of stack-frame B.
+  ///
+  /// NSCoder implementations support two mechanisms for the stack-unwinding from F to A:
+  /// - forced (NSException based)
+  /// - particpatory (error based)
+  ///
+  /// The kind of unwinding you get is determined by the decodingFailurePolicy property of this NSCoder (which defaults to NSDecodingFailurePolicyRaiseException to match historical behavior).
+  void failWithError_(NSError? error) {
+    _lib._objc_msgSend_245(
+        _id, _lib._sel_failWithError_1, error?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract Defines the behavior this NSCoder should take on decode failure (i.e. corrupt archive, invalid data, etc.).
+  /// @discussion
+  /// The default result of this property is NSDecodingFailurePolicyRaiseException, subclasses can change this to an alternative policy.
+  int get decodingFailurePolicy {
+    return _lib._objc_msgSend_246(_id, _lib._sel_decodingFailurePolicy1);
+  }
+
+  /// !
+  /// @abstract The current error (if there is one) for the current TopLevel decode.
+  /// @discussion
+  /// The meaning of this property changes based on the result of the decodingFailurePolicy property:
+  /// For NSDecodingFailurePolicyRaiseException, this property will always be nil.
+  /// For NSDecodingFailurePolicySetErrorAndReturn, this property can be non-nil, and if so, indicates that there was a failure while decoding the archive (specifically its the very first error encountered).
+  ///
+  /// While .error is non-nil, all attempts to decode data from this coder will return a nil/zero-equivalent value.
+  ///
+  /// This error is consumed by a TopLevel decode API (which resets this coder back to a being able to potentially decode data).
+  NSError? get error {
+    final _ret = _lib._objc_msgSend_247(_id, _lib._sel_error1);
+    return _ret.address == 0
+        ? null
+        : NSError._(_ret, _lib, retain: true, release: true);
+  }
+
+  void decodeValueOfObjCType_at_(
+      ffi.Pointer<ffi.Char> type, ffi.Pointer<ffi.Void> data) {
+    _lib._objc_msgSend_18(
+        _id, _lib._sel_decodeValueOfObjCType_at_1, type, data);
+  }
+
+  static NSCoder new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_new1);
+    return NSCoder._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSCoder alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_alloc1);
+    return NSCoder._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSCoder1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSCoder1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSCoder1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSCoder1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSCoder1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSCoder1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSCoder1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Immutable Data
+class NSData extends NSObject {
+  NSData._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSData] that points to the same underlying object as [other].
+  static NSData castFrom<T extends _ObjCWrapper>(T other) {
+    return NSData._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSData] that wraps the given raw object pointer.
+  static NSData castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSData._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSData].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSData1);
+  }
+
+  int get length {
+    return _lib._objc_msgSend_10(_id, _lib._sel_length1);
+  }
+
+  ffi.Pointer<ffi.Void> get bytes {
+    return _lib._objc_msgSend_19(_id, _lib._sel_bytes1);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getBytes_length_(ffi.Pointer<ffi.Void> buffer, int length) {
+    _lib._objc_msgSend_21(_id, _lib._sel_getBytes_length_1, buffer, length);
+  }
+
+  void getBytes_range_(ffi.Pointer<ffi.Void> buffer, NSRange range) {
+    _lib._objc_msgSend_22(_id, _lib._sel_getBytes_range_1, buffer, range);
+  }
+
+  bool isEqualToData_(NSData? other) {
+    return _lib._objc_msgSend_23(
+        _id, _lib._sel_isEqualToData_1, other?._id ?? ffi.nullptr);
+  }
+
+  NSData subdataWithRange_(NSRange range) {
+    final _ret =
+        _lib._objc_msgSend_24(_id, _lib._sel_subdataWithRange_1, range);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool writeToFile_atomically_(NSString? path, bool useAuxiliaryFile) {
+    return _lib._objc_msgSend_25(_id, _lib._sel_writeToFile_atomically_1,
+        path?._id ?? ffi.nullptr, useAuxiliaryFile);
+  }
+
+  bool writeToURL_atomically_(NSURL? url, bool atomically) {
+    return _lib._objc_msgSend_116(_id, _lib._sel_writeToURL_atomically_1,
+        url?._id ?? ffi.nullptr, atomically);
+  }
+
+  bool writeToFile_options_error_(NSString? path, int writeOptionsMask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    return _lib._objc_msgSend_196(_id, _lib._sel_writeToFile_options_error_1,
+        path?._id ?? ffi.nullptr, writeOptionsMask, errorPtr);
+  }
+
+  bool writeToURL_options_error_(NSURL? url, int writeOptionsMask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    return _lib._objc_msgSend_197(_id, _lib._sel_writeToURL_options_error_1,
+        url?._id ?? ffi.nullptr, writeOptionsMask, errorPtr);
+  }
+
+  NSRange rangeOfData_options_range_(
+      NSData? dataToFind, int mask, NSRange searchRange) {
+    return _lib._objc_msgSend_198(_id, _lib._sel_rangeOfData_options_range_1,
+        dataToFind?._id ?? ffi.nullptr, mask, searchRange);
+  }
+
+  void enumerateByteRangesUsingBlock_(
+      ObjCBlock_ffiVoid_ffiVoid_NSRange_bool block) {
+    _lib._objc_msgSend_199(
+        _id, _lib._sel_enumerateByteRangesUsingBlock_1, block._id);
+  }
+
+  static NSData data(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_data1);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData dataWithBytes_length_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> bytes, int length) {
+    final _ret = _lib._objc_msgSend_200(
+        _lib._class_NSData1, _lib._sel_dataWithBytes_length_1, bytes, length);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData dataWithBytesNoCopy_length_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> bytes, int length) {
+    final _ret = _lib._objc_msgSend_200(_lib._class_NSData1,
+        _lib._sel_dataWithBytesNoCopy_length_1, bytes, length);
+    return NSData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSData dataWithBytesNoCopy_length_freeWhenDone_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> bytes, int length, bool b) {
+    final _ret = _lib._objc_msgSend_201(_lib._class_NSData1,
+        _lib._sel_dataWithBytesNoCopy_length_freeWhenDone_1, bytes, length, b);
+    return NSData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSData dataWithContentsOfFile_options_error_(
+      PedometerBindings _lib,
+      NSString? path,
+      int readOptionsMask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    final _ret = _lib._objc_msgSend_202(
+        _lib._class_NSData1,
+        _lib._sel_dataWithContentsOfFile_options_error_1,
+        path?._id ?? ffi.nullptr,
+        readOptionsMask,
+        errorPtr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData dataWithContentsOfURL_options_error_(
+      PedometerBindings _lib,
+      NSURL? url,
+      int readOptionsMask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    final _ret = _lib._objc_msgSend_203(
+        _lib._class_NSData1,
+        _lib._sel_dataWithContentsOfURL_options_error_1,
+        url?._id ?? ffi.nullptr,
+        readOptionsMask,
+        errorPtr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData dataWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSData1,
+        _lib._sel_dataWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData dataWithContentsOfURL_(PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSData1,
+        _lib._sel_dataWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithBytes_length_(ffi.Pointer<ffi.Void> bytes, int length) {
+    final _ret = _lib._objc_msgSend_200(
+        _id, _lib._sel_initWithBytes_length_1, bytes, length);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithBytesNoCopy_length_(ffi.Pointer<ffi.Void> bytes, int length) {
+    final _ret = _lib._objc_msgSend_200(
+        _id, _lib._sel_initWithBytesNoCopy_length_1, bytes, length);
+    return NSData._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSData initWithBytesNoCopy_length_freeWhenDone_(
+      ffi.Pointer<ffi.Void> bytes, int length, bool b) {
+    final _ret = _lib._objc_msgSend_201(_id,
+        _lib._sel_initWithBytesNoCopy_length_freeWhenDone_1, bytes, length, b);
+    return NSData._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSData initWithBytesNoCopy_length_deallocator_(ffi.Pointer<ffi.Void> bytes,
+      int length, ObjCBlock_ffiVoid_ffiVoid_NSUInteger deallocator) {
+    final _ret = _lib._objc_msgSend_205(
+        _id,
+        _lib._sel_initWithBytesNoCopy_length_deallocator_1,
+        bytes,
+        length,
+        deallocator._id);
+    return NSData._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSData initWithContentsOfFile_options_error_(NSString? path,
+      int readOptionsMask, ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    final _ret = _lib._objc_msgSend_202(
+        _id,
+        _lib._sel_initWithContentsOfFile_options_error_1,
+        path?._id ?? ffi.nullptr,
+        readOptionsMask,
+        errorPtr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithContentsOfURL_options_error_(NSURL? url, int readOptionsMask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    final _ret = _lib._objc_msgSend_203(
+        _id,
+        _lib._sel_initWithContentsOfURL_options_error_1,
+        url?._id ?? ffi.nullptr,
+        readOptionsMask,
+        errorPtr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithContentsOfFile_(NSString? path) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithContentsOfURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(
+        _id, _lib._sel_initWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithData_(NSData? data) {
+    final _ret = _lib._objc_msgSend_206(
+        _id, _lib._sel_initWithData_1, data?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData dataWithData_(PedometerBindings _lib, NSData? data) {
+    final _ret = _lib._objc_msgSend_206(_lib._class_NSData1,
+        _lib._sel_dataWithData_1, data?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithBase64EncodedString_options_(
+      NSString? base64String, int options) {
+    final _ret = _lib._objc_msgSend_207(
+        _id,
+        _lib._sel_initWithBase64EncodedString_options_1,
+        base64String?._id ?? ffi.nullptr,
+        options);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString base64EncodedStringWithOptions_(int options) {
+    final _ret = _lib._objc_msgSend_208(
+        _id, _lib._sel_base64EncodedStringWithOptions_1, options);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData initWithBase64EncodedData_options_(NSData? base64Data, int options) {
+    final _ret = _lib._objc_msgSend_209(
+        _id,
+        _lib._sel_initWithBase64EncodedData_options_1,
+        base64Data?._id ?? ffi.nullptr,
+        options);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData base64EncodedDataWithOptions_(int options) {
+    final _ret = _lib._objc_msgSend_210(
+        _id, _lib._sel_base64EncodedDataWithOptions_1, options);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData decompressedDataUsingAlgorithm_error_(
+      int algorithm, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_211(_id,
+        _lib._sel_decompressedDataUsingAlgorithm_error_1, algorithm, error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData compressedDataUsingAlgorithm_error_(
+      int algorithm, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_211(
+        _id, _lib._sel_compressedDataUsingAlgorithm_error_1, algorithm, error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getBytes_(ffi.Pointer<ffi.Void> buffer) {
+    _lib._objc_msgSend_47(_id, _lib._sel_getBytes_1, buffer);
+  }
+
+  static NSObject dataWithContentsOfMappedFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSData1,
+        _lib._sel_dataWithContentsOfMappedFile_1, path?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject initWithContentsOfMappedFile_(NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_id,
+        _lib._sel_initWithContentsOfMappedFile_1, path?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject initWithBase64Encoding_(NSString? base64String) {
+    final _ret = _lib._objc_msgSend_30(_id, _lib._sel_initWithBase64Encoding_1,
+        base64String?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString base64Encoding() {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_base64Encoding1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_new1);
+    return NSData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSData alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_alloc1);
+    return NSData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSData1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSData1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSData1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSData1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSData1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSData1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSData1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSRange = _NSRange;
+
+final class _NSRange extends ffi.Struct {
+  @NSUInteger()
+  external int location;
+
+  @NSUInteger()
+  external int length;
+}
+
+class NSURL extends NSObject {
+  NSURL._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURL] that points to the same underlying object as [other].
+  static NSURL castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURL._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSURL] that wraps the given raw object pointer.
+  static NSURL castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURL._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURL].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURL1);
+  }
+
+  NSURL initWithScheme_host_path_(
+      NSString? scheme, NSString? host, NSString? path) {
+    final _ret = _lib._objc_msgSend_26(
+        _id,
+        _lib._sel_initWithScheme_host_path_1,
+        scheme?._id ?? ffi.nullptr,
+        host?._id ?? ffi.nullptr,
+        path?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initFileURLWithPath_isDirectory_relativeToURL_(
+      NSString? path, bool isDir, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_27(
+        _id,
+        _lib._sel_initFileURLWithPath_isDirectory_relativeToURL_1,
+        path?._id ?? ffi.nullptr,
+        isDir,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initFileURLWithPath_relativeToURL_(NSString? path, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_28(
+        _id,
+        _lib._sel_initFileURLWithPath_relativeToURL_1,
+        path?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initFileURLWithPath_isDirectory_(NSString? path, bool isDir) {
+    final _ret = _lib._objc_msgSend_29(
+        _id,
+        _lib._sel_initFileURLWithPath_isDirectory_1,
+        path?._id ?? ffi.nullptr,
+        isDir);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initFileURLWithPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initFileURLWithPath_1, path?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL fileURLWithPath_isDirectory_relativeToURL_(
+      PedometerBindings _lib, NSString? path, bool isDir, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_31(
+        _lib._class_NSURL1,
+        _lib._sel_fileURLWithPath_isDirectory_relativeToURL_1,
+        path?._id ?? ffi.nullptr,
+        isDir,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL fileURLWithPath_relativeToURL_(
+      PedometerBindings _lib, NSString? path, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_32(
+        _lib._class_NSURL1,
+        _lib._sel_fileURLWithPath_relativeToURL_1,
+        path?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL fileURLWithPath_isDirectory_(
+      PedometerBindings _lib, NSString? path, bool isDir) {
+    final _ret = _lib._objc_msgSend_33(
+        _lib._class_NSURL1,
+        _lib._sel_fileURLWithPath_isDirectory_1,
+        path?._id ?? ffi.nullptr,
+        isDir);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL fileURLWithPath_(PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_34(_lib._class_NSURL1,
+        _lib._sel_fileURLWithPath_1, path?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_(
+      ffi.Pointer<ffi.Char> path, bool isDir, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_35(
+        _id,
+        _lib._sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1,
+        path,
+        isDir,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_(
+      PedometerBindings _lib,
+      ffi.Pointer<ffi.Char> path,
+      bool isDir,
+      NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_36(
+        _lib._class_NSURL1,
+        _lib._sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1,
+        path,
+        isDir,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initWithString_(NSString? URLString) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithString_1, URLString?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initWithString_relativeToURL_(NSString? URLString, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_28(
+        _id,
+        _lib._sel_initWithString_relativeToURL_1,
+        URLString?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL URLWithString_(PedometerBindings _lib, NSString? URLString) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSURL1,
+        _lib._sel_URLWithString_1, URLString?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL URLWithString_relativeToURL_(
+      PedometerBindings _lib, NSString? URLString, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_28(
+        _lib._class_NSURL1,
+        _lib._sel_URLWithString_relativeToURL_1,
+        URLString?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initWithDataRepresentation_relativeToURL_(
+      NSData? data, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_37(
+        _id,
+        _lib._sel_initWithDataRepresentation_relativeToURL_1,
+        data?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL URLWithDataRepresentation_relativeToURL_(
+      PedometerBindings _lib, NSData? data, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_38(
+        _lib._class_NSURL1,
+        _lib._sel_URLWithDataRepresentation_relativeToURL_1,
+        data?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL initAbsoluteURLWithDataRepresentation_relativeToURL_(
+      NSData? data, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_37(
+        _id,
+        _lib._sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1,
+        data?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL absoluteURLWithDataRepresentation_relativeToURL_(
+      PedometerBindings _lib, NSData? data, NSURL? baseURL) {
+    final _ret = _lib._objc_msgSend_38(
+        _lib._class_NSURL1,
+        _lib._sel_absoluteURLWithDataRepresentation_relativeToURL_1,
+        data?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData? get dataRepresentation {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_dataRepresentation1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get absoluteString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_absoluteString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get relativeString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_relativeString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get baseURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_baseURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get absoluteURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_absoluteURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get scheme {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_scheme1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get resourceSpecifier {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_resourceSpecifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get host {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_host1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get port {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_port1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get user {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_user1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get password {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_password1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get path {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_path1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get fragment {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_fragment1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get parameterString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_parameterString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get query {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_query1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get relativePath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_relativePath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool get hasDirectoryPath {
+    return _lib._objc_msgSend_12(_id, _lib._sel_hasDirectoryPath1);
+  }
+
+  bool getFileSystemRepresentation_maxLength_(
+      ffi.Pointer<ffi.Char> buffer, int maxBufferLength) {
+    return _lib._objc_msgSend_181(
+        _id,
+        _lib._sel_getFileSystemRepresentation_maxLength_1,
+        buffer,
+        maxBufferLength);
+  }
+
+  ffi.Pointer<ffi.Char> get fileSystemRepresentation {
+    return _lib._objc_msgSend_13(_id, _lib._sel_fileSystemRepresentation1);
+  }
+
+  bool get fileURL {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isFileURL1);
+  }
+
+  NSURL? get standardizedURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_standardizedURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool checkResourceIsReachableAndReturnError_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_182(
+        _id, _lib._sel_checkResourceIsReachableAndReturnError_1, error);
+  }
+
+  bool isFileReferenceURL() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isFileReferenceURL1);
+  }
+
+  NSURL fileReferenceURL() {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_fileReferenceURL1);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get filePathURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_filePathURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool getResourceValue_forKey_error_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> value,
+      NSURLResourceKey key,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_183(
+        _id, _lib._sel_getResourceValue_forKey_error_1, value, key, error);
+  }
+
+  NSObject resourceValuesForKeys_error_(
+      NSArray? keys, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_184(
+        _id,
+        _lib._sel_resourceValuesForKeys_error_1,
+        keys?._id ?? ffi.nullptr,
+        error);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool setResourceValue_forKey_error_(NSObject value, NSURLResourceKey key,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_185(
+        _id, _lib._sel_setResourceValue_forKey_error_1, value._id, key, error);
+  }
+
+  bool setResourceValues_error_(
+      NSObject? keyedValues, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_186(_id, _lib._sel_setResourceValues_error_1,
+        keyedValues?._id ?? ffi.nullptr, error);
+  }
+
+  void removeCachedResourceValueForKey_(NSURLResourceKey key) {
+    _lib._objc_msgSend_187(
+        _id, _lib._sel_removeCachedResourceValueForKey_1, key);
+  }
+
+  void removeAllCachedResourceValues() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllCachedResourceValues1);
+  }
+
+  void setTemporaryResourceValue_forKey_(NSObject value, NSURLResourceKey key) {
+    _lib._objc_msgSend_117(
+        _id, _lib._sel_setTemporaryResourceValue_forKey_1, value._id, key);
+  }
+
+  NSData
+      bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_(
+          int options,
+          NSArray? keys,
+          NSURL? relativeURL,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_188(
+        _id,
+        _lib._sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1,
+        options,
+        keys?._id ?? ffi.nullptr,
+        relativeURL?._id ?? ffi.nullptr,
+        error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL
+      initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_(
+          NSData? bookmarkData,
+          int options,
+          NSURL? relativeURL,
+          ffi.Pointer<ffi.Bool> isStale,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_189(
+        _id,
+        _lib._sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1,
+        bookmarkData?._id ?? ffi.nullptr,
+        options,
+        relativeURL?._id ?? ffi.nullptr,
+        isStale,
+        error);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL
+      URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_(
+          PedometerBindings _lib,
+          NSData? bookmarkData,
+          int options,
+          NSURL? relativeURL,
+          ffi.Pointer<ffi.Bool> isStale,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_189(
+        _lib._class_NSURL1,
+        _lib._sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1,
+        bookmarkData?._id ?? ffi.nullptr,
+        options,
+        relativeURL?._id ?? ffi.nullptr,
+        isStale,
+        error);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject resourceValuesForKeys_fromBookmarkData_(
+      PedometerBindings _lib, NSArray? keys, NSData? bookmarkData) {
+    final _ret = _lib._objc_msgSend_190(
+        _lib._class_NSURL1,
+        _lib._sel_resourceValuesForKeys_fromBookmarkData_1,
+        keys?._id ?? ffi.nullptr,
+        bookmarkData?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool writeBookmarkData_toURL_options_error_(
+      PedometerBindings _lib,
+      NSData? bookmarkData,
+      NSURL? bookmarkFileURL,
+      int options,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_191(
+        _lib._class_NSURL1,
+        _lib._sel_writeBookmarkData_toURL_options_error_1,
+        bookmarkData?._id ?? ffi.nullptr,
+        bookmarkFileURL?._id ?? ffi.nullptr,
+        options,
+        error);
+  }
+
+  static NSData bookmarkDataWithContentsOfURL_error_(PedometerBindings _lib,
+      NSURL? bookmarkFileURL, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_192(
+        _lib._class_NSURL1,
+        _lib._sel_bookmarkDataWithContentsOfURL_error_1,
+        bookmarkFileURL?._id ?? ffi.nullptr,
+        error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL URLByResolvingAliasFileAtURL_options_error_(
+      PedometerBindings _lib,
+      NSURL? url,
+      int options,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_193(
+        _lib._class_NSURL1,
+        _lib._sel_URLByResolvingAliasFileAtURL_options_error_1,
+        url?._id ?? ffi.nullptr,
+        options,
+        error);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool startAccessingSecurityScopedResource() {
+    return _lib._objc_msgSend_12(
+        _id, _lib._sel_startAccessingSecurityScopedResource1);
+  }
+
+  void stopAccessingSecurityScopedResource() {
+    _lib._objc_msgSend_1(_id, _lib._sel_stopAccessingSecurityScopedResource1);
+  }
+
+  bool getPromisedItemResourceValue_forKey_error_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> value,
+      NSURLResourceKey key,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_183(
+        _id,
+        _lib._sel_getPromisedItemResourceValue_forKey_error_1,
+        value,
+        key,
+        error);
+  }
+
+  NSDictionary promisedItemResourceValuesForKeys_error_(
+      NSArray? keys, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_194(
+        _id,
+        _lib._sel_promisedItemResourceValuesForKeys_error_1,
+        keys?._id ?? ffi.nullptr,
+        error);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool checkPromisedItemIsReachableAndReturnError_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_182(
+        _id, _lib._sel_checkPromisedItemIsReachableAndReturnError_1, error);
+  }
+
+  static NSURL fileURLWithPathComponents_(
+      PedometerBindings _lib, NSArray? components) {
+    final _ret = _lib._objc_msgSend_195(_lib._class_NSURL1,
+        _lib._sel_fileURLWithPathComponents_1, components?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get pathComponents {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_pathComponents1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get lastPathComponent {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_lastPathComponent1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get pathExtension {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_pathExtension1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLByAppendingPathComponent_(NSString? pathComponent) {
+    final _ret = _lib._objc_msgSend_34(
+        _id,
+        _lib._sel_URLByAppendingPathComponent_1,
+        pathComponent?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLByAppendingPathComponent_isDirectory_(
+      NSString? pathComponent, bool isDirectory) {
+    final _ret = _lib._objc_msgSend_33(
+        _id,
+        _lib._sel_URLByAppendingPathComponent_isDirectory_1,
+        pathComponent?._id ?? ffi.nullptr,
+        isDirectory);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get URLByDeletingLastPathComponent {
+    final _ret =
+        _lib._objc_msgSend_40(_id, _lib._sel_URLByDeletingLastPathComponent1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLByAppendingPathExtension_(NSString? pathExtension) {
+    final _ret = _lib._objc_msgSend_34(
+        _id,
+        _lib._sel_URLByAppendingPathExtension_1,
+        pathExtension?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get URLByDeletingPathExtension {
+    final _ret =
+        _lib._objc_msgSend_40(_id, _lib._sel_URLByDeletingPathExtension1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get URLByStandardizingPath {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_URLByStandardizingPath1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get URLByResolvingSymlinksInPath {
+    final _ret =
+        _lib._objc_msgSend_40(_id, _lib._sel_URLByResolvingSymlinksInPath1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_new1);
+    return NSURL._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURL alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_alloc1);
+    return NSURL._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURL1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURL1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSURL1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURL1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURL1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSURL1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURL1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSNumber extends NSValue {
+  NSNumber._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSNumber] that points to the same underlying object as [other].
+  static NSNumber castFrom<T extends _ObjCWrapper>(T other) {
+    return NSNumber._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSNumber] that wraps the given raw object pointer.
+  static NSNumber castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSNumber._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSNumber].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSNumber1);
+  }
+
+  @override
+  NSNumber initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithChar_(int value) {
+    final _ret = _lib._objc_msgSend_159(_id, _lib._sel_initWithChar_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithUnsignedChar_(int value) {
+    final _ret =
+        _lib._objc_msgSend_160(_id, _lib._sel_initWithUnsignedChar_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithShort_(int value) {
+    final _ret = _lib._objc_msgSend_161(_id, _lib._sel_initWithShort_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithUnsignedShort_(int value) {
+    final _ret =
+        _lib._objc_msgSend_162(_id, _lib._sel_initWithUnsignedShort_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithInt_(int value) {
+    final _ret = _lib._objc_msgSend_163(_id, _lib._sel_initWithInt_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithUnsignedInt_(int value) {
+    final _ret =
+        _lib._objc_msgSend_164(_id, _lib._sel_initWithUnsignedInt_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithLong_(int value) {
+    final _ret = _lib._objc_msgSend_165(_id, _lib._sel_initWithLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithUnsignedLong_(int value) {
+    final _ret =
+        _lib._objc_msgSend_166(_id, _lib._sel_initWithUnsignedLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithLongLong_(int value) {
+    final _ret =
+        _lib._objc_msgSend_167(_id, _lib._sel_initWithLongLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithUnsignedLongLong_(int value) {
+    final _ret = _lib._objc_msgSend_168(
+        _id, _lib._sel_initWithUnsignedLongLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithFloat_(double value) {
+    final _ret = _lib._objc_msgSend_169(_id, _lib._sel_initWithFloat_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithDouble_(double value) {
+    final _ret = _lib._objc_msgSend_170(_id, _lib._sel_initWithDouble_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithBool_(bool value) {
+    final _ret = _lib._objc_msgSend_171(_id, _lib._sel_initWithBool_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithInteger_(int value) {
+    final _ret =
+        _lib._objc_msgSend_165(_id, _lib._sel_initWithInteger_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber initWithUnsignedInteger_(int value) {
+    final _ret =
+        _lib._objc_msgSend_166(_id, _lib._sel_initWithUnsignedInteger_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get charValue {
+    return _lib._objc_msgSend_172(_id, _lib._sel_charValue1);
+  }
+
+  int get unsignedCharValue {
+    return _lib._objc_msgSend_173(_id, _lib._sel_unsignedCharValue1);
+  }
+
+  int get shortValue {
+    return _lib._objc_msgSend_174(_id, _lib._sel_shortValue1);
+  }
+
+  int get unsignedShortValue {
+    return _lib._objc_msgSend_175(_id, _lib._sel_unsignedShortValue1);
+  }
+
+  int get intValue {
+    return _lib._objc_msgSend_176(_id, _lib._sel_intValue1);
+  }
+
+  int get unsignedIntValue {
+    return _lib._objc_msgSend_154(_id, _lib._sel_unsignedIntValue1);
+  }
+
+  int get longValue {
+    return _lib._objc_msgSend_70(_id, _lib._sel_longValue1);
+  }
+
+  int get unsignedLongValue {
+    return _lib._objc_msgSend_10(_id, _lib._sel_unsignedLongValue1);
+  }
+
+  int get longLongValue {
+    return _lib._objc_msgSend_177(_id, _lib._sel_longLongValue1);
+  }
+
+  int get unsignedLongLongValue {
+    return _lib._objc_msgSend_145(_id, _lib._sel_unsignedLongLongValue1);
+  }
+
+  double get floatValue {
+    return _lib._objc_msgSend_178(_id, _lib._sel_floatValue1);
+  }
+
+  double get doubleValue {
+    return _lib._objc_msgSend_146(_id, _lib._sel_doubleValue1);
+  }
+
+  bool get boolValue {
+    return _lib._objc_msgSend_12(_id, _lib._sel_boolValue1);
+  }
+
+  int get integerValue {
+    return _lib._objc_msgSend_70(_id, _lib._sel_integerValue1);
+  }
+
+  int get unsignedIntegerValue {
+    return _lib._objc_msgSend_10(_id, _lib._sel_unsignedIntegerValue1);
+  }
+
+  NSString? get stringValue {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_stringValue1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int compare_(NSNumber? otherNumber) {
+    return _lib._objc_msgSend_179(
+        _id, _lib._sel_compare_1, otherNumber?._id ?? ffi.nullptr);
+  }
+
+  bool isEqualToNumber_(NSNumber? number) {
+    return _lib._objc_msgSend_180(
+        _id, _lib._sel_isEqualToNumber_1, number?._id ?? ffi.nullptr);
+  }
+
+  NSString descriptionWithLocale_(NSObject locale) {
+    final _ret = _lib._objc_msgSend_57(
+        _id, _lib._sel_descriptionWithLocale_1, locale._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithChar_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_159(
+        _lib._class_NSNumber1, _lib._sel_numberWithChar_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithUnsignedChar_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_160(
+        _lib._class_NSNumber1, _lib._sel_numberWithUnsignedChar_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithShort_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_161(
+        _lib._class_NSNumber1, _lib._sel_numberWithShort_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithUnsignedShort_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_162(
+        _lib._class_NSNumber1, _lib._sel_numberWithUnsignedShort_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithInt_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_163(
+        _lib._class_NSNumber1, _lib._sel_numberWithInt_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithUnsignedInt_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_164(
+        _lib._class_NSNumber1, _lib._sel_numberWithUnsignedInt_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithLong_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_165(
+        _lib._class_NSNumber1, _lib._sel_numberWithLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithUnsignedLong_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_166(
+        _lib._class_NSNumber1, _lib._sel_numberWithUnsignedLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithLongLong_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_167(
+        _lib._class_NSNumber1, _lib._sel_numberWithLongLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithUnsignedLongLong_(
+      PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_168(
+        _lib._class_NSNumber1, _lib._sel_numberWithUnsignedLongLong_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithFloat_(PedometerBindings _lib, double value) {
+    final _ret = _lib._objc_msgSend_169(
+        _lib._class_NSNumber1, _lib._sel_numberWithFloat_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithDouble_(PedometerBindings _lib, double value) {
+    final _ret = _lib._objc_msgSend_170(
+        _lib._class_NSNumber1, _lib._sel_numberWithDouble_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithBool_(PedometerBindings _lib, bool value) {
+    final _ret = _lib._objc_msgSend_171(
+        _lib._class_NSNumber1, _lib._sel_numberWithBool_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithInteger_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_165(
+        _lib._class_NSNumber1, _lib._sel_numberWithInteger_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber numberWithUnsignedInteger_(
+      PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_166(
+        _lib._class_NSNumber1, _lib._sel_numberWithUnsignedInteger_1, value);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue valueWithBytes_objCType_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Char> type) {
+    final _ret = _lib._objc_msgSend_43(_lib._class_NSNumber1,
+        _lib._sel_valueWithBytes_objCType_1, value, type);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue value_withObjCType_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Char> type) {
+    final _ret = _lib._objc_msgSend_43(
+        _lib._class_NSNumber1, _lib._sel_value_withObjCType_1, value, type);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue valueWithNonretainedObject_(
+      PedometerBindings _lib, NSObject anObject) {
+    final _ret = _lib._objc_msgSend_44(_lib._class_NSNumber1,
+        _lib._sel_valueWithNonretainedObject_1, anObject._id);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue valueWithPointer_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> pointer) {
+    final _ret = _lib._objc_msgSend_45(
+        _lib._class_NSNumber1, _lib._sel_valueWithPointer_1, pointer);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue valueWithRange_(PedometerBindings _lib, NSRange range) {
+    final _ret = _lib._objc_msgSend_48(
+        _lib._class_NSNumber1, _lib._sel_valueWithRange_1, range);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNumber new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_new1);
+    return NSNumber._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSNumber alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_alloc1);
+    return NSNumber._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSNumber1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSNumber1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSNumber1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSNumber1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSNumber1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSNumber1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSNumber1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSValue extends NSObject {
+  NSValue._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSValue] that points to the same underlying object as [other].
+  static NSValue castFrom<T extends _ObjCWrapper>(T other) {
+    return NSValue._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSValue] that wraps the given raw object pointer.
+  static NSValue castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSValue._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSValue].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSValue1);
+  }
+
+  void getValue_size_(ffi.Pointer<ffi.Void> value, int size) {
+    _lib._objc_msgSend_21(_id, _lib._sel_getValue_size_1, value, size);
+  }
+
+  ffi.Pointer<ffi.Char> get objCType {
+    return _lib._objc_msgSend_13(_id, _lib._sel_objCType1);
+  }
+
+  NSValue initWithBytes_objCType_(
+      ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Char> type) {
+    final _ret = _lib._objc_msgSend_41(
+        _id, _lib._sel_initWithBytes_objCType_1, value, type);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSValue initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue valueWithBytes_objCType_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Char> type) {
+    final _ret = _lib._objc_msgSend_43(
+        _lib._class_NSValue1, _lib._sel_valueWithBytes_objCType_1, value, type);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue value_withObjCType_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Char> type) {
+    final _ret = _lib._objc_msgSend_43(
+        _lib._class_NSValue1, _lib._sel_value_withObjCType_1, value, type);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue valueWithNonretainedObject_(
+      PedometerBindings _lib, NSObject anObject) {
+    final _ret = _lib._objc_msgSend_44(_lib._class_NSValue1,
+        _lib._sel_valueWithNonretainedObject_1, anObject._id);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject get nonretainedObjectValue {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_nonretainedObjectValue1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSValue valueWithPointer_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> pointer) {
+    final _ret = _lib._objc_msgSend_45(
+        _lib._class_NSValue1, _lib._sel_valueWithPointer_1, pointer);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  ffi.Pointer<ffi.Void> get pointerValue {
+    return _lib._objc_msgSend_19(_id, _lib._sel_pointerValue1);
+  }
+
+  bool isEqualToValue_(NSValue? value) {
+    return _lib._objc_msgSend_46(
+        _id, _lib._sel_isEqualToValue_1, value?._id ?? ffi.nullptr);
+  }
+
+  void getValue_(ffi.Pointer<ffi.Void> value) {
+    _lib._objc_msgSend_47(_id, _lib._sel_getValue_1, value);
+  }
+
+  static NSValue valueWithRange_(PedometerBindings _lib, NSRange range) {
+    final _ret = _lib._objc_msgSend_48(
+        _lib._class_NSValue1, _lib._sel_valueWithRange_1, range);
+    return NSValue._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSRange get rangeValue {
+    return _lib._objc_msgSend_49(_id, _lib._sel_rangeValue1);
+  }
+
+  static NSValue new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_new1);
+    return NSValue._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSValue alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_alloc1);
+    return NSValue._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSValue1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSValue1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSValue1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSValue1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSValue1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSValue1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSValue1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Immutable Array
+class NSArray extends NSObject {
+  NSArray._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSArray] that points to the same underlying object as [other].
+  static NSArray castFrom<T extends _ObjCWrapper>(T other) {
+    return NSArray._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSArray] that wraps the given raw object pointer.
+  static NSArray castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSArray._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSArray].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSArray1);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  NSObject objectAtIndex_(int index) {
+    final _ret = _lib._objc_msgSend_52(_id, _lib._sel_objectAtIndex_1, index);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSArray init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray initWithObjects_count_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(
+        _id, _lib._sel_initWithObjects_count_1, objects, cnt);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray arrayByAddingObject_(NSObject anObject) {
+    final _ret = _lib._objc_msgSend_54(
+        _id, _lib._sel_arrayByAddingObject_1, anObject._id);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray arrayByAddingObjectsFromArray_(NSArray? otherArray) {
+    final _ret = _lib._objc_msgSend_55(
+        _id,
+        _lib._sel_arrayByAddingObjectsFromArray_1,
+        otherArray?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString componentsJoinedByString_(NSString? separator) {
+    final _ret = _lib._objc_msgSend_56(_id,
+        _lib._sel_componentsJoinedByString_1, separator?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool containsObject_(NSObject anObject) {
+    return _lib._objc_msgSend_0(_id, _lib._sel_containsObject_1, anObject._id);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_(NSObject locale) {
+    final _ret = _lib._objc_msgSend_57(
+        _id, _lib._sel_descriptionWithLocale_1, locale._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_indent_(NSObject locale, int level) {
+    final _ret = _lib._objc_msgSend_58(
+        _id, _lib._sel_descriptionWithLocale_indent_1, locale._id, level);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject firstObjectCommonWithArray_(NSArray? otherArray) {
+    final _ret = _lib._objc_msgSend_59(_id,
+        _lib._sel_firstObjectCommonWithArray_1, otherArray?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getObjects_range_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, NSRange range) {
+    _lib._objc_msgSend_60(_id, _lib._sel_getObjects_range_1, objects, range);
+  }
+
+  int indexOfObject_(NSObject anObject) {
+    return _lib._objc_msgSend_61(_id, _lib._sel_indexOfObject_1, anObject._id);
+  }
+
+  int indexOfObject_inRange_(NSObject anObject, NSRange range) {
+    return _lib._objc_msgSend_62(
+        _id, _lib._sel_indexOfObject_inRange_1, anObject._id, range);
+  }
+
+  int indexOfObjectIdenticalTo_(NSObject anObject) {
+    return _lib._objc_msgSend_61(
+        _id, _lib._sel_indexOfObjectIdenticalTo_1, anObject._id);
+  }
+
+  int indexOfObjectIdenticalTo_inRange_(NSObject anObject, NSRange range) {
+    return _lib._objc_msgSend_62(
+        _id, _lib._sel_indexOfObjectIdenticalTo_inRange_1, anObject._id, range);
+  }
+
+  bool isEqualToArray_(NSArray? otherArray) {
+    return _lib._objc_msgSend_63(
+        _id, _lib._sel_isEqualToArray_1, otherArray?._id ?? ffi.nullptr);
+  }
+
+  NSObject get firstObject {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_firstObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject get lastObject {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_lastObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator objectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_objectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator reverseObjectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_reverseObjectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData? get sortedArrayHint {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_sortedArrayHint1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray sortedArrayUsingFunction_context_(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  NSInteger Function(ffi.Pointer<ObjCObject>,
+                      ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>
+          comparator,
+      ffi.Pointer<ffi.Void> context) {
+    final _ret = _lib._objc_msgSend_65(
+        _id, _lib._sel_sortedArrayUsingFunction_context_1, comparator, context);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray sortedArrayUsingFunction_context_hint_(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  NSInteger Function(ffi.Pointer<ObjCObject>,
+                      ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>
+          comparator,
+      ffi.Pointer<ffi.Void> context,
+      NSData? hint) {
+    final _ret = _lib._objc_msgSend_66(
+        _id,
+        _lib._sel_sortedArrayUsingFunction_context_hint_1,
+        comparator,
+        context,
+        hint?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray sortedArrayUsingSelector_(ffi.Pointer<ObjCSel> comparator) {
+    final _ret = _lib._objc_msgSend_67(
+        _id, _lib._sel_sortedArrayUsingSelector_1, comparator);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray subarrayWithRange_(NSRange range) {
+    final _ret =
+        _lib._objc_msgSend_68(_id, _lib._sel_subarrayWithRange_1, range);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool writeToURL_error_(
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_74(
+        _id, _lib._sel_writeToURL_error_1, url?._id ?? ffi.nullptr, error);
+  }
+
+  void makeObjectsPerformSelector_(ffi.Pointer<ObjCSel> aSelector) {
+    _lib._objc_msgSend_7(
+        _id, _lib._sel_makeObjectsPerformSelector_1, aSelector);
+  }
+
+  void makeObjectsPerformSelector_withObject_(
+      ffi.Pointer<ObjCSel> aSelector, NSObject argument) {
+    _lib._objc_msgSend_75(
+        _id,
+        _lib._sel_makeObjectsPerformSelector_withObject_1,
+        aSelector,
+        argument._id);
+  }
+
+  NSArray objectsAtIndexes_(NSIndexSet? indexes) {
+    final _ret = _lib._objc_msgSend_96(
+        _id, _lib._sel_objectsAtIndexes_1, indexes?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject objectAtIndexedSubscript_(int idx) {
+    final _ret =
+        _lib._objc_msgSend_52(_id, _lib._sel_objectAtIndexedSubscript_1, idx);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateObjectsUsingBlock_(
+      ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool block) {
+    _lib._objc_msgSend_97(
+        _id, _lib._sel_enumerateObjectsUsingBlock_1, block._id);
+  }
+
+  void enumerateObjectsWithOptions_usingBlock_(
+      int opts, ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool block) {
+    _lib._objc_msgSend_98(_id,
+        _lib._sel_enumerateObjectsWithOptions_usingBlock_1, opts, block._id);
+  }
+
+  void enumerateObjectsAtIndexes_options_usingBlock_(NSIndexSet? s, int opts,
+      ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool block) {
+    _lib._objc_msgSend_99(
+        _id,
+        _lib._sel_enumerateObjectsAtIndexes_options_usingBlock_1,
+        s?._id ?? ffi.nullptr,
+        opts,
+        block._id);
+  }
+
+  int indexOfObjectPassingTest_(
+      ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_100(
+        _id, _lib._sel_indexOfObjectPassingTest_1, predicate._id);
+  }
+
+  int indexOfObjectWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_101(_id,
+        _lib._sel_indexOfObjectWithOptions_passingTest_1, opts, predicate._id);
+  }
+
+  int indexOfObjectAtIndexes_options_passingTest_(NSIndexSet? s, int opts,
+      ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_102(
+        _id,
+        _lib._sel_indexOfObjectAtIndexes_options_passingTest_1,
+        s?._id ?? ffi.nullptr,
+        opts,
+        predicate._id);
+  }
+
+  NSIndexSet indexesOfObjectsPassingTest_(
+      ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_103(
+        _id, _lib._sel_indexesOfObjectsPassingTest_1, predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet indexesOfObjectsWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_104(
+        _id,
+        _lib._sel_indexesOfObjectsWithOptions_passingTest_1,
+        opts,
+        predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet indexesOfObjectsAtIndexes_options_passingTest_(NSIndexSet? s,
+      int opts, ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_105(
+        _id,
+        _lib._sel_indexesOfObjectsAtIndexes_options_passingTest_1,
+        s?._id ?? ffi.nullptr,
+        opts,
+        predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray sortedArrayUsingComparator_(NSComparator cmptr) {
+    final _ret = _lib._objc_msgSend_106(
+        _id, _lib._sel_sortedArrayUsingComparator_1, cmptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray sortedArrayWithOptions_usingComparator_(
+      int opts, NSComparator cmptr) {
+    final _ret = _lib._objc_msgSend_107(
+        _id, _lib._sel_sortedArrayWithOptions_usingComparator_1, opts, cmptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  int indexOfObject_inSortedRange_options_usingComparator_(
+      NSObject obj, NSRange r, int opts, NSComparator cmp) {
+    return _lib._objc_msgSend_108(
+        _id,
+        _lib._sel_indexOfObject_inSortedRange_options_usingComparator_1,
+        obj._id,
+        r,
+        opts,
+        cmp);
+  }
+
+  static NSArray array(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_array1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray arrayWithObject_(PedometerBindings _lib, NSObject anObject) {
+    final _ret = _lib._objc_msgSend_16(
+        _lib._class_NSArray1, _lib._sel_arrayWithObject_1, anObject._id);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray arrayWithObjects_count_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(
+        _lib._class_NSArray1, _lib._sel_arrayWithObjects_count_1, objects, cnt);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray arrayWithObjects_(PedometerBindings _lib, NSObject firstObj) {
+    final _ret = _lib._objc_msgSend_16(
+        _lib._class_NSArray1, _lib._sel_arrayWithObjects_1, firstObj._id);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray arrayWithArray_(PedometerBindings _lib, NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSArray1,
+        _lib._sel_arrayWithArray_1, array?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray initWithObjects_(NSObject firstObj) {
+    final _ret =
+        _lib._objc_msgSend_16(_id, _lib._sel_initWithObjects_1, firstObj._id);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray initWithArray_(NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(
+        _id, _lib._sel_initWithArray_1, array?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray initWithArray_copyItems_(NSArray? array, bool flag) {
+    final _ret = _lib._objc_msgSend_109(_id,
+        _lib._sel_initWithArray_copyItems_1, array?._id ?? ffi.nullptr, flag);
+    return NSArray._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSArray initWithContentsOfURL_error_(
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_110(
+        _id,
+        _lib._sel_initWithContentsOfURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray arrayWithContentsOfURL_error_(PedometerBindings _lib,
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_110(
+        _lib._class_NSArray1,
+        _lib._sel_arrayWithContentsOfURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject differenceFromArray_withOptions_usingEquivalenceTest_(
+      NSArray? other, int options, ObjCBlock_bool_ObjCObject_ObjCObject block) {
+    final _ret = _lib._objc_msgSend_111(
+        _id,
+        _lib._sel_differenceFromArray_withOptions_usingEquivalenceTest_1,
+        other?._id ?? ffi.nullptr,
+        options,
+        block._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject differenceFromArray_withOptions_(NSArray? other, int options) {
+    final _ret = _lib._objc_msgSend_112(
+        _id,
+        _lib._sel_differenceFromArray_withOptions_1,
+        other?._id ?? ffi.nullptr,
+        options);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject differenceFromArray_(NSArray? other) {
+    final _ret = _lib._objc_msgSend_59(
+        _id, _lib._sel_differenceFromArray_1, other?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray arrayByApplyingDifference_(NSObject? difference) {
+    final _ret = _lib._objc_msgSend_54(_id,
+        _lib._sel_arrayByApplyingDifference_1, difference?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getObjects_(ffi.Pointer<ffi.Pointer<ObjCObject>> objects) {
+    _lib._objc_msgSend_113(_id, _lib._sel_getObjects_1, objects);
+  }
+
+  static NSArray arrayWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_114(_lib._class_NSArray1,
+        _lib._sel_arrayWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray arrayWithContentsOfURL_(PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_115(_lib._class_NSArray1,
+        _lib._sel_arrayWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray initWithContentsOfFile_(NSString? path) {
+    final _ret = _lib._objc_msgSend_114(
+        _id, _lib._sel_initWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray initWithContentsOfURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_115(
+        _id, _lib._sel_initWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool writeToFile_atomically_(NSString? path, bool useAuxiliaryFile) {
+    return _lib._objc_msgSend_25(_id, _lib._sel_writeToFile_atomically_1,
+        path?._id ?? ffi.nullptr, useAuxiliaryFile);
+  }
+
+  bool writeToURL_atomically_(NSURL? url, bool atomically) {
+    return _lib._objc_msgSend_116(_id, _lib._sel_writeToURL_atomically_1,
+        url?._id ?? ffi.nullptr, atomically);
+  }
+
+  NSArray pathsMatchingExtensions_(NSArray? filterTypes) {
+    final _ret = _lib._objc_msgSend_55(_id, _lib._sel_pathsMatchingExtensions_1,
+        filterTypes?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSObject valueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_valueForKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  void setValue_forKey_(NSObject value, NSString? key) {
+    _lib._objc_msgSend_117(
+        _id, _lib._sel_setValue_forKey_1, value._id, key?._id ?? ffi.nullptr);
+  }
+
+  void addObserver_toObjectsAtIndexes_forKeyPath_options_context_(
+      NSObject? observer,
+      NSIndexSet? indexes,
+      NSString? keyPath,
+      int options,
+      ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_118(
+        _id,
+        _lib._sel_addObserver_toObjectsAtIndexes_forKeyPath_options_context_1,
+        observer?._id ?? ffi.nullptr,
+        indexes?._id ?? ffi.nullptr,
+        keyPath?._id ?? ffi.nullptr,
+        options,
+        context);
+  }
+
+  void removeObserver_fromObjectsAtIndexes_forKeyPath_context_(
+      NSObject? observer,
+      NSIndexSet? indexes,
+      NSString? keyPath,
+      ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_119(
+        _id,
+        _lib._sel_removeObserver_fromObjectsAtIndexes_forKeyPath_context_1,
+        observer?._id ?? ffi.nullptr,
+        indexes?._id ?? ffi.nullptr,
+        keyPath?._id ?? ffi.nullptr,
+        context);
+  }
+
+  void removeObserver_fromObjectsAtIndexes_forKeyPath_(
+      NSObject? observer, NSIndexSet? indexes, NSString? keyPath) {
+    _lib._objc_msgSend_120(
+        _id,
+        _lib._sel_removeObserver_fromObjectsAtIndexes_forKeyPath_1,
+        observer?._id ?? ffi.nullptr,
+        indexes?._id ?? ffi.nullptr,
+        keyPath?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void addObserver_forKeyPath_options_context_(NSObject? observer,
+      NSString? keyPath, int options, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_121(
+        _id,
+        _lib._sel_addObserver_forKeyPath_options_context_1,
+        observer?._id ?? ffi.nullptr,
+        keyPath?._id ?? ffi.nullptr,
+        options,
+        context);
+  }
+
+  @override
+  void removeObserver_forKeyPath_context_(
+      NSObject? observer, NSString? keyPath, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_122(_id, _lib._sel_removeObserver_forKeyPath_context_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr, context);
+  }
+
+  @override
+  void removeObserver_forKeyPath_(NSObject? observer, NSString? keyPath) {
+    _lib._objc_msgSend_123(_id, _lib._sel_removeObserver_forKeyPath_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr);
+  }
+
+  NSArray sortedArrayUsingDescriptors_(NSArray? sortDescriptors) {
+    final _ret = _lib._objc_msgSend_55(
+        _id,
+        _lib._sel_sortedArrayUsingDescriptors_1,
+        sortDescriptors?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray filteredArrayUsingPredicate_(NSPredicate? predicate) {
+    final _ret = _lib._objc_msgSend_158(_id,
+        _lib._sel_filteredArrayUsingPredicate_1, predicate?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_new1);
+    return NSArray._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSArray alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_alloc1);
+    return NSArray._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSArray1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSArray1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSArray1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSArray1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSArray1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSArray1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSArray1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSInteger = ffi.Long;
+
+class NSError extends NSObject {
+  NSError._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSError] that points to the same underlying object as [other].
+  static NSError castFrom<T extends _ObjCWrapper>(T other) {
+    return NSError._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSError] that wraps the given raw object pointer.
+  static NSError castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSError._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSError].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSError1);
+  }
+
+  NSError initWithDomain_code_userInfo_(
+      NSErrorDomain domain, int code, NSObject? dict) {
+    final _ret = _lib._objc_msgSend_69(
+        _id,
+        _lib._sel_initWithDomain_code_userInfo_1,
+        domain,
+        code,
+        dict?._id ?? ffi.nullptr);
+    return NSError._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSError errorWithDomain_code_userInfo_(
+      PedometerBindings _lib, NSErrorDomain domain, int code, NSObject? dict) {
+    final _ret = _lib._objc_msgSend_69(
+        _lib._class_NSError1,
+        _lib._sel_errorWithDomain_code_userInfo_1,
+        domain,
+        code,
+        dict?._id ?? ffi.nullptr);
+    return NSError._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSErrorDomain get domain {
+    return _lib._objc_msgSend_20(_id, _lib._sel_domain1);
+  }
+
+  int get code {
+    return _lib._objc_msgSend_70(_id, _lib._sel_code1);
+  }
+
+  NSObject? get userInfo {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_userInfo1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get localizedDescription {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_localizedDescription1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get localizedFailureReason {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_localizedFailureReason1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get localizedRecoverySuggestion {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_localizedRecoverySuggestion1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get localizedRecoveryOptions {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_localizedRecoveryOptions1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject get recoveryAttempter {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_recoveryAttempter1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get helpAnchor {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_helpAnchor1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get underlyingErrors {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_underlyingErrors1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void setUserInfoValueProviderForDomain_provider_(
+      PedometerBindings _lib,
+      NSErrorDomain errorDomain,
+      ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey provider) {
+    _lib._objc_msgSend_72(
+        _lib._class_NSError1,
+        _lib._sel_setUserInfoValueProviderForDomain_provider_1,
+        errorDomain,
+        provider._id);
+  }
+
+  static ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey
+      userInfoValueProviderForDomain_(PedometerBindings _lib, NSError? err,
+          NSErrorUserInfoKey userInfoKey, NSErrorDomain errorDomain) {
+    final _ret = _lib._objc_msgSend_73(
+        _lib._class_NSError1,
+        _lib._sel_userInfoValueProviderForDomain_1,
+        err?._id ?? ffi.nullptr,
+        userInfoKey,
+        errorDomain);
+    return ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey._(_ret, _lib);
+  }
+
+  static NSError new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_new1);
+    return NSError._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSError alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_alloc1);
+    return NSError._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSError1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSError1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSError1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSError1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSError1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSError1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSError1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSErrorDomain = ffi.Pointer<ObjCObject>;
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        ffi.Pointer<ObjCObject> arg0,
+        NSErrorUserInfoKey arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Pointer<ObjCObject> Function(
+                  ffi.Pointer<ObjCObject> arg0, NSErrorUserInfoKey arg1)>>()
+      .asFunction<
+          ffi.Pointer<ObjCObject> Function(ffi.Pointer<ObjCObject> arg0,
+              NSErrorUserInfoKey arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_closureRegistryIndex;
+  _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        ffi.Pointer<ObjCObject> arg0,
+        NSErrorUserInfoKey arg1) {
+  return (_ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_closureRegistry[
+          block.ref.target.address]
+      as ffi.Pointer<ObjCObject> Function(
+          ffi.Pointer<ObjCObject>, NSErrorUserInfoKey))(arg0, arg1);
+}
+
+class ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey extends _ObjCBlockBase {
+  ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ObjCObject> Function(
+                      ffi.Pointer<ObjCObject> arg0, NSErrorUserInfoKey arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSErrorUserInfoKey arg1)>(
+                        _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey.fromFunction(
+      PedometerBindings lib,
+      ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject> arg0, NSErrorUserInfoKey arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSErrorUserInfoKey arg1)>(
+                        _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ObjCObject_NSError_NSErrorUserInfoKey_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  ffi.Pointer<ObjCObject> call(
+      ffi.Pointer<ObjCObject> arg0, NSErrorUserInfoKey arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0, NSErrorUserInfoKey arg1)>>()
+        .asFunction<
+            ffi.Pointer<ObjCObject> Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                NSErrorUserInfoKey arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef NSErrorUserInfoKey = ffi.Pointer<ObjCObject>;
+
+class NSIndexSet extends NSObject {
+  NSIndexSet._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSIndexSet] that points to the same underlying object as [other].
+  static NSIndexSet castFrom<T extends _ObjCWrapper>(T other) {
+    return NSIndexSet._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSIndexSet] that wraps the given raw object pointer.
+  static NSIndexSet castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSIndexSet._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSIndexSet].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSIndexSet1);
+  }
+
+  static NSIndexSet indexSet(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSIndexSet1, _lib._sel_indexSet1);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSIndexSet indexSetWithIndex_(PedometerBindings _lib, int value) {
+    final _ret = _lib._objc_msgSend_52(
+        _lib._class_NSIndexSet1, _lib._sel_indexSetWithIndex_1, value);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSIndexSet indexSetWithIndexesInRange_(
+      PedometerBindings _lib, NSRange range) {
+    final _ret = _lib._objc_msgSend_76(
+        _lib._class_NSIndexSet1, _lib._sel_indexSetWithIndexesInRange_1, range);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet initWithIndexesInRange_(NSRange range) {
+    final _ret =
+        _lib._objc_msgSend_76(_id, _lib._sel_initWithIndexesInRange_1, range);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet initWithIndexSet_(NSIndexSet? indexSet) {
+    final _ret = _lib._objc_msgSend_77(
+        _id, _lib._sel_initWithIndexSet_1, indexSet?._id ?? ffi.nullptr);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet initWithIndex_(int value) {
+    final _ret = _lib._objc_msgSend_52(_id, _lib._sel_initWithIndex_1, value);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool isEqualToIndexSet_(NSIndexSet? indexSet) {
+    return _lib._objc_msgSend_78(
+        _id, _lib._sel_isEqualToIndexSet_1, indexSet?._id ?? ffi.nullptr);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  int get firstIndex {
+    return _lib._objc_msgSend_10(_id, _lib._sel_firstIndex1);
+  }
+
+  int get lastIndex {
+    return _lib._objc_msgSend_10(_id, _lib._sel_lastIndex1);
+  }
+
+  int indexGreaterThanIndex_(int value) {
+    return _lib._objc_msgSend_79(_id, _lib._sel_indexGreaterThanIndex_1, value);
+  }
+
+  int indexLessThanIndex_(int value) {
+    return _lib._objc_msgSend_79(_id, _lib._sel_indexLessThanIndex_1, value);
+  }
+
+  int indexGreaterThanOrEqualToIndex_(int value) {
+    return _lib._objc_msgSend_79(
+        _id, _lib._sel_indexGreaterThanOrEqualToIndex_1, value);
+  }
+
+  int indexLessThanOrEqualToIndex_(int value) {
+    return _lib._objc_msgSend_79(
+        _id, _lib._sel_indexLessThanOrEqualToIndex_1, value);
+  }
+
+  int getIndexes_maxCount_inIndexRange_(ffi.Pointer<NSUInteger> indexBuffer,
+      int bufferSize, NSRangePointer range) {
+    return _lib._objc_msgSend_80(
+        _id,
+        _lib._sel_getIndexes_maxCount_inIndexRange_1,
+        indexBuffer,
+        bufferSize,
+        range);
+  }
+
+  int countOfIndexesInRange_(NSRange range) {
+    return _lib._objc_msgSend_81(_id, _lib._sel_countOfIndexesInRange_1, range);
+  }
+
+  bool containsIndex_(int value) {
+    return _lib._objc_msgSend_82(_id, _lib._sel_containsIndex_1, value);
+  }
+
+  bool containsIndexesInRange_(NSRange range) {
+    return _lib._objc_msgSend_83(
+        _id, _lib._sel_containsIndexesInRange_1, range);
+  }
+
+  bool containsIndexes_(NSIndexSet? indexSet) {
+    return _lib._objc_msgSend_78(
+        _id, _lib._sel_containsIndexes_1, indexSet?._id ?? ffi.nullptr);
+  }
+
+  bool intersectsIndexesInRange_(NSRange range) {
+    return _lib._objc_msgSend_83(
+        _id, _lib._sel_intersectsIndexesInRange_1, range);
+  }
+
+  void enumerateIndexesUsingBlock_(ObjCBlock_ffiVoid_NSUInteger_bool block) {
+    _lib._objc_msgSend_84(
+        _id, _lib._sel_enumerateIndexesUsingBlock_1, block._id);
+  }
+
+  void enumerateIndexesWithOptions_usingBlock_(
+      int opts, ObjCBlock_ffiVoid_NSUInteger_bool block) {
+    _lib._objc_msgSend_85(_id,
+        _lib._sel_enumerateIndexesWithOptions_usingBlock_1, opts, block._id);
+  }
+
+  void enumerateIndexesInRange_options_usingBlock_(
+      NSRange range, int opts, ObjCBlock_ffiVoid_NSUInteger_bool block) {
+    _lib._objc_msgSend_86(
+        _id,
+        _lib._sel_enumerateIndexesInRange_options_usingBlock_1,
+        range,
+        opts,
+        block._id);
+  }
+
+  int indexPassingTest_(ObjCBlock_bool_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_87(
+        _id, _lib._sel_indexPassingTest_1, predicate._id);
+  }
+
+  int indexWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_88(
+        _id, _lib._sel_indexWithOptions_passingTest_1, opts, predicate._id);
+  }
+
+  int indexInRange_options_passingTest_(
+      NSRange range, int opts, ObjCBlock_bool_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_89(
+        _id,
+        _lib._sel_indexInRange_options_passingTest_1,
+        range,
+        opts,
+        predicate._id);
+  }
+
+  NSIndexSet indexesPassingTest_(ObjCBlock_bool_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_90(
+        _id, _lib._sel_indexesPassingTest_1, predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet indexesWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_91(
+        _id, _lib._sel_indexesWithOptions_passingTest_1, opts, predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet indexesInRange_options_passingTest_(
+      NSRange range, int opts, ObjCBlock_bool_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_92(
+        _id,
+        _lib._sel_indexesInRange_options_passingTest_1,
+        range,
+        opts,
+        predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateRangesUsingBlock_(ObjCBlock_ffiVoid_NSRange_bool block) {
+    _lib._objc_msgSend_93(
+        _id, _lib._sel_enumerateRangesUsingBlock_1, block._id);
+  }
+
+  void enumerateRangesWithOptions_usingBlock_(
+      int opts, ObjCBlock_ffiVoid_NSRange_bool block) {
+    _lib._objc_msgSend_94(_id,
+        _lib._sel_enumerateRangesWithOptions_usingBlock_1, opts, block._id);
+  }
+
+  void enumerateRangesInRange_options_usingBlock_(
+      NSRange range, int opts, ObjCBlock_ffiVoid_NSRange_bool block) {
+    _lib._objc_msgSend_95(
+        _id,
+        _lib._sel_enumerateRangesInRange_options_usingBlock_1,
+        range,
+        opts,
+        block._id);
+  }
+
+  static NSIndexSet new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSIndexSet1, _lib._sel_new1);
+    return NSIndexSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSIndexSet alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSIndexSet1, _lib._sel_alloc1);
+    return NSIndexSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSIndexSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSIndexSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSIndexSet1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSIndexSet1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSIndexSet1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSIndexSet1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSIndexSet1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSRangePointer = ffi.Pointer<NSRange>;
+void _ObjCBlock_ffiVoid_NSUInteger_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0, ffi.Pointer<ffi.Bool> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+      .asFunction<
+          void Function(int arg0, ffi.Pointer<ffi.Bool> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_NSUInteger_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSUInteger_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSUInteger_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSUInteger_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSUInteger_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSUInteger_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0, ffi.Pointer<ffi.Bool> arg1) {
+  (_ObjCBlock_ffiVoid_NSUInteger_bool_closureRegistry[block.ref.target.address]
+      as void Function(int, ffi.Pointer<ffi.Bool>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_NSUInteger_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSUInteger_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSUInteger_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_NSUInteger_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSUInteger_bool.fromFunction(PedometerBindings lib,
+      void Function(int arg0, ffi.Pointer<ffi.Bool> arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_NSUInteger_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSUInteger_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSUInteger_bool.listener(PedometerBindings lib,
+      void Function(int arg0, ffi.Pointer<ffi.Bool> arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                NSUInteger arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_NSUInteger_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSUInteger_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(ffi.Pointer<_ObjCBlock> block, NSUInteger arg0,
+          ffi.Pointer<ffi.Bool> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(int arg0, ffi.Pointer<ffi.Bool> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, int arg0,
+                ffi.Pointer<ffi.Bool> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+abstract class NSEnumerationOptions {
+  static const int NSEnumerationConcurrent = 1;
+  static const int NSEnumerationReverse = 2;
+}
+
+bool _ObjCBlock_bool_NSUInteger_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0, ffi.Pointer<ffi.Bool> arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+      .asFunction<
+          bool Function(int arg0, ffi.Pointer<ffi.Bool> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_bool_NSUInteger_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_bool_NSUInteger_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_bool_NSUInteger_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_bool_NSUInteger_bool_closureRegistryIndex;
+  _ObjCBlock_bool_NSUInteger_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_NSUInteger_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0, ffi.Pointer<ffi.Bool> arg1) {
+  return (_ObjCBlock_bool_NSUInteger_bool_closureRegistry[block.ref.target
+      .address] as bool Function(int, ffi.Pointer<ffi.Bool>))(arg0, arg1);
+}
+
+class ObjCBlock_bool_NSUInteger_bool extends _ObjCBlockBase {
+  ObjCBlock_bool_NSUInteger_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_NSUInteger_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<
+                  ffi
+                      .Bool
+                      Function(NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                                NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_bool_NSUInteger_bool_fnPtrTrampoline, false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_NSUInteger_bool.fromFunction(PedometerBindings lib,
+      bool Function(int arg0, ffi.Pointer<ffi.Bool> arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                                NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_bool_NSUInteger_bool_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_NSUInteger_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(int arg0, ffi.Pointer<ffi.Bool> arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                    NSUInteger arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+        .asFunction<
+            bool Function(ffi.Pointer<_ObjCBlock> block, int arg0,
+                ffi.Pointer<ffi.Bool> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSRange_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, NSRange arg0, ffi.Pointer<ffi.Bool> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(NSRange arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+      .asFunction<
+          void Function(
+              NSRange arg0, ffi.Pointer<ffi.Bool> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_NSRange_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSRange_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSRange_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSRange_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSRange_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSRange_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, NSRange arg0, ffi.Pointer<ffi.Bool> arg1) {
+  (_ObjCBlock_ffiVoid_NSRange_bool_closureRegistry[block.ref.target.address]
+      as void Function(NSRange, ffi.Pointer<ffi.Bool>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_NSRange_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSRange_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSRange_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(NSRange arg0, ffi.Pointer<ffi.Bool> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                NSRange arg0, ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_NSRange_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSRange_bool.fromFunction(PedometerBindings lib,
+      void Function(NSRange arg0, ffi.Pointer<ffi.Bool> arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                NSRange arg0, ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_NSRange_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSRange_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSRange_bool.listener(PedometerBindings lib,
+      void Function(NSRange arg0, ffi.Pointer<ffi.Bool> arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                NSRange arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_NSRange_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSRange_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(ffi.Pointer<_ObjCBlock> block, NSRange arg0,
+          ffi.Pointer<ffi.Bool> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(NSRange arg0, ffi.Pointer<ffi.Bool> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block, NSRange arg0,
+                    ffi.Pointer<ffi.Bool> arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, NSRange arg0,
+                ffi.Pointer<ffi.Bool> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, NSUInteger arg1,
+                  ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_registerClosure(Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  (_ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, int,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      NSUInteger arg1, ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSUInteger arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSUInteger arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSUInteger arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          NSUInteger arg1,
+          ffi.Pointer<ffi.Bool> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ObjCObject> arg0, int arg1, ffi.Pointer<ffi.Bool> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    NSUInteger arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                int arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+bool _ObjCBlock_bool_ObjCObject_NSUInteger_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(ffi.Pointer<ObjCObject> arg0, NSUInteger arg1,
+                  ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          bool Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_bool_ObjCObject_NSUInteger_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_bool_ObjCObject_NSUInteger_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_bool_ObjCObject_NSUInteger_bool_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_bool_ObjCObject_NSUInteger_bool_closureRegistryIndex;
+  _ObjCBlock_bool_ObjCObject_NSUInteger_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_ObjCObject_NSUInteger_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    int arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  return (_ObjCBlock_bool_ObjCObject_NSUInteger_bool_closureRegistry[
+          block.ref.target.address]
+      as bool Function(ffi.Pointer<ObjCObject>, int,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_bool_ObjCObject_NSUInteger_bool extends _ObjCBlockBase {
+  ObjCBlock_bool_ObjCObject_NSUInteger_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_NSUInteger_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<
+                  ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                      NSUInteger arg1, ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSUInteger arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_bool_ObjCObject_NSUInteger_bool_fnPtrTrampoline,
+                        false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_NSUInteger_bool.fromFunction(
+      PedometerBindings lib,
+      bool Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSUInteger arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_bool_ObjCObject_NSUInteger_bool_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_ObjCObject_NSUInteger_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(
+      ffi.Pointer<ObjCObject> arg0, int arg1, ffi.Pointer<ffi.Bool> arg2) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    NSUInteger arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                int arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+typedef NSComparator = ffi.Pointer<_ObjCBlock>;
+int _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Int32 Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          int Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_closureRegistryIndex;
+  _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+int _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return (_ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_closureRegistry[
+          block.ref.target.address]
+      as int Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject
+    extends _ObjCBlockBase {
+  ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Int32 Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Int32 Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_fnPtrTrampoline,
+                        0)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject.fromFunction(
+      PedometerBindings lib,
+      int Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Int32 Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_closureTrampoline,
+                        0)
+                    .cast(),
+                _ObjCBlock_NSComparisonResult_ObjCObject_ObjCObject_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  int call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Int32 Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            int Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+abstract class NSComparisonResult {
+  static const int NSOrderedAscending = -1;
+  static const int NSOrderedSame = 0;
+  static const int NSOrderedDescending = 1;
+}
+
+abstract class NSSortOptions {
+  static const int NSSortConcurrent = 1;
+  static const int NSSortStable = 16;
+}
+
+abstract class NSBinarySearchingOptions {
+  static const int NSBinarySearchingFirstEqual = 256;
+  static const int NSBinarySearchingLastEqual = 512;
+  static const int NSBinarySearchingInsertionIndex = 1024;
+}
+
+/// Options supported by methods that produce difference objects.
+abstract class NSOrderedCollectionDifferenceCalculationOptions {
+  /// Insertion changes do not store a reference to the inserted object.
+  static const int NSOrderedCollectionDifferenceCalculationOmitInsertedObjects =
+      1;
+
+  /// Insertion changes do not store a reference to the removed object.
+  static const int NSOrderedCollectionDifferenceCalculationOmitRemovedObjects =
+      2;
+
+  /// Assume objects that were uniquely removed and inserted were moved.
+  /// This is useful when diffing based on identity instead of equality.
+  static const int NSOrderedCollectionDifferenceCalculationInferMoves = 4;
+}
+
+bool _ObjCBlock_bool_ObjCObject_ObjCObject_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          bool Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_bool_ObjCObject_ObjCObject_closureRegistry = <int, Function>{};
+int _ObjCBlock_bool_ObjCObject_ObjCObject_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_bool_ObjCObject_ObjCObject_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_bool_ObjCObject_ObjCObject_closureRegistryIndex;
+  _ObjCBlock_bool_ObjCObject_ObjCObject_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_ObjCObject_ObjCObject_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return (_ObjCBlock_bool_ObjCObject_ObjCObject_closureRegistry[
+          block.ref.target.address]
+      as bool Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_bool_ObjCObject_ObjCObject extends _ObjCBlockBase {
+  ObjCBlock_bool_ObjCObject_ObjCObject._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_ObjCObject.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<
+                  ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_bool_ObjCObject_ObjCObject_fnPtrTrampoline,
+                        false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_ObjCObject.fromFunction(
+      PedometerBindings lib,
+      bool Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_bool_ObjCObject_ObjCObject_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_ObjCObject_ObjCObject_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+abstract class NSKeyValueObservingOptions {
+  static const int NSKeyValueObservingOptionNew = 1;
+  static const int NSKeyValueObservingOptionOld = 2;
+  static const int NSKeyValueObservingOptionInitial = 4;
+  static const int NSKeyValueObservingOptionPrior = 8;
+}
+
+class NSPredicate extends NSObject {
+  NSPredicate._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSPredicate] that points to the same underlying object as [other].
+  static NSPredicate castFrom<T extends _ObjCWrapper>(T other) {
+    return NSPredicate._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSPredicate] that wraps the given raw object pointer.
+  static NSPredicate castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSPredicate._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSPredicate].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSPredicate1);
+  }
+
+  static NSPredicate predicateWithFormat_argumentArray_(
+      PedometerBindings _lib, NSString? predicateFormat, NSArray? arguments) {
+    final _ret = _lib._objc_msgSend_124(
+        _lib._class_NSPredicate1,
+        _lib._sel_predicateWithFormat_argumentArray_1,
+        predicateFormat?._id ?? ffi.nullptr,
+        arguments?._id ?? ffi.nullptr);
+    return NSPredicate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPredicate predicateWithFormat_(
+      PedometerBindings _lib, NSString? predicateFormat) {
+    final _ret = _lib._objc_msgSend_125(_lib._class_NSPredicate1,
+        _lib._sel_predicateWithFormat_1, predicateFormat?._id ?? ffi.nullptr);
+    return NSPredicate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPredicate predicateWithFormat_arguments_(PedometerBindings _lib,
+      NSString? predicateFormat, ffi.Pointer<__va_list_tag> argList) {
+    final _ret = _lib._objc_msgSend_126(
+        _lib._class_NSPredicate1,
+        _lib._sel_predicateWithFormat_arguments_1,
+        predicateFormat?._id ?? ffi.nullptr,
+        argList);
+    return NSPredicate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPredicate predicateFromMetadataQueryString_(
+      PedometerBindings _lib, NSString? queryString) {
+    final _ret = _lib._objc_msgSend_125(
+        _lib._class_NSPredicate1,
+        _lib._sel_predicateFromMetadataQueryString_1,
+        queryString?._id ?? ffi.nullptr);
+    return NSPredicate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPredicate predicateWithValue_(PedometerBindings _lib, bool value) {
+    final _ret = _lib._objc_msgSend_127(
+        _lib._class_NSPredicate1, _lib._sel_predicateWithValue_1, value);
+    return NSPredicate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPredicate predicateWithBlock_(
+      PedometerBindings _lib, ObjCBlock_bool_ObjCObject_NSDictionary block) {
+    final _ret = _lib._objc_msgSend_156(
+        _lib._class_NSPredicate1, _lib._sel_predicateWithBlock_1, block._id);
+    return NSPredicate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get predicateFormat {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_predicateFormat1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSPredicate predicateWithSubstitutionVariables_(NSDictionary? variables) {
+    final _ret = _lib._objc_msgSend_140(
+        _id,
+        _lib._sel_predicateWithSubstitutionVariables_1,
+        variables?._id ?? ffi.nullptr);
+    return NSPredicate._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool evaluateWithObject_(NSObject object) {
+    return _lib._objc_msgSend_0(
+        _id, _lib._sel_evaluateWithObject_1, object._id);
+  }
+
+  bool evaluateWithObject_substitutionVariables_(
+      NSObject object, NSDictionary? bindings) {
+    return _lib._objc_msgSend_157(
+        _id,
+        _lib._sel_evaluateWithObject_substitutionVariables_1,
+        object._id,
+        bindings?._id ?? ffi.nullptr);
+  }
+
+  void allowEvaluation() {
+    _lib._objc_msgSend_1(_id, _lib._sel_allowEvaluation1);
+  }
+
+  static NSPredicate new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSPredicate1, _lib._sel_new1);
+    return NSPredicate._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSPredicate alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSPredicate1, _lib._sel_alloc1);
+    return NSPredicate._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSPredicate1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSPredicate1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSPredicate1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSPredicate1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSPredicate1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSPredicate1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSPredicate1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+bool _ObjCBlock_bool_ObjCObject_NSDictionary_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          bool Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_bool_ObjCObject_NSDictionary_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_bool_ObjCObject_NSDictionary_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_bool_ObjCObject_NSDictionary_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_bool_ObjCObject_NSDictionary_closureRegistryIndex;
+  _ObjCBlock_bool_ObjCObject_NSDictionary_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_ObjCObject_NSDictionary_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return (_ObjCBlock_bool_ObjCObject_NSDictionary_closureRegistry[
+          block.ref.target.address]
+      as bool Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_bool_ObjCObject_NSDictionary extends _ObjCBlockBase {
+  ObjCBlock_bool_ObjCObject_NSDictionary._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_NSDictionary.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<
+                  ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_bool_ObjCObject_NSDictionary_fnPtrTrampoline,
+                        false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_NSDictionary.fromFunction(
+      PedometerBindings lib,
+      bool Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_bool_ObjCObject_NSDictionary_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_ObjCObject_NSDictionary_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+/// Immutable Dictionary
+class NSDictionary extends NSObject {
+  NSDictionary._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSDictionary] that points to the same underlying object as [other].
+  static NSDictionary castFrom<T extends _ObjCWrapper>(T other) {
+    return NSDictionary._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSDictionary] that wraps the given raw object pointer.
+  static NSDictionary castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSDictionary._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSDictionary].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDictionary1);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  NSObject objectForKey_(NSObject aKey) {
+    final _ret = _lib._objc_msgSend_16(_id, _lib._sel_objectForKey_1, aKey._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator keyEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_keyEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSDictionary init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithObjects_forKeys_count_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> keys,
+      int cnt) {
+    final _ret = _lib._objc_msgSend_128(
+        _id, _lib._sel_initWithObjects_forKeys_count_1, objects, keys, cnt);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get allKeys {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_allKeys1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray allKeysForObject_(NSObject anObject) {
+    final _ret =
+        _lib._objc_msgSend_54(_id, _lib._sel_allKeysForObject_1, anObject._id);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get allValues {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_allValues1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get descriptionInStringsFileFormat {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_descriptionInStringsFileFormat1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_(NSObject locale) {
+    final _ret = _lib._objc_msgSend_57(
+        _id, _lib._sel_descriptionWithLocale_1, locale._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_indent_(NSObject locale, int level) {
+    final _ret = _lib._objc_msgSend_58(
+        _id, _lib._sel_descriptionWithLocale_indent_1, locale._id, level);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool isEqualToDictionary_(NSDictionary? otherDictionary) {
+    return _lib._objc_msgSend_129(_id, _lib._sel_isEqualToDictionary_1,
+        otherDictionary?._id ?? ffi.nullptr);
+  }
+
+  NSEnumerator objectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_objectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray objectsForKeys_notFoundMarker_(NSArray? keys, NSObject marker) {
+    final _ret = _lib._objc_msgSend_130(
+        _id,
+        _lib._sel_objectsForKeys_notFoundMarker_1,
+        keys?._id ?? ffi.nullptr,
+        marker._id);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool writeToURL_error_(
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_74(
+        _id, _lib._sel_writeToURL_error_1, url?._id ?? ffi.nullptr, error);
+  }
+
+  NSArray keysSortedByValueUsingSelector_(ffi.Pointer<ObjCSel> comparator) {
+    final _ret = _lib._objc_msgSend_67(
+        _id, _lib._sel_keysSortedByValueUsingSelector_1, comparator);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getObjects_andKeys_count_(ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> keys, int count) {
+    _lib._objc_msgSend_131(
+        _id, _lib._sel_getObjects_andKeys_count_1, objects, keys, count);
+  }
+
+  NSObject objectForKeyedSubscript_(NSObject key) {
+    final _ret = _lib._objc_msgSend_16(
+        _id, _lib._sel_objectForKeyedSubscript_1, key._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateKeysAndObjectsUsingBlock_(
+      ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool block) {
+    _lib._objc_msgSend_132(
+        _id, _lib._sel_enumerateKeysAndObjectsUsingBlock_1, block._id);
+  }
+
+  void enumerateKeysAndObjectsWithOptions_usingBlock_(
+      int opts, ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool block) {
+    _lib._objc_msgSend_133(
+        _id,
+        _lib._sel_enumerateKeysAndObjectsWithOptions_usingBlock_1,
+        opts,
+        block._id);
+  }
+
+  NSArray keysSortedByValueUsingComparator_(NSComparator cmptr) {
+    final _ret = _lib._objc_msgSend_106(
+        _id, _lib._sel_keysSortedByValueUsingComparator_1, cmptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray keysSortedByValueWithOptions_usingComparator_(
+      int opts, NSComparator cmptr) {
+    final _ret = _lib._objc_msgSend_107(_id,
+        _lib._sel_keysSortedByValueWithOptions_usingComparator_1, opts, cmptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject keysOfEntriesPassingTest_(
+      ObjCBlock_bool_ObjCObject_ObjCObject_bool predicate) {
+    final _ret = _lib._objc_msgSend_134(
+        _id, _lib._sel_keysOfEntriesPassingTest_1, predicate._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject keysOfEntriesWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_ObjCObject_ObjCObject_bool predicate) {
+    final _ret = _lib._objc_msgSend_135(_id,
+        _lib._sel_keysOfEntriesWithOptions_passingTest_1, opts, predicate._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// This method is unsafe because it could potentially cause buffer overruns. You should use -getObjects:andKeys:count:
+  void getObjects_andKeys_(ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> keys) {
+    _lib._objc_msgSend_136(_id, _lib._sel_getObjects_andKeys_1, objects, keys);
+  }
+
+  static NSDictionary dictionaryWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_137(_lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithContentsOfURL_(
+      PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_138(_lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithContentsOfFile_(NSString? path) {
+    final _ret = _lib._objc_msgSend_137(
+        _id, _lib._sel_initWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithContentsOfURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_138(
+        _id, _lib._sel_initWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool writeToFile_atomically_(NSString? path, bool useAuxiliaryFile) {
+    return _lib._objc_msgSend_25(_id, _lib._sel_writeToFile_atomically_1,
+        path?._id ?? ffi.nullptr, useAuxiliaryFile);
+  }
+
+  bool writeToURL_atomically_(NSURL? url, bool atomically) {
+    return _lib._objc_msgSend_116(_id, _lib._sel_writeToURL_atomically_1,
+        url?._id ?? ffi.nullptr, atomically);
+  }
+
+  static NSDictionary dictionary(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_dictionary1);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithObject_forKey_(
+      PedometerBindings _lib, NSObject object, NSObject key) {
+    final _ret = _lib._objc_msgSend_139(_lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithObject_forKey_1, object._id, key._id);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithObjects_forKeys_count_(
+      PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> keys,
+      int cnt) {
+    final _ret = _lib._objc_msgSend_128(_lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithObjects_forKeys_count_1, objects, keys, cnt);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithObjectsAndKeys_(
+      PedometerBindings _lib, NSObject firstObject) {
+    final _ret = _lib._objc_msgSend_16(_lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithObjectsAndKeys_1, firstObject._id);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithDictionary_(
+      PedometerBindings _lib, NSDictionary? dict) {
+    final _ret = _lib._objc_msgSend_140(_lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithDictionary_1, dict?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithObjects_forKeys_(
+      PedometerBindings _lib, NSArray? objects, NSArray? keys) {
+    final _ret = _lib._objc_msgSend_141(
+        _lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithObjects_forKeys_1,
+        objects?._id ?? ffi.nullptr,
+        keys?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithObjectsAndKeys_(NSObject firstObject) {
+    final _ret = _lib._objc_msgSend_16(
+        _id, _lib._sel_initWithObjectsAndKeys_1, firstObject._id);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithDictionary_(NSDictionary? otherDictionary) {
+    final _ret = _lib._objc_msgSend_140(_id, _lib._sel_initWithDictionary_1,
+        otherDictionary?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithDictionary_copyItems_(
+      NSDictionary? otherDictionary, bool flag) {
+    final _ret = _lib._objc_msgSend_142(
+        _id,
+        _lib._sel_initWithDictionary_copyItems_1,
+        otherDictionary?._id ?? ffi.nullptr,
+        flag);
+    return NSDictionary._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSDictionary initWithObjects_forKeys_(NSArray? objects, NSArray? keys) {
+    final _ret = _lib._objc_msgSend_141(
+        _id,
+        _lib._sel_initWithObjects_forKeys_1,
+        objects?._id ?? ffi.nullptr,
+        keys?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary initWithContentsOfURL_error_(
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_143(
+        _id,
+        _lib._sel_initWithContentsOfURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithContentsOfURL_error_(PedometerBindings _lib,
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_143(
+        _lib._class_NSDictionary1,
+        _lib._sel_dictionaryWithContentsOfURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject sharedKeySetForKeys_(PedometerBindings _lib, NSArray? keys) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSDictionary1,
+        _lib._sel_sharedKeySetForKeys_1, keys?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  int countByEnumeratingWithState_objects_count_(
+      ffi.Pointer<NSFastEnumerationState> state,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> buffer,
+      int len) {
+    return _lib._objc_msgSend_144(
+        _id,
+        _lib._sel_countByEnumeratingWithState_objects_count_1,
+        state,
+        buffer,
+        len);
+  }
+
+  int fileSize() {
+    return _lib._objc_msgSend_145(_id, _lib._sel_fileSize1);
+  }
+
+  NSDate fileModificationDate() {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_fileModificationDate1);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString fileType() {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_fileType1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int filePosixPermissions() {
+    return _lib._objc_msgSend_10(_id, _lib._sel_filePosixPermissions1);
+  }
+
+  NSString fileOwnerAccountName() {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_fileOwnerAccountName1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString fileGroupOwnerAccountName() {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_fileGroupOwnerAccountName1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int fileSystemNumber() {
+    return _lib._objc_msgSend_70(_id, _lib._sel_fileSystemNumber1);
+  }
+
+  int fileSystemFileNumber() {
+    return _lib._objc_msgSend_10(_id, _lib._sel_fileSystemFileNumber1);
+  }
+
+  bool fileExtensionHidden() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_fileExtensionHidden1);
+  }
+
+  int fileHFSCreatorCode() {
+    return _lib._objc_msgSend_154(_id, _lib._sel_fileHFSCreatorCode1);
+  }
+
+  int fileHFSTypeCode() {
+    return _lib._objc_msgSend_154(_id, _lib._sel_fileHFSTypeCode1);
+  }
+
+  bool fileIsImmutable() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_fileIsImmutable1);
+  }
+
+  bool fileIsAppendOnly() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_fileIsAppendOnly1);
+  }
+
+  NSDate fileCreationDate() {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_fileCreationDate1);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber fileOwnerAccountID() {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_fileOwnerAccountID1);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber fileGroupOwnerAccountID() {
+    final _ret =
+        _lib._objc_msgSend_155(_id, _lib._sel_fileGroupOwnerAccountID1);
+    return NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSObject valueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_valueForKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_new1);
+    return NSDictionary._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSDictionary alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_alloc1);
+    return NSDictionary._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSDictionary1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSDictionary1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSDictionary1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSDictionary1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSDictionary1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSDictionary1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSDictionary1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1, ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          void Function(
+              ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_registerClosure(Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  (_ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1,
+                      ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_ObjCObject_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1,
+          ffi.Pointer<ffi.Bool> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+      ffi.Pointer<ffi.Bool> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+bool _ObjCBlock_bool_ObjCObject_ObjCObject_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1, ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          bool Function(
+              ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_bool_ObjCObject_ObjCObject_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_bool_ObjCObject_ObjCObject_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_bool_ObjCObject_ObjCObject_bool_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_bool_ObjCObject_ObjCObject_bool_closureRegistryIndex;
+  _ObjCBlock_bool_ObjCObject_ObjCObject_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_ObjCObject_ObjCObject_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  return (_ObjCBlock_bool_ObjCObject_ObjCObject_bool_closureRegistry[
+          block.ref.target.address]
+      as bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_bool_ObjCObject_ObjCObject_bool extends _ObjCBlockBase {
+  ObjCBlock_bool_ObjCObject_ObjCObject_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_ObjCObject_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Bool Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1, ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_bool_ObjCObject_ObjCObject_bool_fnPtrTrampoline,
+                        false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_ObjCObject_bool.fromFunction(
+      PedometerBindings lib,
+      bool Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_bool_ObjCObject_ObjCObject_bool_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_ObjCObject_ObjCObject_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+      ffi.Pointer<ffi.Bool> arg2) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+final class NSFastEnumerationState extends ffi.Struct {
+  @ffi.UnsignedLong()
+  external int state;
+
+  external ffi.Pointer<ffi.Pointer<ObjCObject>> itemsPtr;
+
+  external ffi.Pointer<ffi.UnsignedLong> mutationsPtr;
+
+  @ffi.Array.multi([5])
+  external ffi.Array<ffi.UnsignedLong> extra;
+}
+
+class NSDate extends NSObject {
+  NSDate._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSDate] that points to the same underlying object as [other].
+  static NSDate castFrom<T extends _ObjCWrapper>(T other) {
+    return NSDate._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSDate] that wraps the given raw object pointer.
+  static NSDate castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSDate._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSDate].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDate1);
+  }
+
+  double get timeIntervalSinceReferenceDate {
+    return _lib._objc_msgSend_146(
+        _id, _lib._sel_timeIntervalSinceReferenceDate1);
+  }
+
+  @override
+  NSDate init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate initWithTimeIntervalSinceReferenceDate_(double ti) {
+    final _ret = _lib._objc_msgSend_147(
+        _id, _lib._sel_initWithTimeIntervalSinceReferenceDate_1, ti);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  double timeIntervalSinceDate_(NSDate? anotherDate) {
+    return _lib._objc_msgSend_148(_id, _lib._sel_timeIntervalSinceDate_1,
+        anotherDate?._id ?? ffi.nullptr);
+  }
+
+  double get timeIntervalSinceNow {
+    return _lib._objc_msgSend_146(_id, _lib._sel_timeIntervalSinceNow1);
+  }
+
+  double get timeIntervalSince1970 {
+    return _lib._objc_msgSend_146(_id, _lib._sel_timeIntervalSince19701);
+  }
+
+  NSObject addTimeInterval_(double seconds) {
+    final _ret =
+        _lib._objc_msgSend_147(_id, _lib._sel_addTimeInterval_1, seconds);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate dateByAddingTimeInterval_(double ti) {
+    final _ret =
+        _lib._objc_msgSend_147(_id, _lib._sel_dateByAddingTimeInterval_1, ti);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate earlierDate_(NSDate? anotherDate) {
+    final _ret = _lib._objc_msgSend_149(
+        _id, _lib._sel_earlierDate_1, anotherDate?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate laterDate_(NSDate? anotherDate) {
+    final _ret = _lib._objc_msgSend_149(
+        _id, _lib._sel_laterDate_1, anotherDate?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  int compare_(NSDate? other) {
+    return _lib._objc_msgSend_150(
+        _id, _lib._sel_compare_1, other?._id ?? ffi.nullptr);
+  }
+
+  bool isEqualToDate_(NSDate? otherDate) {
+    return _lib._objc_msgSend_151(
+        _id, _lib._sel_isEqualToDate_1, otherDate?._id ?? ffi.nullptr);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_(NSObject locale) {
+    final _ret = _lib._objc_msgSend_57(
+        _id, _lib._sel_descriptionWithLocale_1, locale._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate date(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSDate1, _lib._sel_date1);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate dateWithTimeIntervalSinceNow_(
+      PedometerBindings _lib, double secs) {
+    final _ret = _lib._objc_msgSend_147(
+        _lib._class_NSDate1, _lib._sel_dateWithTimeIntervalSinceNow_1, secs);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate dateWithTimeIntervalSinceReferenceDate_(
+      PedometerBindings _lib, double ti) {
+    final _ret = _lib._objc_msgSend_147(_lib._class_NSDate1,
+        _lib._sel_dateWithTimeIntervalSinceReferenceDate_1, ti);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate dateWithTimeIntervalSince1970_(
+      PedometerBindings _lib, double secs) {
+    final _ret = _lib._objc_msgSend_147(
+        _lib._class_NSDate1, _lib._sel_dateWithTimeIntervalSince1970_1, secs);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate dateWithTimeInterval_sinceDate_(
+      PedometerBindings _lib, double secsToBeAdded, NSDate? date) {
+    final _ret = _lib._objc_msgSend_152(
+        _lib._class_NSDate1,
+        _lib._sel_dateWithTimeInterval_sinceDate_1,
+        secsToBeAdded,
+        date?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate? getDistantFuture(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_153(_lib._class_NSDate1, _lib._sel_distantFuture1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate? getDistantPast(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_153(_lib._class_NSDate1, _lib._sel_distantPast1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate? getNow(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_153(_lib._class_NSDate1, _lib._sel_now1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate initWithTimeIntervalSinceNow_(double secs) {
+    final _ret = _lib._objc_msgSend_147(
+        _id, _lib._sel_initWithTimeIntervalSinceNow_1, secs);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate initWithTimeIntervalSince1970_(double secs) {
+    final _ret = _lib._objc_msgSend_147(
+        _id, _lib._sel_initWithTimeIntervalSince1970_1, secs);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate initWithTimeInterval_sinceDate_(double secsToBeAdded, NSDate? date) {
+    final _ret = _lib._objc_msgSend_152(
+        _id,
+        _lib._sel_initWithTimeInterval_sinceDate_1,
+        secsToBeAdded,
+        date?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDate new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSDate1, _lib._sel_new1);
+    return NSDate._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSDate alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSDate1, _lib._sel_alloc1);
+    return NSDate._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSDate1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSDate1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSDate1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSDate1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSDate1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSDate1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSDate1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSTimeInterval = ffi.Double;
+typedef OSType = FourCharCode;
+typedef FourCharCode = UInt32;
+typedef NSURLResourceKey = ffi.Pointer<ObjCObject>;
+
+abstract class NSURLBookmarkCreationOptions {
+  static const int NSURLBookmarkCreationPreferFileIDResolution = 256;
+  static const int NSURLBookmarkCreationMinimalBookmark = 512;
+  static const int NSURLBookmarkCreationSuitableForBookmarkFile = 1024;
+  static const int NSURLBookmarkCreationWithSecurityScope = 2048;
+  static const int NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess = 4096;
+  static const int NSURLBookmarkCreationWithoutImplicitSecurityScope =
+      536870912;
+}
+
+abstract class NSURLBookmarkResolutionOptions {
+  static const int NSURLBookmarkResolutionWithoutUI = 256;
+  static const int NSURLBookmarkResolutionWithoutMounting = 512;
+  static const int NSURLBookmarkResolutionWithSecurityScope = 1024;
+  static const int NSURLBookmarkResolutionWithoutImplicitStartAccessing = 32768;
+}
+
+typedef NSURLBookmarkFileCreationOptions = NSUInteger;
+
+abstract class NSDataWritingOptions {
+  static const int NSDataWritingAtomic = 1;
+  static const int NSDataWritingWithoutOverwriting = 2;
+  static const int NSDataWritingFileProtectionNone = 268435456;
+  static const int NSDataWritingFileProtectionComplete = 536870912;
+  static const int NSDataWritingFileProtectionCompleteUnlessOpen = 805306368;
+  static const int
+      NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication =
+      1073741824;
+  static const int NSDataWritingFileProtectionMask = 4026531840;
+  static const int NSAtomicWrite = 1;
+}
+
+/// Data Search Options
+abstract class NSDataSearchOptions {
+  static const int NSDataSearchBackwards = 1;
+  static const int NSDataSearchAnchored = 2;
+}
+
+void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ffi.Void> arg0,
+    NSRange arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ffi.Void> arg0, NSRange arg1,
+                  ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ffi.Void> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ffi.Void> arg0,
+    NSRange arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  (_ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ffi.Void>, NSRange,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_ffiVoid_NSRange_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ffiVoid_NSRange_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ffi.Void> arg0, NSRange arg1,
+                      ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ffi.Void> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ffi.Void> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ffi.Void> arg0,
+          NSRange arg1,
+          ffi.Pointer<ffi.Bool> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ffi.Void> arg0, NSRange arg1, ffi.Pointer<ffi.Bool> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ffi.Void> arg0,
+                    NSRange arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ffi.Void> arg0,
+                NSRange arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+/// Read/Write Options
+abstract class NSDataReadingOptions {
+  static const int NSDataReadingMappedIfSafe = 1;
+  static const int NSDataReadingUncached = 2;
+  static const int NSDataReadingMappedAlways = 8;
+  static const int NSDataReadingMapped = 1;
+  static const int NSMappedRead = 1;
+  static const int NSUncachedRead = 2;
+}
+
+void _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ffi.Void> arg0, int arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ffi.Void> arg0, NSUInteger arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ffi.Void> arg0, int arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ffi.Void> arg0, int arg1) {
+  (_ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureRegistry[block.ref.target
+      .address] as void Function(ffi.Pointer<ffi.Void>, int))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_ffiVoid_NSUInteger extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ffiVoid_NSUInteger._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiVoid_NSUInteger.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ffi.Void> arg0, NSUInteger arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0, NSUInteger arg1)>(
+                        _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiVoid_NSUInteger.fromFunction(PedometerBindings lib,
+      void Function(ffi.Pointer<ffi.Void> arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0, NSUInteger arg1)>(
+                        _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ffiVoid_NSUInteger.listener(PedometerBindings lib,
+      void Function(ffi.Pointer<ffi.Void> arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Void> arg0,
+                                NSUInteger arg1)>.listener(
+                        _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiVoid_NSUInteger_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ffi.Void> arg0,
+          NSUInteger arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ffi.Void> arg0, int arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ffi.Void> arg0, NSUInteger arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ffi.Void> arg0, int arg1)>()(_id, arg0, arg1);
+  }
+}
+
+abstract class NSDataBase64DecodingOptions {
+  static const int NSDataBase64DecodingIgnoreUnknownCharacters = 1;
+}
+
+/// Base 64 Options
+abstract class NSDataBase64EncodingOptions {
+  static const int NSDataBase64Encoding64CharacterLineLength = 1;
+  static const int NSDataBase64Encoding76CharacterLineLength = 2;
+  static const int NSDataBase64EncodingEndLineWithCarriageReturn = 16;
+  static const int NSDataBase64EncodingEndLineWithLineFeed = 32;
+}
+
+abstract class NSDataCompressionAlgorithm {
+  static const int NSDataCompressionAlgorithmLZFSE = 0;
+  static const int NSDataCompressionAlgorithmLZ4 = 1;
+  static const int NSDataCompressionAlgorithmLZMA = 2;
+  static const int NSDataCompressionAlgorithmZlib = 3;
+}
+
+typedef NSZone = _NSZone;
+
+/// !
+/// Describes the action an NSCoder should take when it encounters decode failures (e.g. corrupt data) for non-TopLevel decodes.
+abstract class NSDecodingFailurePolicy {
+  static const int NSDecodingFailurePolicyRaiseException = 0;
+  static const int NSDecodingFailurePolicySetErrorAndReturn = 1;
+}
+
+abstract class NSStringCompareOptions {
+  static const int NSCaseInsensitiveSearch = 1;
+  static const int NSLiteralSearch = 2;
+  static const int NSBackwardsSearch = 4;
+  static const int NSAnchoredSearch = 8;
+  static const int NSNumericSearch = 64;
+  static const int NSDiacriticInsensitiveSearch = 128;
+  static const int NSWidthInsensitiveSearch = 256;
+  static const int NSForcedOrderingSearch = 512;
+  static const int NSRegularExpressionSearch = 1024;
+}
+
+class NSLocale extends NSObject {
+  NSLocale._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSLocale] that points to the same underlying object as [other].
+  static NSLocale castFrom<T extends _ObjCWrapper>(T other) {
+    return NSLocale._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSLocale] that wraps the given raw object pointer.
+  static NSLocale castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSLocale._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSLocale].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSLocale1);
+  }
+
+  NSObject objectForKey_(NSLocaleKey key) {
+    final _ret = _lib._objc_msgSend_30(_id, _lib._sel_objectForKey_1, key);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString displayNameForKey_value_(NSLocaleKey key, NSObject value) {
+    final _ret = _lib._objc_msgSend_259(
+        _id, _lib._sel_displayNameForKey_value_1, key, value._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSLocale initWithLocaleIdentifier_(NSString? string) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithLocaleIdentifier_1, string?._id ?? ffi.nullptr);
+    return NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSLocale initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get localeIdentifier {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_localeIdentifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForLocaleIdentifier_(NSString? localeIdentifier) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForLocaleIdentifier_1,
+        localeIdentifier?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get languageCode {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_languageCode1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForLanguageCode_(NSString? languageCode) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForLanguageCode_1,
+        languageCode?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get countryCode {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_countryCode1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForCountryCode_(NSString? countryCode) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForCountryCode_1,
+        countryCode?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get scriptCode {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_scriptCode1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForScriptCode_(NSString? scriptCode) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForScriptCode_1,
+        scriptCode?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get variantCode {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_variantCode1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForVariantCode_(NSString? variantCode) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForVariantCode_1,
+        variantCode?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSCharacterSet? get exemplarCharacterSet {
+    final _ret = _lib._objc_msgSend_260(_id, _lib._sel_exemplarCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get calendarIdentifier {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_calendarIdentifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForCalendarIdentifier_(NSString? calendarIdentifier) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForCalendarIdentifier_1,
+        calendarIdentifier?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get collationIdentifier {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_collationIdentifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForCollationIdentifier_(
+      NSString? collationIdentifier) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForCollationIdentifier_1,
+        collationIdentifier?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool get usesMetricSystem {
+    return _lib._objc_msgSend_12(_id, _lib._sel_usesMetricSystem1);
+  }
+
+  NSString? get decimalSeparator {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_decimalSeparator1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get groupingSeparator {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_groupingSeparator1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get currencySymbol {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_currencySymbol1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get currencyCode {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_currencyCode1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForCurrencyCode_(NSString? currencyCode) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForCurrencyCode_1,
+        currencyCode?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get collatorIdentifier {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_collatorIdentifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForCollatorIdentifier_(NSString? collatorIdentifier) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_localizedStringForCollatorIdentifier_1,
+        collatorIdentifier?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get quotationBeginDelimiter {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_quotationBeginDelimiter1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get quotationEndDelimiter {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_quotationEndDelimiter1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get alternateQuotationBeginDelimiter {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_alternateQuotationBeginDelimiter1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get alternateQuotationEndDelimiter {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_alternateQuotationEndDelimiter1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSLocale? getAutoupdatingCurrentLocale(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_268(
+        _lib._class_NSLocale1, _lib._sel_autoupdatingCurrentLocale1);
+    return _ret.address == 0
+        ? null
+        : NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSLocale? getCurrentLocale(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_268(_lib._class_NSLocale1, _lib._sel_currentLocale1);
+    return _ret.address == 0
+        ? null
+        : NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSLocale? getSystemLocale(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_268(_lib._class_NSLocale1, _lib._sel_systemLocale1);
+    return _ret.address == 0
+        ? null
+        : NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSLocale localeWithLocaleIdentifier_(
+      PedometerBindings _lib, NSString? ident) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSLocale1,
+        _lib._sel_localeWithLocaleIdentifier_1, ident?._id ?? ffi.nullptr);
+    return NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSLocale init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getAvailableLocaleIdentifiers(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSLocale1, _lib._sel_availableLocaleIdentifiers1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getISOLanguageCodes(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSLocale1, _lib._sel_ISOLanguageCodes1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getISOCountryCodes(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSLocale1, _lib._sel_ISOCountryCodes1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getISOCurrencyCodes(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSLocale1, _lib._sel_ISOCurrencyCodes1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getCommonISOCurrencyCodes(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSLocale1, _lib._sel_commonISOCurrencyCodes1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getPreferredLanguages(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSLocale1, _lib._sel_preferredLanguages1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary componentsFromLocaleIdentifier_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_137(_lib._class_NSLocale1,
+        _lib._sel_componentsFromLocaleIdentifier_1, string?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString localeIdentifierFromComponents_(
+      PedometerBindings _lib, NSDictionary? dict) {
+    final _ret = _lib._objc_msgSend_269(_lib._class_NSLocale1,
+        _lib._sel_localeIdentifierFromComponents_1, dict?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString canonicalLocaleIdentifierFromString_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_56(
+        _lib._class_NSLocale1,
+        _lib._sel_canonicalLocaleIdentifierFromString_1,
+        string?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString canonicalLanguageIdentifierFromString_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_56(
+        _lib._class_NSLocale1,
+        _lib._sel_canonicalLanguageIdentifierFromString_1,
+        string?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString localeIdentifierFromWindowsLocaleCode_(
+      PedometerBindings _lib, int lcid) {
+    final _ret = _lib._objc_msgSend_270(_lib._class_NSLocale1,
+        _lib._sel_localeIdentifierFromWindowsLocaleCode_1, lcid);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static int windowsLocaleCodeFromLocaleIdentifier_(
+      PedometerBindings _lib, NSString? localeIdentifier) {
+    return _lib._objc_msgSend_271(
+        _lib._class_NSLocale1,
+        _lib._sel_windowsLocaleCodeFromLocaleIdentifier_1,
+        localeIdentifier?._id ?? ffi.nullptr);
+  }
+
+  static int characterDirectionForLanguage_(
+      PedometerBindings _lib, NSString? isoLangCode) {
+    return _lib._objc_msgSend_272(
+        _lib._class_NSLocale1,
+        _lib._sel_characterDirectionForLanguage_1,
+        isoLangCode?._id ?? ffi.nullptr);
+  }
+
+  static int lineDirectionForLanguage_(
+      PedometerBindings _lib, NSString? isoLangCode) {
+    return _lib._objc_msgSend_272(_lib._class_NSLocale1,
+        _lib._sel_lineDirectionForLanguage_1, isoLangCode?._id ?? ffi.nullptr);
+  }
+
+  static NSLocale new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSLocale1, _lib._sel_new1);
+    return NSLocale._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSLocale alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSLocale1, _lib._sel_alloc1);
+    return NSLocale._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSLocale1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSLocale1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSLocale1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSLocale1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSLocale1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSLocale1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSLocale1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSLocaleKey = ffi.Pointer<ObjCObject>;
+
+class NSCharacterSet extends NSObject {
+  NSCharacterSet._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSCharacterSet] that points to the same underlying object as [other].
+  static NSCharacterSet castFrom<T extends _ObjCWrapper>(T other) {
+    return NSCharacterSet._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSCharacterSet] that wraps the given raw object pointer.
+  static NSCharacterSet castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSCharacterSet._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSCharacterSet].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSCharacterSet1);
+  }
+
+  static NSCharacterSet? getControlCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_controlCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getWhitespaceCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_whitespaceCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getWhitespaceAndNewlineCharacterSet(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(_lib._class_NSCharacterSet1,
+        _lib._sel_whitespaceAndNewlineCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getDecimalDigitCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_decimalDigitCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getLetterCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_letterCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getLowercaseLetterCharacterSet(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_lowercaseLetterCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getUppercaseLetterCharacterSet(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_uppercaseLetterCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getNonBaseCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_nonBaseCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getAlphanumericCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_alphanumericCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getDecomposableCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_decomposableCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getIllegalCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_illegalCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getPunctuationCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_punctuationCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getCapitalizedLetterCharacterSet(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_capitalizedLetterCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getSymbolCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_symbolCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getNewlineCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_newlineCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSCharacterSet characterSetWithRange_(
+      PedometerBindings _lib, NSRange aRange) {
+    final _ret = _lib._objc_msgSend_261(
+        _lib._class_NSCharacterSet1, _lib._sel_characterSetWithRange_1, aRange);
+    return NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet characterSetWithCharactersInString_(
+      PedometerBindings _lib, NSString? aString) {
+    final _ret = _lib._objc_msgSend_262(
+        _lib._class_NSCharacterSet1,
+        _lib._sel_characterSetWithCharactersInString_1,
+        aString?._id ?? ffi.nullptr);
+    return NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet characterSetWithBitmapRepresentation_(
+      PedometerBindings _lib, NSData? data) {
+    final _ret = _lib._objc_msgSend_263(
+        _lib._class_NSCharacterSet1,
+        _lib._sel_characterSetWithBitmapRepresentation_1,
+        data?._id ?? ffi.nullptr);
+    return NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet characterSetWithContentsOfFile_(
+      PedometerBindings _lib, NSString? fName) {
+    final _ret = _lib._objc_msgSend_262(_lib._class_NSCharacterSet1,
+        _lib._sel_characterSetWithContentsOfFile_1, fName?._id ?? ffi.nullptr);
+    return NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSCharacterSet initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool characterIsMember_(int aCharacter) {
+    return _lib._objc_msgSend_264(
+        _id, _lib._sel_characterIsMember_1, aCharacter);
+  }
+
+  NSData? get bitmapRepresentation {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_bitmapRepresentation1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSCharacterSet? get invertedSet {
+    final _ret = _lib._objc_msgSend_260(_id, _lib._sel_invertedSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool longCharacterIsMember_(int theLongChar) {
+    return _lib._objc_msgSend_265(
+        _id, _lib._sel_longCharacterIsMember_1, theLongChar);
+  }
+
+  bool isSupersetOfSet_(NSCharacterSet? theOtherSet) {
+    return _lib._objc_msgSend_266(
+        _id, _lib._sel_isSupersetOfSet_1, theOtherSet?._id ?? ffi.nullptr);
+  }
+
+  bool hasMemberInPlane_(int thePlane) {
+    return _lib._objc_msgSend_267(_id, _lib._sel_hasMemberInPlane_1, thePlane);
+  }
+
+  static NSCharacterSet? getURLUserAllowedCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_URLUserAllowedCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getURLPasswordAllowedCharacterSet(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_URLPasswordAllowedCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getURLHostAllowedCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_URLHostAllowedCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getURLPathAllowedCharacterSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_URLPathAllowedCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getURLQueryAllowedCharacterSet(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_URLQueryAllowedCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet? getURLFragmentAllowedCharacterSet(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_260(
+        _lib._class_NSCharacterSet1, _lib._sel_URLFragmentAllowedCharacterSet1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCharacterSet new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSCharacterSet1, _lib._sel_new1);
+    return NSCharacterSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSCharacterSet alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSCharacterSet1, _lib._sel_alloc1);
+    return NSCharacterSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSCharacterSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSCharacterSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSCharacterSet1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSCharacterSet1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSCharacterSet1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSCharacterSet1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSCharacterSet1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSLocaleLanguageDirection {
+  static const int NSLocaleLanguageDirectionUnknown = 0;
+  static const int NSLocaleLanguageDirectionLeftToRight = 1;
+  static const int NSLocaleLanguageDirectionRightToLeft = 2;
+  static const int NSLocaleLanguageDirectionTopToBottom = 3;
+  static const int NSLocaleLanguageDirectionBottomToTop = 4;
+}
+
+abstract class NSStringEnumerationOptions {
+  static const int NSStringEnumerationByLines = 0;
+  static const int NSStringEnumerationByParagraphs = 1;
+  static const int NSStringEnumerationByComposedCharacterSequences = 2;
+  static const int NSStringEnumerationByWords = 3;
+  static const int NSStringEnumerationBySentences = 4;
+  static const int NSStringEnumerationByCaretPositions = 5;
+  static const int NSStringEnumerationByDeletionClusters = 6;
+  static const int NSStringEnumerationReverse = 256;
+  static const int NSStringEnumerationSubstringNotRequired = 512;
+  static const int NSStringEnumerationLocalized = 1024;
+}
+
+void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    NSRange arg1,
+    NSRange arg2,
+    ffi.Pointer<ffi.Bool> arg3) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+                  NSRange arg2, ffi.Pointer<ffi.Bool> arg3)>>()
+      .asFunction<
+          void Function(
+              ffi.Pointer<ObjCObject> arg0,
+              NSRange arg1,
+              NSRange arg2,
+              ffi.Pointer<ffi.Bool> arg3)>()(arg0, arg1, arg2, arg3);
+}
+
+final _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    NSRange arg1,
+    NSRange arg2,
+    ffi.Pointer<ffi.Bool> arg3) {
+  (_ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, NSRange, NSRange,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2, arg3);
+}
+
+class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+                      NSRange arg2, ffi.Pointer<ffi.Bool> arg3)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                NSRange arg2,
+                                ffi.Pointer<ffi.Bool> arg3)>(
+                        _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1, NSRange arg2,
+              ffi.Pointer<ffi.Bool> arg3)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                NSRange arg2,
+                                ffi.Pointer<ffi.Bool> arg3)>(
+                        _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1, NSRange arg2,
+              ffi.Pointer<ffi.Bool> arg3)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                NSRange arg2,
+                                ffi.Pointer<ffi.Bool> arg3)>.listener(
+                        _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          NSRange arg1,
+          NSRange arg2,
+          ffi.Pointer<ffi.Bool> arg3)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, NSRange arg1, NSRange arg2,
+      ffi.Pointer<ffi.Bool> arg3) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    NSRange arg1,
+                    NSRange arg2,
+                    ffi.Pointer<ffi.Bool> arg3)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                NSRange arg1,
+                NSRange arg2,
+                ffi.Pointer<ffi.Bool> arg3)>()(_id, arg0, arg1, arg2, arg3);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ffi.Bool> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ffi.Bool> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_NSString_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSString_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSString_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSString_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSString_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ffi.Bool> arg1) {
+  (_ObjCBlock_ffiVoid_NSString_bool_closureRegistry[block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Bool>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_NSString_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSString_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSString_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ffi.Bool> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSString_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSString_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSString_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSString_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ffi.Bool> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ffi.Bool> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ffi.Bool> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef NSStringEncoding = NSUInteger;
+
+abstract class NSStringEncodingConversionOptions {
+  static const int NSStringEncodingConversionAllowLossy = 1;
+  static const int NSStringEncodingConversionExternalRepresentation = 2;
+}
+
+typedef NSStringTransform = ffi.Pointer<ObjCObject>;
+void _ObjCBlock_ffiVoid_unichar_NSUInteger_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<unichar> arg0, int arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<unichar> arg0, NSUInteger arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<unichar> arg0, int arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_unichar_NSUInteger_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_unichar_NSUInteger_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_unichar_NSUInteger_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_unichar_NSUInteger_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_unichar_NSUInteger_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_unichar_NSUInteger_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<unichar> arg0, int arg1) {
+  (_ObjCBlock_ffiVoid_unichar_NSUInteger_closureRegistry[block.ref.target
+      .address] as void Function(ffi.Pointer<unichar>, int))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_unichar_NSUInteger extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_unichar_NSUInteger._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_unichar_NSUInteger.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<unichar> arg0,
+                      NSUInteger arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<unichar> arg0, NSUInteger arg1)>(
+                        _ObjCBlock_ffiVoid_unichar_NSUInteger_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_unichar_NSUInteger.fromFunction(PedometerBindings lib,
+      void Function(ffi.Pointer<unichar> arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<unichar> arg0, NSUInteger arg1)>(
+                        _ObjCBlock_ffiVoid_unichar_NSUInteger_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_unichar_NSUInteger_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_unichar_NSUInteger.listener(PedometerBindings lib,
+      void Function(ffi.Pointer<unichar> arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<unichar> arg0,
+                                NSUInteger arg1)>.listener(
+                        _ObjCBlock_ffiVoid_unichar_NSUInteger_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_unichar_NSUInteger_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<unichar> arg0,
+          NSUInteger arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<unichar> arg0, int arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<unichar> arg0, NSUInteger arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<unichar> arg0, int arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef NSLinguisticTagScheme = ffi.Pointer<ObjCObject>;
+
+abstract class NSLinguisticTaggerOptions {
+  static const int NSLinguisticTaggerOmitWords = 1;
+  static const int NSLinguisticTaggerOmitPunctuation = 2;
+  static const int NSLinguisticTaggerOmitWhitespace = 4;
+  static const int NSLinguisticTaggerOmitOther = 8;
+  static const int NSLinguisticTaggerJoinNames = 16;
+}
+
+class NSOrthography extends NSObject {
+  NSOrthography._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSOrthography] that points to the same underlying object as [other].
+  static NSOrthography castFrom<T extends _ObjCWrapper>(T other) {
+    return NSOrthography._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSOrthography] that wraps the given raw object pointer.
+  static NSOrthography castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSOrthography._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSOrthography].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSOrthography1);
+  }
+
+  NSString? get dominantScript {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_dominantScript1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary? get languageMap {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_languageMap1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrthography initWithDominantScript_languageMap_(
+      NSString? script, NSDictionary? map) {
+    final _ret = _lib._objc_msgSend_327(
+        _id,
+        _lib._sel_initWithDominantScript_languageMap_1,
+        script?._id ?? ffi.nullptr,
+        map?._id ?? ffi.nullptr);
+    return NSOrthography._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrthography initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSOrthography._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray languagesForScript_(NSString? script) {
+    final _ret = _lib._objc_msgSend_114(
+        _id, _lib._sel_languagesForScript_1, script?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString dominantLanguageForScript_(NSString? script) {
+    final _ret = _lib._objc_msgSend_56(
+        _id, _lib._sel_dominantLanguageForScript_1, script?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get dominantLanguage {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_dominantLanguage1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get allScripts {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_allScripts1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get allLanguages {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_allLanguages1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrthography defaultOrthographyForLanguage_(
+      PedometerBindings _lib, NSString? language) {
+    final _ret = _lib._objc_msgSend_30(
+        _lib._class_NSOrthography1,
+        _lib._sel_defaultOrthographyForLanguage_1,
+        language?._id ?? ffi.nullptr);
+    return NSOrthography._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrthography orthographyWithDominantScript_languageMap_(
+      PedometerBindings _lib, NSString? script, NSDictionary? map) {
+    final _ret = _lib._objc_msgSend_327(
+        _lib._class_NSOrthography1,
+        _lib._sel_orthographyWithDominantScript_languageMap_1,
+        script?._id ?? ffi.nullptr,
+        map?._id ?? ffi.nullptr);
+    return NSOrthography._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrthography new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOrthography1, _lib._sel_new1);
+    return NSOrthography._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSOrthography alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOrthography1, _lib._sel_alloc1);
+    return NSOrthography._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSOrthography1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSOrthography1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSOrthography1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSOrthography1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSOrthography1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSOrthography1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSOrthography1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ffi.Bool> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ffi.Bool> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ffi.Bool> arg1) {
+  (_ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry[block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Bool>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_ObjCObject_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ObjCObject_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ffi.Bool> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ObjCObject_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ffi.Bool> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ffi.Bool> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ffi.Bool> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+bool _ObjCBlock_bool_ObjCObject_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ffi.Bool> arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)>>()
+      .asFunction<
+          bool Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ffi.Bool> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_bool_ObjCObject_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_bool_ObjCObject_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_bool_ObjCObject_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_bool_ObjCObject_bool_closureRegistryIndex;
+  _ObjCBlock_bool_ObjCObject_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_ObjCObject_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ffi.Bool> arg1) {
+  return (_ObjCBlock_bool_ObjCObject_bool_closureRegistry[
+          block.ref.target.address]
+      as bool Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Bool>))(arg0, arg1);
+}
+
+class ObjCBlock_bool_ObjCObject_bool extends _ObjCBlockBase {
+  ObjCBlock_bool_ObjCObject_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ffi.Bool> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_bool_ObjCObject_bool_fnPtrTrampoline, false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ObjCObject_bool.fromFunction(
+      PedometerBindings lib,
+      bool Function(
+              ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ffi.Bool> arg1)>(
+                        _ObjCBlock_bool_ObjCObject_bool_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_ObjCObject_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ffi.Bool> arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ffi.Bool> arg1)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ffi.Bool> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+class NSFileManager extends NSObject {
+  NSFileManager._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSFileManager] that points to the same underlying object as [other].
+  static NSFileManager castFrom<T extends _ObjCWrapper>(T other) {
+    return NSFileManager._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSFileManager] that wraps the given raw object pointer.
+  static NSFileManager castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSFileManager._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSFileManager].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSFileManager1);
+  }
+
+  static NSFileManager? getDefaultManager(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_355(
+        _lib._class_NSFileManager1, _lib._sel_defaultManager1);
+    return _ret.address == 0
+        ? null
+        : NSFileManager._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray mountedVolumeURLsIncludingResourceValuesForKeys_options_(
+      NSArray? propertyKeys, int options) {
+    final _ret = _lib._objc_msgSend_356(
+        _id,
+        _lib._sel_mountedVolumeURLsIncludingResourceValuesForKeys_options_1,
+        propertyKeys?._id ?? ffi.nullptr,
+        options);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void unmountVolumeAtURL_options_completionHandler_(
+      NSURL? url, int mask, ObjCBlock_ffiVoid_NSError completionHandler) {
+    _lib._objc_msgSend_357(
+        _id,
+        _lib._sel_unmountVolumeAtURL_options_completionHandler_1,
+        url?._id ?? ffi.nullptr,
+        mask,
+        completionHandler._id);
+  }
+
+  NSArray contentsOfDirectoryAtURL_includingPropertiesForKeys_options_error_(
+      NSURL? url,
+      NSArray? keys,
+      int mask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_358(
+        _id,
+        _lib._sel_contentsOfDirectoryAtURL_includingPropertiesForKeys_options_error_1,
+        url?._id ?? ffi.nullptr,
+        keys?._id ?? ffi.nullptr,
+        mask,
+        error);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray URLsForDirectory_inDomains_(int directory, int domainMask) {
+    final _ret = _lib._objc_msgSend_359(
+        _id, _lib._sel_URLsForDirectory_inDomains_1, directory, domainMask);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLForDirectory_inDomain_appropriateForURL_create_error_(
+      int directory,
+      int domain,
+      NSURL? url,
+      bool shouldCreate,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_360(
+        _id,
+        _lib._sel_URLForDirectory_inDomain_appropriateForURL_create_error_1,
+        directory,
+        domain,
+        url?._id ?? ffi.nullptr,
+        shouldCreate,
+        error);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool getRelationship_ofDirectoryAtURL_toItemAtURL_error_(
+      ffi.Pointer<ffi.Int32> outRelationship,
+      NSURL? directoryURL,
+      NSURL? otherURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_361(
+        _id,
+        _lib._sel_getRelationship_ofDirectoryAtURL_toItemAtURL_error_1,
+        outRelationship,
+        directoryURL?._id ?? ffi.nullptr,
+        otherURL?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool getRelationship_ofDirectory_inDomain_toItemAtURL_error_(
+      ffi.Pointer<ffi.Int32> outRelationship,
+      int directory,
+      int domainMask,
+      NSURL? url,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_362(
+        _id,
+        _lib._sel_getRelationship_ofDirectory_inDomain_toItemAtURL_error_1,
+        outRelationship,
+        directory,
+        domainMask,
+        url?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool createDirectoryAtURL_withIntermediateDirectories_attributes_error_(
+      NSURL? url,
+      bool createIntermediates,
+      NSDictionary? attributes,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_363(
+        _id,
+        _lib._sel_createDirectoryAtURL_withIntermediateDirectories_attributes_error_1,
+        url?._id ?? ffi.nullptr,
+        createIntermediates,
+        attributes?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool createSymbolicLinkAtURL_withDestinationURL_error_(
+      NSURL? url, NSURL? destURL, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_364(
+        _id,
+        _lib._sel_createSymbolicLinkAtURL_withDestinationURL_error_1,
+        url?._id ?? ffi.nullptr,
+        destURL?._id ?? ffi.nullptr,
+        error);
+  }
+
+  NSObject? get delegate {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set delegate(NSObject? value) {
+    return _lib._objc_msgSend_343(
+        _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool setAttributes_ofItemAtPath_error_(NSDictionary? attributes,
+      NSString? path, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_365(
+        _id,
+        _lib._sel_setAttributes_ofItemAtPath_error_1,
+        attributes?._id ?? ffi.nullptr,
+        path?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool createDirectoryAtPath_withIntermediateDirectories_attributes_error_(
+      NSString? path,
+      bool createIntermediates,
+      NSDictionary? attributes,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_366(
+        _id,
+        _lib._sel_createDirectoryAtPath_withIntermediateDirectories_attributes_error_1,
+        path?._id ?? ffi.nullptr,
+        createIntermediates,
+        attributes?._id ?? ffi.nullptr,
+        error);
+  }
+
+  NSArray contentsOfDirectoryAtPath_error_(
+      NSString? path, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_367(
+        _id,
+        _lib._sel_contentsOfDirectoryAtPath_error_1,
+        path?._id ?? ffi.nullptr,
+        error);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray subpathsOfDirectoryAtPath_error_(
+      NSString? path, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_367(
+        _id,
+        _lib._sel_subpathsOfDirectoryAtPath_error_1,
+        path?._id ?? ffi.nullptr,
+        error);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary attributesOfItemAtPath_error_(
+      NSString? path, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_368(
+        _id,
+        _lib._sel_attributesOfItemAtPath_error_1,
+        path?._id ?? ffi.nullptr,
+        error);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary attributesOfFileSystemForPath_error_(
+      NSString? path, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_368(
+        _id,
+        _lib._sel_attributesOfFileSystemForPath_error_1,
+        path?._id ?? ffi.nullptr,
+        error);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool createSymbolicLinkAtPath_withDestinationPath_error_(NSString? path,
+      NSString? destPath, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_369(
+        _id,
+        _lib._sel_createSymbolicLinkAtPath_withDestinationPath_error_1,
+        path?._id ?? ffi.nullptr,
+        destPath?._id ?? ffi.nullptr,
+        error);
+  }
+
+  NSString destinationOfSymbolicLinkAtPath_error_(
+      NSString? path, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_370(
+        _id,
+        _lib._sel_destinationOfSymbolicLinkAtPath_error_1,
+        path?._id ?? ffi.nullptr,
+        error);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool copyItemAtPath_toPath_error_(NSString? srcPath, NSString? dstPath,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_369(_id, _lib._sel_copyItemAtPath_toPath_error_1,
+        srcPath?._id ?? ffi.nullptr, dstPath?._id ?? ffi.nullptr, error);
+  }
+
+  bool moveItemAtPath_toPath_error_(NSString? srcPath, NSString? dstPath,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_369(_id, _lib._sel_moveItemAtPath_toPath_error_1,
+        srcPath?._id ?? ffi.nullptr, dstPath?._id ?? ffi.nullptr, error);
+  }
+
+  bool linkItemAtPath_toPath_error_(NSString? srcPath, NSString? dstPath,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_369(_id, _lib._sel_linkItemAtPath_toPath_error_1,
+        srcPath?._id ?? ffi.nullptr, dstPath?._id ?? ffi.nullptr, error);
+  }
+
+  bool removeItemAtPath_error_(
+      NSString? path, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_371(_id, _lib._sel_removeItemAtPath_error_1,
+        path?._id ?? ffi.nullptr, error);
+  }
+
+  bool copyItemAtURL_toURL_error_(NSURL? srcURL, NSURL? dstURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_364(_id, _lib._sel_copyItemAtURL_toURL_error_1,
+        srcURL?._id ?? ffi.nullptr, dstURL?._id ?? ffi.nullptr, error);
+  }
+
+  bool moveItemAtURL_toURL_error_(NSURL? srcURL, NSURL? dstURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_364(_id, _lib._sel_moveItemAtURL_toURL_error_1,
+        srcURL?._id ?? ffi.nullptr, dstURL?._id ?? ffi.nullptr, error);
+  }
+
+  bool linkItemAtURL_toURL_error_(NSURL? srcURL, NSURL? dstURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_364(_id, _lib._sel_linkItemAtURL_toURL_error_1,
+        srcURL?._id ?? ffi.nullptr, dstURL?._id ?? ffi.nullptr, error);
+  }
+
+  bool removeItemAtURL_error_(
+      NSURL? URL, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_74(
+        _id, _lib._sel_removeItemAtURL_error_1, URL?._id ?? ffi.nullptr, error);
+  }
+
+  bool trashItemAtURL_resultingItemURL_error_(
+      NSURL? url,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outResultingURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_372(
+        _id,
+        _lib._sel_trashItemAtURL_resultingItemURL_error_1,
+        url?._id ?? ffi.nullptr,
+        outResultingURL,
+        error);
+  }
+
+  NSDictionary fileAttributesAtPath_traverseLink_(NSString? path, bool yorn) {
+    final _ret = _lib._objc_msgSend_373(
+        _id,
+        _lib._sel_fileAttributesAtPath_traverseLink_1,
+        path?._id ?? ffi.nullptr,
+        yorn);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool changeFileAttributes_atPath_(NSDictionary? attributes, NSString? path) {
+    return _lib._objc_msgSend_374(_id, _lib._sel_changeFileAttributes_atPath_1,
+        attributes?._id ?? ffi.nullptr, path?._id ?? ffi.nullptr);
+  }
+
+  NSArray directoryContentsAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_114(
+        _id, _lib._sel_directoryContentsAtPath_1, path?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary fileSystemAttributesAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_137(
+        _id, _lib._sel_fileSystemAttributesAtPath_1, path?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString pathContentOfSymbolicLinkAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_56(_id,
+        _lib._sel_pathContentOfSymbolicLinkAtPath_1, path?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool createSymbolicLinkAtPath_pathContent_(
+      NSString? path, NSString? otherpath) {
+    return _lib._objc_msgSend_375(
+        _id,
+        _lib._sel_createSymbolicLinkAtPath_pathContent_1,
+        path?._id ?? ffi.nullptr,
+        otherpath?._id ?? ffi.nullptr);
+  }
+
+  bool createDirectoryAtPath_attributes_(
+      NSString? path, NSDictionary? attributes) {
+    return _lib._objc_msgSend_376(
+        _id,
+        _lib._sel_createDirectoryAtPath_attributes_1,
+        path?._id ?? ffi.nullptr,
+        attributes?._id ?? ffi.nullptr);
+  }
+
+  NSString? get currentDirectoryPath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_currentDirectoryPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool changeCurrentDirectoryPath_(NSString? path) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_changeCurrentDirectoryPath_1, path?._id ?? ffi.nullptr);
+  }
+
+  bool fileExistsAtPath_(NSString? path) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_fileExistsAtPath_1, path?._id ?? ffi.nullptr);
+  }
+
+  bool fileExistsAtPath_isDirectory_(
+      NSString? path, ffi.Pointer<ffi.Bool> isDirectory) {
+    return _lib._objc_msgSend_377(_id, _lib._sel_fileExistsAtPath_isDirectory_1,
+        path?._id ?? ffi.nullptr, isDirectory);
+  }
+
+  bool isReadableFileAtPath_(NSString? path) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_isReadableFileAtPath_1, path?._id ?? ffi.nullptr);
+  }
+
+  bool isWritableFileAtPath_(NSString? path) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_isWritableFileAtPath_1, path?._id ?? ffi.nullptr);
+  }
+
+  bool isExecutableFileAtPath_(NSString? path) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_isExecutableFileAtPath_1, path?._id ?? ffi.nullptr);
+  }
+
+  bool isDeletableFileAtPath_(NSString? path) {
+    return _lib._objc_msgSend_51(
+        _id, _lib._sel_isDeletableFileAtPath_1, path?._id ?? ffi.nullptr);
+  }
+
+  bool contentsEqualAtPath_andPath_(NSString? path1, NSString? path2) {
+    return _lib._objc_msgSend_375(_id, _lib._sel_contentsEqualAtPath_andPath_1,
+        path1?._id ?? ffi.nullptr, path2?._id ?? ffi.nullptr);
+  }
+
+  NSString displayNameAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_56(
+        _id, _lib._sel_displayNameAtPath_1, path?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray componentsToDisplayForPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_114(
+        _id, _lib._sel_componentsToDisplayForPath_1, path?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject enumeratorAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_enumeratorAtPath_1, path?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject enumeratorAtURL_includingPropertiesForKeys_options_errorHandler_(
+      NSURL? url,
+      NSArray? keys,
+      int mask,
+      ObjCBlock_bool_NSURL_NSError handler) {
+    final _ret = _lib._objc_msgSend_378(
+        _id,
+        _lib._sel_enumeratorAtURL_includingPropertiesForKeys_options_errorHandler_1,
+        url?._id ?? ffi.nullptr,
+        keys?._id ?? ffi.nullptr,
+        mask,
+        handler._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray subpathsAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_114(
+        _id, _lib._sel_subpathsAtPath_1, path?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData contentsAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_379(
+        _id, _lib._sel_contentsAtPath_1, path?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool createFileAtPath_contents_attributes_(
+      NSString? path, NSData? data, NSDictionary? attr) {
+    return _lib._objc_msgSend_380(
+        _id,
+        _lib._sel_createFileAtPath_contents_attributes_1,
+        path?._id ?? ffi.nullptr,
+        data?._id ?? ffi.nullptr,
+        attr?._id ?? ffi.nullptr);
+  }
+
+  ffi.Pointer<ffi.Char> fileSystemRepresentationWithPath_(NSString? path) {
+    return _lib._objc_msgSend_381(_id,
+        _lib._sel_fileSystemRepresentationWithPath_1, path?._id ?? ffi.nullptr);
+  }
+
+  NSString stringWithFileSystemRepresentation_length_(
+      ffi.Pointer<ffi.Char> str, int len) {
+    final _ret = _lib._objc_msgSend_382(
+        _id, _lib._sel_stringWithFileSystemRepresentation_length_1, str, len);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool
+      replaceItemAtURL_withItemAtURL_backupItemName_options_resultingItemURL_error_(
+          NSURL? originalItemURL,
+          NSURL? newItemURL,
+          NSString? backupItemName,
+          int options,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> resultingURL,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_383(
+        _id,
+        _lib._sel_replaceItemAtURL_withItemAtURL_backupItemName_options_resultingItemURL_error_1,
+        originalItemURL?._id ?? ffi.nullptr,
+        newItemURL?._id ?? ffi.nullptr,
+        backupItemName?._id ?? ffi.nullptr,
+        options,
+        resultingURL,
+        error);
+  }
+
+  bool setUbiquitous_itemAtURL_destinationURL_error_(bool flag, NSURL? url,
+      NSURL? destinationURL, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_384(
+        _id,
+        _lib._sel_setUbiquitous_itemAtURL_destinationURL_error_1,
+        flag,
+        url?._id ?? ffi.nullptr,
+        destinationURL?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool isUbiquitousItemAtURL_(NSURL? url) {
+    return _lib._objc_msgSend_385(
+        _id, _lib._sel_isUbiquitousItemAtURL_1, url?._id ?? ffi.nullptr);
+  }
+
+  bool startDownloadingUbiquitousItemAtURL_error_(
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_74(
+        _id,
+        _lib._sel_startDownloadingUbiquitousItemAtURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool evictUbiquitousItemAtURL_error_(
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_74(
+        _id,
+        _lib._sel_evictUbiquitousItemAtURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+  }
+
+  NSURL URLForUbiquityContainerIdentifier_(NSString? containerIdentifier) {
+    final _ret = _lib._objc_msgSend_34(
+        _id,
+        _lib._sel_URLForUbiquityContainerIdentifier_1,
+        containerIdentifier?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLForPublishingUbiquitousItemAtURL_expirationDate_error_(
+      NSURL? url,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outDate,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_386(
+        _id,
+        _lib._sel_URLForPublishingUbiquitousItemAtURL_expirationDate_error_1,
+        url?._id ?? ffi.nullptr,
+        outDate,
+        error);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject? get ubiquityIdentityToken {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_ubiquityIdentityToken1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getFileProviderServicesForItemAtURL_completionHandler_(
+      NSURL? url, ObjCBlock_ffiVoid_NSDictionary_NSError completionHandler) {
+    _lib._objc_msgSend_387(
+        _id,
+        _lib._sel_getFileProviderServicesForItemAtURL_completionHandler_1,
+        url?._id ?? ffi.nullptr,
+        completionHandler._id);
+  }
+
+  NSURL containerURLForSecurityApplicationGroupIdentifier_(
+      NSString? groupIdentifier) {
+    final _ret = _lib._objc_msgSend_34(
+        _id,
+        _lib._sel_containerURLForSecurityApplicationGroupIdentifier_1,
+        groupIdentifier?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get homeDirectoryForCurrentUser {
+    final _ret =
+        _lib._objc_msgSend_40(_id, _lib._sel_homeDirectoryForCurrentUser1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get temporaryDirectory {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_temporaryDirectory1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL homeDirectoryForUser_(NSString? userName) {
+    final _ret = _lib._objc_msgSend_34(
+        _id, _lib._sel_homeDirectoryForUser_1, userName?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileManager new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSFileManager1, _lib._sel_new1);
+    return NSFileManager._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSFileManager alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSFileManager1, _lib._sel_alloc1);
+    return NSFileManager._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSFileManager1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSFileManager1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSFileManager1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSFileManager1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSFileManager1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSFileManager1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSFileManager1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSVolumeEnumerationOptions {
+  static const int NSVolumeEnumerationSkipHiddenVolumes = 2;
+  static const int NSVolumeEnumerationProduceFileReferenceURLs = 4;
+}
+
+abstract class NSFileManagerUnmountOptions {
+  static const int NSFileManagerUnmountAllPartitionsAndEjectDisk = 1;
+  static const int NSFileManagerUnmountWithoutUI = 2;
+}
+
+void _ObjCBlock_ffiVoid_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSError_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSError_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSError_closureRegistry[block.ref.target.address] as void
+      Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSError._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSError.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSError.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+abstract class NSDirectoryEnumerationOptions {
+  static const int NSDirectoryEnumerationSkipsSubdirectoryDescendants = 1;
+  static const int NSDirectoryEnumerationSkipsPackageDescendants = 2;
+  static const int NSDirectoryEnumerationSkipsHiddenFiles = 4;
+  static const int NSDirectoryEnumerationIncludesDirectoriesPostOrder = 8;
+  static const int NSDirectoryEnumerationProducesRelativePathURLs = 16;
+}
+
+abstract class NSSearchPathDirectory {
+  static const int NSApplicationDirectory = 1;
+  static const int NSDemoApplicationDirectory = 2;
+  static const int NSDeveloperApplicationDirectory = 3;
+  static const int NSAdminApplicationDirectory = 4;
+  static const int NSLibraryDirectory = 5;
+  static const int NSDeveloperDirectory = 6;
+  static const int NSUserDirectory = 7;
+  static const int NSDocumentationDirectory = 8;
+  static const int NSDocumentDirectory = 9;
+  static const int NSCoreServiceDirectory = 10;
+  static const int NSAutosavedInformationDirectory = 11;
+  static const int NSDesktopDirectory = 12;
+  static const int NSCachesDirectory = 13;
+  static const int NSApplicationSupportDirectory = 14;
+  static const int NSDownloadsDirectory = 15;
+  static const int NSInputMethodsDirectory = 16;
+  static const int NSMoviesDirectory = 17;
+  static const int NSMusicDirectory = 18;
+  static const int NSPicturesDirectory = 19;
+  static const int NSPrinterDescriptionDirectory = 20;
+  static const int NSSharedPublicDirectory = 21;
+  static const int NSPreferencePanesDirectory = 22;
+  static const int NSApplicationScriptsDirectory = 23;
+  static const int NSItemReplacementDirectory = 99;
+  static const int NSAllApplicationsDirectory = 100;
+  static const int NSAllLibrariesDirectory = 101;
+  static const int NSTrashDirectory = 102;
+}
+
+abstract class NSSearchPathDomainMask {
+  static const int NSUserDomainMask = 1;
+  static const int NSLocalDomainMask = 2;
+  static const int NSNetworkDomainMask = 4;
+  static const int NSSystemDomainMask = 8;
+  static const int NSAllDomainsMask = 65535;
+}
+
+abstract class NSURLRelationship {
+  static const int NSURLRelationshipContains = 0;
+  static const int NSURLRelationshipSame = 1;
+  static const int NSURLRelationshipOther = 2;
+}
+
+bool _ObjCBlock_bool_NSURL_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          bool Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_bool_NSURL_NSError_closureRegistry = <int, Function>{};
+int _ObjCBlock_bool_NSURL_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_bool_NSURL_NSError_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_bool_NSURL_NSError_closureRegistryIndex;
+  _ObjCBlock_bool_NSURL_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_NSURL_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  return (_ObjCBlock_bool_NSURL_NSError_closureRegistry[
+          block.ref.target.address]
+      as bool Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_bool_NSURL_NSError extends _ObjCBlockBase {
+  ObjCBlock_bool_NSURL_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_NSURL_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<
+                  ffi.Bool Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_bool_NSURL_NSError_fnPtrTrampoline, false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_NSURL_NSError.fromFunction(
+      PedometerBindings lib,
+      bool Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_bool_NSURL_NSError_closureTrampoline, false)
+                    .cast(),
+                _ObjCBlock_bool_NSURL_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+abstract class NSFileManagerItemReplacementOptions {
+  static const int NSFileManagerItemReplacementUsingNewMetadataOnly = 1;
+  static const int NSFileManagerItemReplacementWithoutDeletingBackupItem = 2;
+}
+
+void _ObjCBlock_ffiVoid_NSDictionary_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_NSDictionary_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSDictionary_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSDictionary_NSError_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSDictionary_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSDictionary_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSDictionary_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  (_ObjCBlock_ffiVoid_NSDictionary_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_NSDictionary_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSDictionary_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDictionary_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSDictionary_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDictionary_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSDictionary_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDictionary_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSDictionary_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_NSDictionary_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDictionary_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+/// Mutable Array
+class NSMutableArray extends NSArray {
+  NSMutableArray._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableArray] that points to the same underlying object as [other].
+  static NSMutableArray castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableArray._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableArray] that wraps the given raw object pointer.
+  static NSMutableArray castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableArray._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableArray].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMutableArray1);
+  }
+
+  void addObject_(NSObject anObject) {
+    _lib._objc_msgSend_15(_id, _lib._sel_addObject_1, anObject._id);
+  }
+
+  void insertObject_atIndex_(NSObject anObject, int index) {
+    _lib._objc_msgSend_390(
+        _id, _lib._sel_insertObject_atIndex_1, anObject._id, index);
+  }
+
+  void removeLastObject() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeLastObject1);
+  }
+
+  void removeObjectAtIndex_(int index) {
+    _lib._objc_msgSend_391(_id, _lib._sel_removeObjectAtIndex_1, index);
+  }
+
+  void replaceObjectAtIndex_withObject_(int index, NSObject anObject) {
+    _lib._objc_msgSend_392(
+        _id, _lib._sel_replaceObjectAtIndex_withObject_1, index, anObject._id);
+  }
+
+  @override
+  NSMutableArray init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableArray initWithCapacity_(int numItems) {
+    final _ret =
+        _lib._objc_msgSend_52(_id, _lib._sel_initWithCapacity_1, numItems);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSMutableArray initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void addObjectsFromArray_(NSArray? otherArray) {
+    _lib._objc_msgSend_393(
+        _id, _lib._sel_addObjectsFromArray_1, otherArray?._id ?? ffi.nullptr);
+  }
+
+  void exchangeObjectAtIndex_withObjectAtIndex_(int idx1, int idx2) {
+    _lib._objc_msgSend_394(
+        _id, _lib._sel_exchangeObjectAtIndex_withObjectAtIndex_1, idx1, idx2);
+  }
+
+  void removeAllObjects() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllObjects1);
+  }
+
+  void removeObject_inRange_(NSObject anObject, NSRange range) {
+    _lib._objc_msgSend_395(
+        _id, _lib._sel_removeObject_inRange_1, anObject._id, range);
+  }
+
+  void removeObject_(NSObject anObject) {
+    _lib._objc_msgSend_15(_id, _lib._sel_removeObject_1, anObject._id);
+  }
+
+  void removeObjectIdenticalTo_inRange_(NSObject anObject, NSRange range) {
+    _lib._objc_msgSend_395(
+        _id, _lib._sel_removeObjectIdenticalTo_inRange_1, anObject._id, range);
+  }
+
+  void removeObjectIdenticalTo_(NSObject anObject) {
+    _lib._objc_msgSend_15(
+        _id, _lib._sel_removeObjectIdenticalTo_1, anObject._id);
+  }
+
+  void removeObjectsFromIndices_numIndices_(
+      ffi.Pointer<NSUInteger> indices, int cnt) {
+    _lib._objc_msgSend_396(
+        _id, _lib._sel_removeObjectsFromIndices_numIndices_1, indices, cnt);
+  }
+
+  void removeObjectsInArray_(NSArray? otherArray) {
+    _lib._objc_msgSend_393(
+        _id, _lib._sel_removeObjectsInArray_1, otherArray?._id ?? ffi.nullptr);
+  }
+
+  void removeObjectsInRange_(NSRange range) {
+    _lib._objc_msgSend_397(_id, _lib._sel_removeObjectsInRange_1, range);
+  }
+
+  void replaceObjectsInRange_withObjectsFromArray_range_(
+      NSRange range, NSArray? otherArray, NSRange otherRange) {
+    _lib._objc_msgSend_398(
+        _id,
+        _lib._sel_replaceObjectsInRange_withObjectsFromArray_range_1,
+        range,
+        otherArray?._id ?? ffi.nullptr,
+        otherRange);
+  }
+
+  void replaceObjectsInRange_withObjectsFromArray_(
+      NSRange range, NSArray? otherArray) {
+    _lib._objc_msgSend_399(
+        _id,
+        _lib._sel_replaceObjectsInRange_withObjectsFromArray_1,
+        range,
+        otherArray?._id ?? ffi.nullptr);
+  }
+
+  void setArray_(NSArray? otherArray) {
+    _lib._objc_msgSend_393(
+        _id, _lib._sel_setArray_1, otherArray?._id ?? ffi.nullptr);
+  }
+
+  void sortUsingFunction_context_(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  NSInteger Function(ffi.Pointer<ObjCObject>,
+                      ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>>
+          compare,
+      ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_400(
+        _id, _lib._sel_sortUsingFunction_context_1, compare, context);
+  }
+
+  void sortUsingSelector_(ffi.Pointer<ObjCSel> comparator) {
+    _lib._objc_msgSend_7(_id, _lib._sel_sortUsingSelector_1, comparator);
+  }
+
+  void insertObjects_atIndexes_(NSArray? objects, NSIndexSet? indexes) {
+    _lib._objc_msgSend_401(_id, _lib._sel_insertObjects_atIndexes_1,
+        objects?._id ?? ffi.nullptr, indexes?._id ?? ffi.nullptr);
+  }
+
+  void removeObjectsAtIndexes_(NSIndexSet? indexes) {
+    _lib._objc_msgSend_402(
+        _id, _lib._sel_removeObjectsAtIndexes_1, indexes?._id ?? ffi.nullptr);
+  }
+
+  void replaceObjectsAtIndexes_withObjects_(
+      NSIndexSet? indexes, NSArray? objects) {
+    _lib._objc_msgSend_403(_id, _lib._sel_replaceObjectsAtIndexes_withObjects_1,
+        indexes?._id ?? ffi.nullptr, objects?._id ?? ffi.nullptr);
+  }
+
+  void setObject_atIndexedSubscript_(NSObject obj, int idx) {
+    _lib._objc_msgSend_390(
+        _id, _lib._sel_setObject_atIndexedSubscript_1, obj._id, idx);
+  }
+
+  void sortUsingComparator_(NSComparator cmptr) {
+    _lib._objc_msgSend_404(_id, _lib._sel_sortUsingComparator_1, cmptr);
+  }
+
+  void sortWithOptions_usingComparator_(int opts, NSComparator cmptr) {
+    _lib._objc_msgSend_405(
+        _id, _lib._sel_sortWithOptions_usingComparator_1, opts, cmptr);
+  }
+
+  static NSMutableArray arrayWithCapacity_(
+      PedometerBindings _lib, int numItems) {
+    final _ret = _lib._objc_msgSend_52(
+        _lib._class_NSMutableArray1, _lib._sel_arrayWithCapacity_1, numItems);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableArray arrayWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_406(_lib._class_NSMutableArray1,
+        _lib._sel_arrayWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableArray arrayWithContentsOfURL_(
+      PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_407(_lib._class_NSMutableArray1,
+        _lib._sel_arrayWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableArray initWithContentsOfFile_(NSString? path) {
+    final _ret = _lib._objc_msgSend_406(
+        _id, _lib._sel_initWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableArray initWithContentsOfURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_407(
+        _id, _lib._sel_initWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void applyDifference_(NSObject? difference) {
+    _lib._objc_msgSend_15(
+        _id, _lib._sel_applyDifference_1, difference?._id ?? ffi.nullptr);
+  }
+
+  void sortUsingDescriptors_(NSArray? sortDescriptors) {
+    _lib._objc_msgSend_393(_id, _lib._sel_sortUsingDescriptors_1,
+        sortDescriptors?._id ?? ffi.nullptr);
+  }
+
+  void filterUsingPredicate_(NSPredicate? predicate) {
+    _lib._objc_msgSend_408(
+        _id, _lib._sel_filterUsingPredicate_1, predicate?._id ?? ffi.nullptr);
+  }
+
+  static NSMutableArray array(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableArray1, _lib._sel_array1);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableArray arrayWithObject_(
+      PedometerBindings _lib, NSObject anObject) {
+    final _ret = _lib._objc_msgSend_16(
+        _lib._class_NSMutableArray1, _lib._sel_arrayWithObject_1, anObject._id);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableArray arrayWithObjects_count_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(_lib._class_NSMutableArray1,
+        _lib._sel_arrayWithObjects_count_1, objects, cnt);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableArray arrayWithObjects_(
+      PedometerBindings _lib, NSObject firstObj) {
+    final _ret = _lib._objc_msgSend_16(_lib._class_NSMutableArray1,
+        _lib._sel_arrayWithObjects_1, firstObj._id);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableArray arrayWithArray_(
+      PedometerBindings _lib, NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSMutableArray1,
+        _lib._sel_arrayWithArray_1, array?._id ?? ffi.nullptr);
+    return NSMutableArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray arrayWithContentsOfURL_error_(PedometerBindings _lib,
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_110(
+        _lib._class_NSMutableArray1,
+        _lib._sel_arrayWithContentsOfURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableArray new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableArray1, _lib._sel_new1);
+    return NSMutableArray._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableArray alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableArray1, _lib._sel_alloc1);
+    return NSMutableArray._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableArray1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableArray1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMutableArray1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableArray1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableArray1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSMutableArray1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableArray1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Mutable Ordered Set
+class NSMutableOrderedSet extends NSOrderedSet {
+  NSMutableOrderedSet._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableOrderedSet] that points to the same underlying object as [other].
+  static NSMutableOrderedSet castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableOrderedSet._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableOrderedSet] that wraps the given raw object pointer.
+  static NSMutableOrderedSet castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableOrderedSet._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableOrderedSet].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMutableOrderedSet1);
+  }
+
+  void insertObject_atIndex_(NSObject object, int idx) {
+    _lib._objc_msgSend_390(
+        _id, _lib._sel_insertObject_atIndex_1, object._id, idx);
+  }
+
+  void removeObjectAtIndex_(int idx) {
+    _lib._objc_msgSend_391(_id, _lib._sel_removeObjectAtIndex_1, idx);
+  }
+
+  void replaceObjectAtIndex_withObject_(int idx, NSObject object) {
+    _lib._objc_msgSend_392(
+        _id, _lib._sel_replaceObjectAtIndex_withObject_1, idx, object._id);
+  }
+
+  @override
+  NSMutableOrderedSet initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSMutableOrderedSet init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableOrderedSet initWithCapacity_(int numItems) {
+    final _ret =
+        _lib._objc_msgSend_52(_id, _lib._sel_initWithCapacity_1, numItems);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void addObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_addObject_1, object._id);
+  }
+
+  void addObjects_count_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int count) {
+    _lib._objc_msgSend_419(_id, _lib._sel_addObjects_count_1, objects, count);
+  }
+
+  void addObjectsFromArray_(NSArray? array) {
+    _lib._objc_msgSend_393(
+        _id, _lib._sel_addObjectsFromArray_1, array?._id ?? ffi.nullptr);
+  }
+
+  void exchangeObjectAtIndex_withObjectAtIndex_(int idx1, int idx2) {
+    _lib._objc_msgSend_394(
+        _id, _lib._sel_exchangeObjectAtIndex_withObjectAtIndex_1, idx1, idx2);
+  }
+
+  void moveObjectsAtIndexes_toIndex_(NSIndexSet? indexes, int idx) {
+    _lib._objc_msgSend_420(_id, _lib._sel_moveObjectsAtIndexes_toIndex_1,
+        indexes?._id ?? ffi.nullptr, idx);
+  }
+
+  void insertObjects_atIndexes_(NSArray? objects, NSIndexSet? indexes) {
+    _lib._objc_msgSend_401(_id, _lib._sel_insertObjects_atIndexes_1,
+        objects?._id ?? ffi.nullptr, indexes?._id ?? ffi.nullptr);
+  }
+
+  void setObject_atIndex_(NSObject obj, int idx) {
+    _lib._objc_msgSend_390(_id, _lib._sel_setObject_atIndex_1, obj._id, idx);
+  }
+
+  void setObject_atIndexedSubscript_(NSObject obj, int idx) {
+    _lib._objc_msgSend_390(
+        _id, _lib._sel_setObject_atIndexedSubscript_1, obj._id, idx);
+  }
+
+  void replaceObjectsInRange_withObjects_count_(
+      NSRange range, ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int count) {
+    _lib._objc_msgSend_421(
+        _id,
+        _lib._sel_replaceObjectsInRange_withObjects_count_1,
+        range,
+        objects,
+        count);
+  }
+
+  void replaceObjectsAtIndexes_withObjects_(
+      NSIndexSet? indexes, NSArray? objects) {
+    _lib._objc_msgSend_403(_id, _lib._sel_replaceObjectsAtIndexes_withObjects_1,
+        indexes?._id ?? ffi.nullptr, objects?._id ?? ffi.nullptr);
+  }
+
+  void removeObjectsInRange_(NSRange range) {
+    _lib._objc_msgSend_397(_id, _lib._sel_removeObjectsInRange_1, range);
+  }
+
+  void removeObjectsAtIndexes_(NSIndexSet? indexes) {
+    _lib._objc_msgSend_402(
+        _id, _lib._sel_removeObjectsAtIndexes_1, indexes?._id ?? ffi.nullptr);
+  }
+
+  void removeAllObjects() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllObjects1);
+  }
+
+  void removeObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_removeObject_1, object._id);
+  }
+
+  void removeObjectsInArray_(NSArray? array) {
+    _lib._objc_msgSend_393(
+        _id, _lib._sel_removeObjectsInArray_1, array?._id ?? ffi.nullptr);
+  }
+
+  void intersectOrderedSet_(NSOrderedSet? other) {
+    _lib._objc_msgSend_422(
+        _id, _lib._sel_intersectOrderedSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  void minusOrderedSet_(NSOrderedSet? other) {
+    _lib._objc_msgSend_422(
+        _id, _lib._sel_minusOrderedSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  void unionOrderedSet_(NSOrderedSet? other) {
+    _lib._objc_msgSend_422(
+        _id, _lib._sel_unionOrderedSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  void intersectSet_(NSSet? other) {
+    _lib._objc_msgSend_423(
+        _id, _lib._sel_intersectSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  void minusSet_(NSSet? other) {
+    _lib._objc_msgSend_423(
+        _id, _lib._sel_minusSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  void unionSet_(NSSet? other) {
+    _lib._objc_msgSend_423(
+        _id, _lib._sel_unionSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  void sortUsingComparator_(NSComparator cmptr) {
+    _lib._objc_msgSend_404(_id, _lib._sel_sortUsingComparator_1, cmptr);
+  }
+
+  void sortWithOptions_usingComparator_(int opts, NSComparator cmptr) {
+    _lib._objc_msgSend_405(
+        _id, _lib._sel_sortWithOptions_usingComparator_1, opts, cmptr);
+  }
+
+  void sortRange_options_usingComparator_(
+      NSRange range, int opts, NSComparator cmptr) {
+    _lib._objc_msgSend_424(
+        _id, _lib._sel_sortRange_options_usingComparator_1, range, opts, cmptr);
+  }
+
+  static NSMutableOrderedSet orderedSetWithCapacity_(
+      PedometerBindings _lib, int numItems) {
+    final _ret = _lib._objc_msgSend_52(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithCapacity_1, numItems);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void applyDifference_(NSObject? difference) {
+    _lib._objc_msgSend_15(
+        _id, _lib._sel_applyDifference_1, difference?._id ?? ffi.nullptr);
+  }
+
+  void sortUsingDescriptors_(NSArray? sortDescriptors) {
+    _lib._objc_msgSend_393(_id, _lib._sel_sortUsingDescriptors_1,
+        sortDescriptors?._id ?? ffi.nullptr);
+  }
+
+  void filterUsingPredicate_(NSPredicate? p) {
+    _lib._objc_msgSend_408(
+        _id, _lib._sel_filterUsingPredicate_1, p?._id ?? ffi.nullptr);
+  }
+
+  static NSMutableOrderedSet orderedSet(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableOrderedSet1, _lib._sel_orderedSet1);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithObject_(
+      PedometerBindings _lib, NSObject object) {
+    final _ret = _lib._objc_msgSend_16(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithObject_1, object._id);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithObjects_count_(
+      PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+      int cnt) {
+    final _ret = _lib._objc_msgSend_53(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithObjects_count_1, objects, cnt);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithObjects_(
+      PedometerBindings _lib, NSObject firstObj) {
+    final _ret = _lib._objc_msgSend_16(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithObjects_1, firstObj._id);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithOrderedSet_(
+      PedometerBindings _lib, NSOrderedSet? set) {
+    final _ret = _lib._objc_msgSend_411(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithOrderedSet_1, set?._id ?? ffi.nullptr);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithOrderedSet_range_copyItems_(
+      PedometerBindings _lib, NSOrderedSet? set, NSRange range, bool flag) {
+    final _ret = _lib._objc_msgSend_412(
+        _lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithOrderedSet_range_copyItems_1,
+        set?._id ?? ffi.nullptr,
+        range,
+        flag);
+    return NSMutableOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithArray_(
+      PedometerBindings _lib, NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithArray_1, array?._id ?? ffi.nullptr);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithArray_range_copyItems_(
+      PedometerBindings _lib, NSArray? array, NSRange range, bool flag) {
+    final _ret = _lib._objc_msgSend_413(
+        _lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithArray_range_copyItems_1,
+        array?._id ?? ffi.nullptr,
+        range,
+        flag);
+    return NSMutableOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithSet_(
+      PedometerBindings _lib, NSSet? set) {
+    final _ret = _lib._objc_msgSend_338(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithSet_1, set?._id ?? ffi.nullptr);
+    return NSMutableOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableOrderedSet orderedSetWithSet_copyItems_(
+      PedometerBindings _lib, NSSet? set, bool flag) {
+    final _ret = _lib._objc_msgSend_339(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_orderedSetWithSet_copyItems_1, set?._id ?? ffi.nullptr, flag);
+    return NSMutableOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableOrderedSet new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableOrderedSet1, _lib._sel_new1);
+    return NSMutableOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableOrderedSet alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableOrderedSet1, _lib._sel_alloc1);
+    return NSMutableOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableOrderedSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableOrderedSet1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableOrderedSet1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSMutableOrderedSet1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableOrderedSet1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Immutable Ordered Set
+class NSOrderedSet extends NSObject {
+  NSOrderedSet._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSOrderedSet] that points to the same underlying object as [other].
+  static NSOrderedSet castFrom<T extends _ObjCWrapper>(T other) {
+    return NSOrderedSet._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSOrderedSet] that wraps the given raw object pointer.
+  static NSOrderedSet castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSOrderedSet._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSOrderedSet].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSOrderedSet1);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  NSObject objectAtIndex_(int idx) {
+    final _ret = _lib._objc_msgSend_52(_id, _lib._sel_objectAtIndex_1, idx);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  int indexOfObject_(NSObject object) {
+    return _lib._objc_msgSend_61(_id, _lib._sel_indexOfObject_1, object._id);
+  }
+
+  @override
+  NSOrderedSet init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet initWithObjects_count_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(
+        _id, _lib._sel_initWithObjects_count_1, objects, cnt);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getObjects_range_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, NSRange range) {
+    _lib._objc_msgSend_60(_id, _lib._sel_getObjects_range_1, objects, range);
+  }
+
+  NSArray objectsAtIndexes_(NSIndexSet? indexes) {
+    final _ret = _lib._objc_msgSend_96(
+        _id, _lib._sel_objectsAtIndexes_1, indexes?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject get firstObject {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_firstObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject get lastObject {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_lastObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool isEqualToOrderedSet_(NSOrderedSet? other) {
+    return _lib._objc_msgSend_409(
+        _id, _lib._sel_isEqualToOrderedSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  bool containsObject_(NSObject object) {
+    return _lib._objc_msgSend_0(_id, _lib._sel_containsObject_1, object._id);
+  }
+
+  bool intersectsOrderedSet_(NSOrderedSet? other) {
+    return _lib._objc_msgSend_409(
+        _id, _lib._sel_intersectsOrderedSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  bool intersectsSet_(NSSet? set) {
+    return _lib._objc_msgSend_330(
+        _id, _lib._sel_intersectsSet_1, set?._id ?? ffi.nullptr);
+  }
+
+  bool isSubsetOfOrderedSet_(NSOrderedSet? other) {
+    return _lib._objc_msgSend_409(
+        _id, _lib._sel_isSubsetOfOrderedSet_1, other?._id ?? ffi.nullptr);
+  }
+
+  bool isSubsetOfSet_(NSSet? set) {
+    return _lib._objc_msgSend_330(
+        _id, _lib._sel_isSubsetOfSet_1, set?._id ?? ffi.nullptr);
+  }
+
+  NSObject objectAtIndexedSubscript_(int idx) {
+    final _ret =
+        _lib._objc_msgSend_52(_id, _lib._sel_objectAtIndexedSubscript_1, idx);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator objectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_objectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator reverseObjectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_reverseObjectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet? get reversedOrderedSet {
+    final _ret = _lib._objc_msgSend_410(_id, _lib._sel_reversedOrderedSet1);
+    return _ret.address == 0
+        ? null
+        : NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get array {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_array1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSSet? get set1 {
+    final _ret = _lib._objc_msgSend_244(_id, _lib._sel_set1);
+    return _ret.address == 0
+        ? null
+        : NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateObjectsUsingBlock_(
+      ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool block) {
+    _lib._objc_msgSend_97(
+        _id, _lib._sel_enumerateObjectsUsingBlock_1, block._id);
+  }
+
+  void enumerateObjectsWithOptions_usingBlock_(
+      int opts, ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool block) {
+    _lib._objc_msgSend_98(_id,
+        _lib._sel_enumerateObjectsWithOptions_usingBlock_1, opts, block._id);
+  }
+
+  void enumerateObjectsAtIndexes_options_usingBlock_(NSIndexSet? s, int opts,
+      ObjCBlock_ffiVoid_ObjCObject_NSUInteger_bool block) {
+    _lib._objc_msgSend_99(
+        _id,
+        _lib._sel_enumerateObjectsAtIndexes_options_usingBlock_1,
+        s?._id ?? ffi.nullptr,
+        opts,
+        block._id);
+  }
+
+  int indexOfObjectPassingTest_(
+      ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_100(
+        _id, _lib._sel_indexOfObjectPassingTest_1, predicate._id);
+  }
+
+  int indexOfObjectWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_101(_id,
+        _lib._sel_indexOfObjectWithOptions_passingTest_1, opts, predicate._id);
+  }
+
+  int indexOfObjectAtIndexes_options_passingTest_(NSIndexSet? s, int opts,
+      ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    return _lib._objc_msgSend_102(
+        _id,
+        _lib._sel_indexOfObjectAtIndexes_options_passingTest_1,
+        s?._id ?? ffi.nullptr,
+        opts,
+        predicate._id);
+  }
+
+  NSIndexSet indexesOfObjectsPassingTest_(
+      ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_103(
+        _id, _lib._sel_indexesOfObjectsPassingTest_1, predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet indexesOfObjectsWithOptions_passingTest_(
+      int opts, ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_104(
+        _id,
+        _lib._sel_indexesOfObjectsWithOptions_passingTest_1,
+        opts,
+        predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexSet indexesOfObjectsAtIndexes_options_passingTest_(NSIndexSet? s,
+      int opts, ObjCBlock_bool_ObjCObject_NSUInteger_bool predicate) {
+    final _ret = _lib._objc_msgSend_105(
+        _id,
+        _lib._sel_indexesOfObjectsAtIndexes_options_passingTest_1,
+        s?._id ?? ffi.nullptr,
+        opts,
+        predicate._id);
+    return NSIndexSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  int indexOfObject_inSortedRange_options_usingComparator_(
+      NSObject object, NSRange range, int opts, NSComparator cmp) {
+    return _lib._objc_msgSend_108(
+        _id,
+        _lib._sel_indexOfObject_inSortedRange_options_usingComparator_1,
+        object._id,
+        range,
+        opts,
+        cmp);
+  }
+
+  NSArray sortedArrayUsingComparator_(NSComparator cmptr) {
+    final _ret = _lib._objc_msgSend_106(
+        _id, _lib._sel_sortedArrayUsingComparator_1, cmptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray sortedArrayWithOptions_usingComparator_(
+      int opts, NSComparator cmptr) {
+    final _ret = _lib._objc_msgSend_107(
+        _id, _lib._sel_sortedArrayWithOptions_usingComparator_1, opts, cmptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_(NSObject locale) {
+    final _ret = _lib._objc_msgSend_57(
+        _id, _lib._sel_descriptionWithLocale_1, locale._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString descriptionWithLocale_indent_(NSObject locale, int level) {
+    final _ret = _lib._objc_msgSend_58(
+        _id, _lib._sel_descriptionWithLocale_indent_1, locale._id, level);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSet(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOrderedSet1, _lib._sel_orderedSet1);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithObject_(
+      PedometerBindings _lib, NSObject object) {
+    final _ret = _lib._objc_msgSend_16(_lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithObject_1, object._id);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithObjects_count_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(_lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithObjects_count_1, objects, cnt);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithObjects_(
+      PedometerBindings _lib, NSObject firstObj) {
+    final _ret = _lib._objc_msgSend_16(_lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithObjects_1, firstObj._id);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithOrderedSet_(
+      PedometerBindings _lib, NSOrderedSet? set) {
+    final _ret = _lib._objc_msgSend_411(_lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithOrderedSet_1, set?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithOrderedSet_range_copyItems_(
+      PedometerBindings _lib, NSOrderedSet? set, NSRange range, bool flag) {
+    final _ret = _lib._objc_msgSend_412(
+        _lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithOrderedSet_range_copyItems_1,
+        set?._id ?? ffi.nullptr,
+        range,
+        flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithArray_(
+      PedometerBindings _lib, NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithArray_1, array?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithArray_range_copyItems_(
+      PedometerBindings _lib, NSArray? array, NSRange range, bool flag) {
+    final _ret = _lib._objc_msgSend_413(
+        _lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithArray_range_copyItems_1,
+        array?._id ?? ffi.nullptr,
+        range,
+        flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithSet_(PedometerBindings _lib, NSSet? set) {
+    final _ret = _lib._objc_msgSend_338(_lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithSet_1, set?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet orderedSetWithSet_copyItems_(
+      PedometerBindings _lib, NSSet? set, bool flag) {
+    final _ret = _lib._objc_msgSend_339(_lib._class_NSOrderedSet1,
+        _lib._sel_orderedSetWithSet_copyItems_1, set?._id ?? ffi.nullptr, flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSOrderedSet initWithObject_(NSObject object) {
+    final _ret =
+        _lib._objc_msgSend_16(_id, _lib._sel_initWithObject_1, object._id);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet initWithObjects_(NSObject firstObj) {
+    final _ret =
+        _lib._objc_msgSend_16(_id, _lib._sel_initWithObjects_1, firstObj._id);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet initWithOrderedSet_(NSOrderedSet? set) {
+    final _ret = _lib._objc_msgSend_411(
+        _id, _lib._sel_initWithOrderedSet_1, set?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet initWithOrderedSet_copyItems_(NSOrderedSet? set, bool flag) {
+    final _ret = _lib._objc_msgSend_414(
+        _id,
+        _lib._sel_initWithOrderedSet_copyItems_1,
+        set?._id ?? ffi.nullptr,
+        flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSOrderedSet initWithOrderedSet_range_copyItems_(
+      NSOrderedSet? set, NSRange range, bool flag) {
+    final _ret = _lib._objc_msgSend_412(
+        _id,
+        _lib._sel_initWithOrderedSet_range_copyItems_1,
+        set?._id ?? ffi.nullptr,
+        range,
+        flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSOrderedSet initWithArray_(NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(
+        _id, _lib._sel_initWithArray_1, array?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet initWithArray_copyItems_(NSArray? set, bool flag) {
+    final _ret = _lib._objc_msgSend_109(_id,
+        _lib._sel_initWithArray_copyItems_1, set?._id ?? ffi.nullptr, flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSOrderedSet initWithArray_range_copyItems_(
+      NSArray? set, NSRange range, bool flag) {
+    final _ret = _lib._objc_msgSend_413(
+        _id,
+        _lib._sel_initWithArray_range_copyItems_1,
+        set?._id ?? ffi.nullptr,
+        range,
+        flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSOrderedSet initWithSet_(NSSet? set) {
+    final _ret = _lib._objc_msgSend_338(
+        _id, _lib._sel_initWithSet_1, set?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet initWithSet_copyItems_(NSSet? set, bool flag) {
+    final _ret = _lib._objc_msgSend_339(
+        _id, _lib._sel_initWithSet_copyItems_1, set?._id ?? ffi.nullptr, flag);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSObject differenceFromOrderedSet_withOptions_usingEquivalenceTest_(
+      NSOrderedSet? other,
+      int options,
+      ObjCBlock_bool_ObjCObject_ObjCObject block) {
+    final _ret = _lib._objc_msgSend_415(
+        _id,
+        _lib._sel_differenceFromOrderedSet_withOptions_usingEquivalenceTest_1,
+        other?._id ?? ffi.nullptr,
+        options,
+        block._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject differenceFromOrderedSet_withOptions_(
+      NSOrderedSet? other, int options) {
+    final _ret = _lib._objc_msgSend_416(
+        _id,
+        _lib._sel_differenceFromOrderedSet_withOptions_1,
+        other?._id ?? ffi.nullptr,
+        options);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject differenceFromOrderedSet_(NSOrderedSet? other) {
+    final _ret = _lib._objc_msgSend_411(
+        _id, _lib._sel_differenceFromOrderedSet_1, other?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet orderedSetByApplyingDifference_(NSObject? difference) {
+    final _ret = _lib._objc_msgSend_417(
+        _id,
+        _lib._sel_orderedSetByApplyingDifference_1,
+        difference?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSObject valueForKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_valueForKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  void setValue_forKey_(NSObject value, NSString? key) {
+    _lib._objc_msgSend_117(
+        _id, _lib._sel_setValue_forKey_1, value._id, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void addObserver_forKeyPath_options_context_(NSObject? observer,
+      NSString? keyPath, int options, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_121(
+        _id,
+        _lib._sel_addObserver_forKeyPath_options_context_1,
+        observer?._id ?? ffi.nullptr,
+        keyPath?._id ?? ffi.nullptr,
+        options,
+        context);
+  }
+
+  @override
+  void removeObserver_forKeyPath_context_(
+      NSObject? observer, NSString? keyPath, ffi.Pointer<ffi.Void> context) {
+    _lib._objc_msgSend_122(_id, _lib._sel_removeObserver_forKeyPath_context_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr, context);
+  }
+
+  @override
+  void removeObserver_forKeyPath_(NSObject? observer, NSString? keyPath) {
+    _lib._objc_msgSend_123(_id, _lib._sel_removeObserver_forKeyPath_1,
+        observer?._id ?? ffi.nullptr, keyPath?._id ?? ffi.nullptr);
+  }
+
+  NSArray sortedArrayUsingDescriptors_(NSArray? sortDescriptors) {
+    final _ret = _lib._objc_msgSend_55(
+        _id,
+        _lib._sel_sortedArrayUsingDescriptors_1,
+        sortDescriptors?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOrderedSet filteredOrderedSetUsingPredicate_(NSPredicate? p) {
+    final _ret = _lib._objc_msgSend_418(_id,
+        _lib._sel_filteredOrderedSetUsingPredicate_1, p?._id ?? ffi.nullptr);
+    return NSOrderedSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOrderedSet new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOrderedSet1, _lib._sel_new1);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSOrderedSet alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOrderedSet1, _lib._sel_alloc1);
+    return NSOrderedSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSOrderedSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSOrderedSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSOrderedSet1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSOrderedSet1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSOrderedSet1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSOrderedSet1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSOrderedSet1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Mutable Set
+class NSMutableSet extends NSSet {
+  NSMutableSet._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableSet] that points to the same underlying object as [other].
+  static NSMutableSet castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableSet._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableSet] that wraps the given raw object pointer.
+  static NSMutableSet castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableSet._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableSet].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMutableSet1);
+  }
+
+  void addObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_addObject_1, object._id);
+  }
+
+  void removeObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_removeObject_1, object._id);
+  }
+
+  @override
+  NSMutableSet initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSMutableSet init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableSet initWithCapacity_(int numItems) {
+    final _ret =
+        _lib._objc_msgSend_52(_id, _lib._sel_initWithCapacity_1, numItems);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void addObjectsFromArray_(NSArray? array) {
+    _lib._objc_msgSend_393(
+        _id, _lib._sel_addObjectsFromArray_1, array?._id ?? ffi.nullptr);
+  }
+
+  void intersectSet_(NSSet? otherSet) {
+    _lib._objc_msgSend_423(
+        _id, _lib._sel_intersectSet_1, otherSet?._id ?? ffi.nullptr);
+  }
+
+  void minusSet_(NSSet? otherSet) {
+    _lib._objc_msgSend_423(
+        _id, _lib._sel_minusSet_1, otherSet?._id ?? ffi.nullptr);
+  }
+
+  void removeAllObjects() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllObjects1);
+  }
+
+  void unionSet_(NSSet? otherSet) {
+    _lib._objc_msgSend_423(
+        _id, _lib._sel_unionSet_1, otherSet?._id ?? ffi.nullptr);
+  }
+
+  void setSet_(NSSet? otherSet) {
+    _lib._objc_msgSend_423(
+        _id, _lib._sel_setSet_1, otherSet?._id ?? ffi.nullptr);
+  }
+
+  static NSMutableSet setWithCapacity_(PedometerBindings _lib, int numItems) {
+    final _ret = _lib._objc_msgSend_52(
+        _lib._class_NSMutableSet1, _lib._sel_setWithCapacity_1, numItems);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  void filterUsingPredicate_(NSPredicate? predicate) {
+    _lib._objc_msgSend_408(
+        _id, _lib._sel_filterUsingPredicate_1, predicate?._id ?? ffi.nullptr);
+  }
+
+  static NSMutableSet set1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableSet1, _lib._sel_set1);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableSet setWithObject_(PedometerBindings _lib, NSObject object) {
+    final _ret = _lib._objc_msgSend_16(
+        _lib._class_NSMutableSet1, _lib._sel_setWithObject_1, object._id);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableSet setWithObjects_count_(PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects, int cnt) {
+    final _ret = _lib._objc_msgSend_53(_lib._class_NSMutableSet1,
+        _lib._sel_setWithObjects_count_1, objects, cnt);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableSet setWithObjects_(
+      PedometerBindings _lib, NSObject firstObj) {
+    final _ret = _lib._objc_msgSend_16(
+        _lib._class_NSMutableSet1, _lib._sel_setWithObjects_1, firstObj._id);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableSet setWithSet_(PedometerBindings _lib, NSSet? set) {
+    final _ret = _lib._objc_msgSend_338(_lib._class_NSMutableSet1,
+        _lib._sel_setWithSet_1, set?._id ?? ffi.nullptr);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableSet setWithArray_(PedometerBindings _lib, NSArray? array) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSMutableSet1,
+        _lib._sel_setWithArray_1, array?._id ?? ffi.nullptr);
+    return NSMutableSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableSet new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableSet1, _lib._sel_new1);
+    return NSMutableSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableSet alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableSet1, _lib._sel_alloc1);
+    return NSMutableSet._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableSet1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSMutableSet1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableSet1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableSet1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSMutableSet1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableSet1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSKeyValueChange {
+  static const int NSKeyValueChangeSetting = 1;
+  static const int NSKeyValueChangeInsertion = 2;
+  static const int NSKeyValueChangeRemoval = 3;
+  static const int NSKeyValueChangeReplacement = 4;
+}
+
+abstract class NSKeyValueSetMutationKind {
+  static const int NSKeyValueUnionSetMutation = 1;
+  static const int NSKeyValueMinusSetMutation = 2;
+  static const int NSKeyValueIntersectSetMutation = 3;
+  static const int NSKeyValueSetSetMutation = 4;
+}
+
+class NSKeyedArchiver extends NSCoder {
+  NSKeyedArchiver._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSKeyedArchiver] that points to the same underlying object as [other].
+  static NSKeyedArchiver castFrom<T extends _ObjCWrapper>(T other) {
+    return NSKeyedArchiver._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSKeyedArchiver] that wraps the given raw object pointer.
+  static NSKeyedArchiver castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSKeyedArchiver._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSKeyedArchiver].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSKeyedArchiver1);
+  }
+
+  /// Initializes the receiver for encoding an archive, optionally disabling secure coding.
+  ///
+  /// If \c NSSecureCoding cannot be used, \c requiresSecureCoding may be turned off here; for improved security, however, \c requiresSecureCoding should be left enabled whenever possible. \c requiresSecureCoding ensures that all encoded objects conform to \c NSSecureCoding, preventing the possibility of encoding objects which cannot be decoded later.
+  ///
+  /// To produce archives whose structure matches those previously encoded using \c +archivedDataWithRootObject, encode the top-level object in your archive for the \c NSKeyedArchiveRootObjectKey.
+  NSKeyedArchiver initRequiringSecureCoding_(bool requiresSecureCoding) {
+    final _ret = _lib._objc_msgSend_433(
+        _id, _lib._sel_initRequiringSecureCoding_1, requiresSecureCoding);
+    return NSKeyedArchiver._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Returns an \c NSData object containing the encoded form of the object graph whose root object is given, optionally disabling secure coding.
+  ///
+  /// If \c NSSecureCoding cannot be used, \c requiresSecureCoding may be turned off here; for improved security, however, \c requiresSecureCoding should be left enabled whenever possible. \c requiresSecureCoding ensures that all encoded objects conform to \c NSSecureCoding, preventing the possibility of encoding objects which cannot be decoded later.
+  ///
+  /// If the object graph cannot be encoded, returns \c nil and sets the \c error out parameter.
+  static NSData archivedDataWithRootObject_requiringSecureCoding_error_(
+      PedometerBindings _lib,
+      NSObject object,
+      bool requiresSecureCoding,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_434(
+        _lib._class_NSKeyedArchiver1,
+        _lib._sel_archivedDataWithRootObject_requiringSecureCoding_error_1,
+        object._id,
+        requiresSecureCoding,
+        error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Initialize the archiver with empty data, ready for writing.
+  NSKeyedArchiver init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSKeyedArchiver._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSKeyedArchiver initForWritingWithMutableData_(NSMutableData? data) {
+    final _ret = _lib._objc_msgSend_439(_id,
+        _lib._sel_initForWritingWithMutableData_1, data?._id ?? ffi.nullptr);
+    return NSKeyedArchiver._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData archivedDataWithRootObject_(
+      PedometerBindings _lib, NSObject rootObject) {
+    final _ret = _lib._objc_msgSend_440(_lib._class_NSKeyedArchiver1,
+        _lib._sel_archivedDataWithRootObject_1, rootObject._id);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool archiveRootObject_toFile_(
+      PedometerBindings _lib, NSObject rootObject, NSString? path) {
+    return _lib._objc_msgSend_441(
+        _lib._class_NSKeyedArchiver1,
+        _lib._sel_archiveRootObject_toFile_1,
+        rootObject._id,
+        path?._id ?? ffi.nullptr);
+  }
+
+  NSObject? get delegate {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set delegate(NSObject? value) {
+    return _lib._objc_msgSend_343(
+        _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get outputFormat {
+    return _lib._objc_msgSend_442(_id, _lib._sel_outputFormat1);
+  }
+
+  set outputFormat(int value) {
+    return _lib._objc_msgSend_443(_id, _lib._sel_setOutputFormat_1, value);
+  }
+
+  /// If encoding has not yet finished, then invoking this property will call finishEncoding and return the data. If you initialized the keyed archiver with a specific mutable data instance, then it will be returned from this property after finishEncoding is called.
+  NSData? get encodedData {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_encodedData1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  void finishEncoding() {
+    _lib._objc_msgSend_1(_id, _lib._sel_finishEncoding1);
+  }
+
+  static void setClassName_forClass_(
+      PedometerBindings _lib, NSString? codedName, NSObject cls) {
+    _lib._objc_msgSend_444(
+        _lib._class_NSKeyedArchiver1,
+        _lib._sel_setClassName_forClass_1,
+        codedName?._id ?? ffi.nullptr,
+        cls._id);
+  }
+
+  static NSString classNameForClass_(PedometerBindings _lib, NSObject cls) {
+    final _ret = _lib._objc_msgSend_57(
+        _lib._class_NSKeyedArchiver1, _lib._sel_classNameForClass_1, cls._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  void encodeObject_forKey_(NSObject object, NSString? key) {
+    _lib._objc_msgSend_117(_id, _lib._sel_encodeObject_forKey_1, object._id,
+        key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeConditionalObject_forKey_(NSObject object, NSString? key) {
+    _lib._objc_msgSend_117(_id, _lib._sel_encodeConditionalObject_forKey_1,
+        object._id, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeBool_forKey_(bool value, NSString? key) {
+    _lib._objc_msgSend_221(
+        _id, _lib._sel_encodeBool_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeInt_forKey_(int value, NSString? key) {
+    _lib._objc_msgSend_222(
+        _id, _lib._sel_encodeInt_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeInt32_forKey_(int value, NSString? key) {
+    _lib._objc_msgSend_223(
+        _id, _lib._sel_encodeInt32_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeInt64_forKey_(int value, NSString? key) {
+    _lib._objc_msgSend_224(
+        _id, _lib._sel_encodeInt64_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeFloat_forKey_(double value, NSString? key) {
+    _lib._objc_msgSend_225(
+        _id, _lib._sel_encodeFloat_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeDouble_forKey_(double value, NSString? key) {
+    _lib._objc_msgSend_226(
+        _id, _lib._sel_encodeDouble_forKey_1, value, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  void encodeBytes_length_forKey_(
+      ffi.Pointer<ffi.Uint8> bytes, int length, NSString? key) {
+    _lib._objc_msgSend_227(_id, _lib._sel_encodeBytes_length_forKey_1, bytes,
+        length, key?._id ?? ffi.nullptr);
+  }
+
+  @override
+  bool get requiresSecureCoding {
+    return _lib._objc_msgSend_12(_id, _lib._sel_requiresSecureCoding1);
+  }
+
+  set requiresSecureCoding(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setRequiresSecureCoding_1, value);
+  }
+
+  static NSKeyedArchiver new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSKeyedArchiver1, _lib._sel_new1);
+    return NSKeyedArchiver._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSKeyedArchiver alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSKeyedArchiver1, _lib._sel_alloc1);
+    return NSKeyedArchiver._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSKeyedArchiver1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSKeyedArchiver1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSKeyedArchiver1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSKeyedArchiver1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSKeyedArchiver1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSKeyedArchiver1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSKeyedArchiver1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Mutable Data
+class NSMutableData extends NSData {
+  NSMutableData._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableData] that points to the same underlying object as [other].
+  static NSMutableData castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableData._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableData] that wraps the given raw object pointer.
+  static NSMutableData castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableData._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableData].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMutableData1);
+  }
+
+  ffi.Pointer<ffi.Void> get mutableBytes {
+    return _lib._objc_msgSend_19(_id, _lib._sel_mutableBytes1);
+  }
+
+  @override
+  int get length {
+    return _lib._objc_msgSend_10(_id, _lib._sel_length1);
+  }
+
+  set length(int value) {
+    return _lib._objc_msgSend_435(_id, _lib._sel_setLength_1, value);
+  }
+
+  void appendBytes_length_(ffi.Pointer<ffi.Void> bytes, int length) {
+    _lib._objc_msgSend_21(_id, _lib._sel_appendBytes_length_1, bytes, length);
+  }
+
+  void appendData_(NSData? other) {
+    _lib._objc_msgSend_212(
+        _id, _lib._sel_appendData_1, other?._id ?? ffi.nullptr);
+  }
+
+  void increaseLengthBy_(int extraLength) {
+    _lib._objc_msgSend_391(_id, _lib._sel_increaseLengthBy_1, extraLength);
+  }
+
+  void replaceBytesInRange_withBytes_(
+      NSRange range, ffi.Pointer<ffi.Void> bytes) {
+    _lib._objc_msgSend_436(
+        _id, _lib._sel_replaceBytesInRange_withBytes_1, range, bytes);
+  }
+
+  void resetBytesInRange_(NSRange range) {
+    _lib._objc_msgSend_397(_id, _lib._sel_resetBytesInRange_1, range);
+  }
+
+  void setData_(NSData? data) {
+    _lib._objc_msgSend_212(_id, _lib._sel_setData_1, data?._id ?? ffi.nullptr);
+  }
+
+  void replaceBytesInRange_withBytes_length_(NSRange range,
+      ffi.Pointer<ffi.Void> replacementBytes, int replacementLength) {
+    _lib._objc_msgSend_437(
+        _id,
+        _lib._sel_replaceBytesInRange_withBytes_length_1,
+        range,
+        replacementBytes,
+        replacementLength);
+  }
+
+  static NSMutableData dataWithCapacity_(
+      PedometerBindings _lib, int aNumItems) {
+    final _ret = _lib._objc_msgSend_52(
+        _lib._class_NSMutableData1, _lib._sel_dataWithCapacity_1, aNumItems);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData dataWithLength_(PedometerBindings _lib, int length) {
+    final _ret = _lib._objc_msgSend_52(
+        _lib._class_NSMutableData1, _lib._sel_dataWithLength_1, length);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableData initWithCapacity_(int capacity) {
+    final _ret =
+        _lib._objc_msgSend_52(_id, _lib._sel_initWithCapacity_1, capacity);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableData initWithLength_(int length) {
+    final _ret = _lib._objc_msgSend_52(_id, _lib._sel_initWithLength_1, length);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool decompressUsingAlgorithm_error_(
+      int algorithm, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_438(
+        _id, _lib._sel_decompressUsingAlgorithm_error_1, algorithm, error);
+  }
+
+  bool compressUsingAlgorithm_error_(
+      int algorithm, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_438(
+        _id, _lib._sel_compressUsingAlgorithm_error_1, algorithm, error);
+  }
+
+  static NSMutableData data(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableData1, _lib._sel_data1);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData dataWithBytes_length_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> bytes, int length) {
+    final _ret = _lib._objc_msgSend_200(_lib._class_NSMutableData1,
+        _lib._sel_dataWithBytes_length_1, bytes, length);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData dataWithBytesNoCopy_length_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> bytes, int length) {
+    final _ret = _lib._objc_msgSend_200(_lib._class_NSMutableData1,
+        _lib._sel_dataWithBytesNoCopy_length_1, bytes, length);
+    return NSMutableData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableData dataWithBytesNoCopy_length_freeWhenDone_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Void> bytes, int length, bool b) {
+    final _ret = _lib._objc_msgSend_201(_lib._class_NSMutableData1,
+        _lib._sel_dataWithBytesNoCopy_length_freeWhenDone_1, bytes, length, b);
+    return NSMutableData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableData dataWithContentsOfFile_options_error_(
+      PedometerBindings _lib,
+      NSString? path,
+      int readOptionsMask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    final _ret = _lib._objc_msgSend_202(
+        _lib._class_NSMutableData1,
+        _lib._sel_dataWithContentsOfFile_options_error_1,
+        path?._id ?? ffi.nullptr,
+        readOptionsMask,
+        errorPtr);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData dataWithContentsOfURL_options_error_(
+      PedometerBindings _lib,
+      NSURL? url,
+      int readOptionsMask,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> errorPtr) {
+    final _ret = _lib._objc_msgSend_203(
+        _lib._class_NSMutableData1,
+        _lib._sel_dataWithContentsOfURL_options_error_1,
+        url?._id ?? ffi.nullptr,
+        readOptionsMask,
+        errorPtr);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData dataWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSMutableData1,
+        _lib._sel_dataWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData dataWithContentsOfURL_(
+      PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSMutableData1,
+        _lib._sel_dataWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData dataWithData_(PedometerBindings _lib, NSData? data) {
+    final _ret = _lib._objc_msgSend_206(_lib._class_NSMutableData1,
+        _lib._sel_dataWithData_1, data?._id ?? ffi.nullptr);
+    return NSMutableData._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject dataWithContentsOfMappedFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSMutableData1,
+        _lib._sel_dataWithContentsOfMappedFile_1, path?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableData new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableData1, _lib._sel_new1);
+    return NSMutableData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableData alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableData1, _lib._sel_alloc1);
+    return NSMutableData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableData1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableData1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSMutableData1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableData1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableData1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSMutableData1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableData1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSPropertyListFormat {
+  static const int NSPropertyListOpenStepFormat = 1;
+  static const int NSPropertyListXMLFormat_v1_0 = 100;
+  static const int NSPropertyListBinaryFormat_v1_0 = 200;
+}
+
+class NSThread extends NSObject {
+  NSThread._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSThread] that points to the same underlying object as [other].
+  static NSThread castFrom<T extends _ObjCWrapper>(T other) {
+    return NSThread._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSThread] that wraps the given raw object pointer.
+  static NSThread castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSThread._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSThread].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSThread1);
+  }
+
+  static NSThread? getCurrentThread(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_449(_lib._class_NSThread1, _lib._sel_currentThread1);
+    return _ret.address == 0
+        ? null
+        : NSThread._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void detachNewThreadWithBlock_(
+      PedometerBindings _lib, ObjCBlock_ffiVoid block) {
+    _lib._objc_msgSend_450(
+        _lib._class_NSThread1, _lib._sel_detachNewThreadWithBlock_1, block._id);
+  }
+
+  static void detachNewThreadSelector_toTarget_withObject_(
+      PedometerBindings _lib,
+      ffi.Pointer<ObjCSel> selector,
+      NSObject target,
+      NSObject argument) {
+    _lib._objc_msgSend_451(
+        _lib._class_NSThread1,
+        _lib._sel_detachNewThreadSelector_toTarget_withObject_1,
+        selector,
+        target._id,
+        argument._id);
+  }
+
+  static bool isMultiThreaded(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSThread1, _lib._sel_isMultiThreaded1);
+  }
+
+  NSMutableDictionary? get threadDictionary {
+    final _ret = _lib._objc_msgSend_456(_id, _lib._sel_threadDictionary1);
+    return _ret.address == 0
+        ? null
+        : NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void sleepUntilDate_(PedometerBindings _lib, NSDate? date) {
+    _lib._objc_msgSend_457(_lib._class_NSThread1, _lib._sel_sleepUntilDate_1,
+        date?._id ?? ffi.nullptr);
+  }
+
+  static void sleepForTimeInterval_(PedometerBindings _lib, double ti) {
+    _lib._objc_msgSend_458(
+        _lib._class_NSThread1, _lib._sel_sleepForTimeInterval_1, ti);
+  }
+
+  static void exit(PedometerBindings _lib) {
+    _lib._objc_msgSend_1(_lib._class_NSThread1, _lib._sel_exit1);
+  }
+
+  double get threadPriority {
+    return _lib._objc_msgSend_146(_id, _lib._sel_threadPriority1);
+  }
+
+  set threadPriority(double value) {
+    return _lib._objc_msgSend_459(_id, _lib._sel_setThreadPriority_1, value);
+  }
+
+  int get qualityOfService {
+    return _lib._objc_msgSend_460(_id, _lib._sel_qualityOfService1);
+  }
+
+  set qualityOfService(int value) {
+    return _lib._objc_msgSend_461(_id, _lib._sel_setQualityOfService_1, value);
+  }
+
+  static NSArray? getCallStackReturnAddresses(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSThread1, _lib._sel_callStackReturnAddresses1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getCallStackSymbols(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSThread1, _lib._sel_callStackSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get name {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_name1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set name(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setName_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get stackSize {
+    return _lib._objc_msgSend_10(_id, _lib._sel_stackSize1);
+  }
+
+  set stackSize(int value) {
+    return _lib._objc_msgSend_435(_id, _lib._sel_setStackSize_1, value);
+  }
+
+  bool get isMainThread {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isMainThread1);
+  }
+
+  static NSThread? getMainThread(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_449(_lib._class_NSThread1, _lib._sel_mainThread1);
+    return _ret.address == 0
+        ? null
+        : NSThread._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSThread init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSThread._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSThread initWithTarget_selector_object_(
+      NSObject target, ffi.Pointer<ObjCSel> selector, NSObject argument) {
+    final _ret = _lib._objc_msgSend_463(
+        _id,
+        _lib._sel_initWithTarget_selector_object_1,
+        target._id,
+        selector,
+        argument._id);
+    return NSThread._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSThread initWithBlock_(ObjCBlock_ffiVoid block) {
+    final _ret =
+        _lib._objc_msgSend_464(_id, _lib._sel_initWithBlock_1, block._id);
+    return NSThread._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool get executing {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isExecuting1);
+  }
+
+  bool get finished {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isFinished1);
+  }
+
+  bool get cancelled {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isCancelled1);
+  }
+
+  void cancel() {
+    _lib._objc_msgSend_1(_id, _lib._sel_cancel1);
+  }
+
+  void start() {
+    _lib._objc_msgSend_1(_id, _lib._sel_start1);
+  }
+
+  void main() {
+    _lib._objc_msgSend_1(_id, _lib._sel_main1);
+  }
+
+  static NSThread new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSThread1, _lib._sel_new1);
+    return NSThread._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSThread alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSThread1, _lib._sel_alloc1);
+    return NSThread._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSThread1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSThread1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSThread1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSThread1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSThread1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSThread1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSThread1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Mutable Dictionary
+class NSMutableDictionary extends NSDictionary {
+  NSMutableDictionary._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableDictionary] that points to the same underlying object as [other].
+  static NSMutableDictionary castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableDictionary._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableDictionary] that wraps the given raw object pointer.
+  static NSMutableDictionary castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableDictionary._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableDictionary].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMutableDictionary1);
+  }
+
+  void removeObjectForKey_(NSObject aKey) {
+    _lib._objc_msgSend_15(_id, _lib._sel_removeObjectForKey_1, aKey._id);
+  }
+
+  void setObject_forKey_(NSObject anObject, NSObject aKey) {
+    _lib._objc_msgSend_452(
+        _id, _lib._sel_setObject_forKey_1, anObject._id, aKey._id);
+  }
+
+  @override
+  NSMutableDictionary init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableDictionary initWithCapacity_(int numItems) {
+    final _ret =
+        _lib._objc_msgSend_52(_id, _lib._sel_initWithCapacity_1, numItems);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSMutableDictionary initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  void addEntriesFromDictionary_(NSDictionary? otherDictionary) {
+    _lib._objc_msgSend_428(_id, _lib._sel_addEntriesFromDictionary_1,
+        otherDictionary?._id ?? ffi.nullptr);
+  }
+
+  void removeAllObjects() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllObjects1);
+  }
+
+  void removeObjectsForKeys_(NSArray? keyArray) {
+    _lib._objc_msgSend_393(
+        _id, _lib._sel_removeObjectsForKeys_1, keyArray?._id ?? ffi.nullptr);
+  }
+
+  void setDictionary_(NSDictionary? otherDictionary) {
+    _lib._objc_msgSend_428(
+        _id, _lib._sel_setDictionary_1, otherDictionary?._id ?? ffi.nullptr);
+  }
+
+  void setObject_forKeyedSubscript_(NSObject obj, NSObject key) {
+    _lib._objc_msgSend_452(
+        _id, _lib._sel_setObject_forKeyedSubscript_1, obj._id, key._id);
+  }
+
+  static NSMutableDictionary dictionaryWithCapacity_(
+      PedometerBindings _lib, int numItems) {
+    final _ret = _lib._objc_msgSend_52(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithCapacity_1, numItems);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_453(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithContentsOfURL_(
+      PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_454(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableDictionary initWithContentsOfFile_(NSString? path) {
+    final _ret = _lib._objc_msgSend_453(
+        _id, _lib._sel_initWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMutableDictionary initWithContentsOfURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_454(
+        _id, _lib._sel_initWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithSharedKeySet_(
+      PedometerBindings _lib, NSObject keyset) {
+    final _ret = _lib._objc_msgSend_455(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithSharedKeySet_1, keyset._id);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  void setValue_forKey_(NSObject value, NSString? key) {
+    _lib._objc_msgSend_117(
+        _id, _lib._sel_setValue_forKey_1, value._id, key?._id ?? ffi.nullptr);
+  }
+
+  static NSMutableDictionary dictionary(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableDictionary1, _lib._sel_dictionary1);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithObject_forKey_(
+      PedometerBindings _lib, NSObject object, NSObject key) {
+    final _ret = _lib._objc_msgSend_139(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithObject_forKey_1, object._id, key._id);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithObjects_forKeys_count_(
+      PedometerBindings _lib,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> objects,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> keys,
+      int cnt) {
+    final _ret = _lib._objc_msgSend_128(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithObjects_forKeys_count_1, objects, keys, cnt);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithObjectsAndKeys_(
+      PedometerBindings _lib, NSObject firstObject) {
+    final _ret = _lib._objc_msgSend_16(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithObjectsAndKeys_1, firstObject._id);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithDictionary_(
+      PedometerBindings _lib, NSDictionary? dict) {
+    final _ret = _lib._objc_msgSend_140(_lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithDictionary_1, dict?._id ?? ffi.nullptr);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary dictionaryWithObjects_forKeys_(
+      PedometerBindings _lib, NSArray? objects, NSArray? keys) {
+    final _ret = _lib._objc_msgSend_141(
+        _lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithObjects_forKeys_1,
+        objects?._id ?? ffi.nullptr,
+        keys?._id ?? ffi.nullptr);
+    return NSMutableDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary dictionaryWithContentsOfURL_error_(PedometerBindings _lib,
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_143(
+        _lib._class_NSMutableDictionary1,
+        _lib._sel_dictionaryWithContentsOfURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject sharedKeySetForKeys_(PedometerBindings _lib, NSArray? keys) {
+    final _ret = _lib._objc_msgSend_59(_lib._class_NSMutableDictionary1,
+        _lib._sel_sharedKeySetForKeys_1, keys?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableDictionary new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableDictionary1, _lib._sel_new1);
+    return NSMutableDictionary._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableDictionary alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableDictionary1, _lib._sel_alloc1);
+    return NSMutableDictionary._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableDictionary1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableDictionary1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMutableDictionary1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableDictionary1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableDictionary1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSMutableDictionary1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableDictionary1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSQualityOfService {
+  static const int NSQualityOfServiceUserInteractive = 33;
+  static const int NSQualityOfServiceUserInitiated = 25;
+  static const int NSQualityOfServiceUtility = 17;
+  static const int NSQualityOfServiceBackground = 9;
+  static const int NSQualityOfServiceDefault = -1;
+}
+
+typedef os_workgroup_join_token_t
+    = ffi.Pointer<os_workgroup_join_token_opaque_s>;
+typedef os_workgroup_working_arena_destructor_t
+    = ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>;
+typedef os_workgroup_index = ffi.Uint32;
+
+final class os_workgroup_max_parallel_threads_attr_s extends ffi.Opaque {}
+
+typedef os_workgroup_mpt_attr_t
+    = ffi.Pointer<os_workgroup_max_parallel_threads_attr_s>;
+typedef os_workgroup_interval_t = ffi.Pointer<ObjCObject>;
+typedef os_workgroup_interval_data_t
+    = ffi.Pointer<os_workgroup_interval_data_opaque_s>;
+typedef os_workgroup_parallel_t = ffi.Pointer<ObjCObject>;
+typedef os_workgroup_attr_t = ffi.Pointer<os_workgroup_attr_opaque_s>;
+
+final class time_value extends ffi.Struct {
+  @integer_t()
+  external int seconds;
+
+  @integer_t()
+  external int microseconds;
+}
+
+typedef integer_t = ffi.Int;
+
+final class mach_timespec extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int tv_sec;
+
+  @clock_res_t()
+  external int tv_nsec;
+}
+
+typedef clock_res_t = ffi.Int;
+
+/// !
+/// @typedef dispatch_time_t
+///
+/// @abstract
+/// A somewhat abstract representation of time; where zero means "now" and
+/// DISPATCH_TIME_FOREVER means "infinity" and every value in between is an
+/// opaque encoding.
+typedef dispatch_time_t = ffi.Uint64;
+
+abstract class qos_class_t {
+  static const int QOS_CLASS_USER_INTERACTIVE = 33;
+  static const int QOS_CLASS_USER_INITIATED = 25;
+  static const int QOS_CLASS_DEFAULT = 21;
+  static const int QOS_CLASS_UTILITY = 17;
+  static const int QOS_CLASS_BACKGROUND = 9;
+  static const int QOS_CLASS_UNSPECIFIED = 0;
+}
+
+typedef dispatch_object_t = ffi.Pointer<ObjCObject>;
+typedef dispatch_function_t
+    = ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>;
+
+/// !
+/// @typedef dispatch_block_t
+///
+/// @abstract
+/// The type of blocks submitted to dispatch queues, which take no arguments
+/// and have no return value.
+///
+/// @discussion
+/// When not building with Objective-C ARC, a block object allocated on or
+/// copied to the heap must be released with a -[release] message or the
+/// Block_release() function.
+///
+/// The declaration of a block literal allocates storage on the stack.
+/// Therefore, this is an invalid construct:
+/// <code>
+/// dispatch_block_t block;
+/// if (x) {
+/// block = ^{ printf("true\n"); };
+/// } else {
+/// block = ^{ printf("false\n"); };
+/// }
+/// block(); // unsafe!!!
+/// </code>
+///
+/// What is happening behind the scenes:
+/// <code>
+/// if (x) {
+/// struct Block __tmp_1 = ...; // setup details
+/// block = &__tmp_1;
+/// } else {
+/// struct Block __tmp_2 = ...; // setup details
+/// block = &__tmp_2;
+/// }
+/// </code>
+///
+/// As the example demonstrates, the address of a stack variable is escaping the
+/// scope in which it is allocated. That is a classic C bug.
+///
+/// Instead, the block literal must be copied to the heap with the Block_copy()
+/// function or by sending it a -[copy] message.
+typedef dispatch_block_t = ffi.Pointer<_ObjCBlock>;
+typedef dispatch_queue_t = ffi.Pointer<ObjCObject>;
+void _ObjCBlock_ffiVoid_ffiSize_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function(ffi.Size arg0)>>()
+      .asFunction<void Function(int arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_ffiSize_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_ffiSize_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_ffiSize_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_ffiSize_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ffiSize_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ffiSize_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0) {
+  (_ObjCBlock_ffiVoid_ffiSize_closureRegistry[block.ref.target.address] as void
+      Function(int))(arg0);
+}
+
+class ObjCBlock_ffiVoid_ffiSize extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ffiSize._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiSize.fromFunctionPointer(PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Size arg0)>> ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block, ffi.Size arg0)>(
+                        _ObjCBlock_ffiVoid_ffiSize_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiSize.fromFunction(
+      PedometerBindings lib, void Function(int arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block, ffi.Size arg0)>(
+                        _ObjCBlock_ffiVoid_ffiSize_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiSize_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ffiSize.listener(
+      PedometerBindings lib, void Function(int arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Size arg0)>.listener(
+                        _ObjCBlock_ffiVoid_ffiSize_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiSize_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(ffi.Pointer<_ObjCBlock> block, ffi.Size arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(int arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block, ffi.Size arg0)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block, int arg0)>()(_id, arg0);
+  }
+}
+
+final class dispatch_queue_s extends ffi.Opaque {}
+
+typedef dispatch_queue_global_t = ffi.Pointer<ObjCObject>;
+
+final class dispatch_queue_attr_s extends ffi.Opaque {}
+
+typedef dispatch_queue_attr_t = ffi.Pointer<ObjCObject>;
+
+abstract class dispatch_autorelease_frequency_t {
+  static const int DISPATCH_AUTORELEASE_FREQUENCY_INHERIT = 0;
+  static const int DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM = 1;
+  static const int DISPATCH_AUTORELEASE_FREQUENCY_NEVER = 2;
+}
+
+abstract class dispatch_block_flags_t {
+  static const int DISPATCH_BLOCK_BARRIER = 1;
+  static const int DISPATCH_BLOCK_DETACHED = 2;
+  static const int DISPATCH_BLOCK_ASSIGN_CURRENT = 4;
+  static const int DISPATCH_BLOCK_NO_QOS_CLASS = 8;
+  static const int DISPATCH_BLOCK_INHERIT_QOS_CLASS = 16;
+  static const int DISPATCH_BLOCK_ENFORCE_QOS_CLASS = 32;
+}
+
+final class mach_msg_type_descriptor_t extends ffi.Opaque {}
+
+final class mach_msg_port_descriptor_t extends ffi.Opaque {}
+
+final class mach_msg_ool_descriptor32_t extends ffi.Opaque {}
+
+final class mach_msg_ool_descriptor64_t extends ffi.Opaque {}
+
+final class mach_msg_ool_descriptor_t extends ffi.Opaque {}
+
+final class mach_msg_ool_ports_descriptor32_t extends ffi.Opaque {}
+
+final class mach_msg_ool_ports_descriptor64_t extends ffi.Opaque {}
+
+final class mach_msg_ool_ports_descriptor_t extends ffi.Opaque {}
+
+final class mach_msg_guarded_port_descriptor32_t extends ffi.Opaque {}
+
+final class mach_msg_guarded_port_descriptor64_t extends ffi.Opaque {}
+
+final class mach_msg_guarded_port_descriptor_t extends ffi.Opaque {}
+
+final class mach_msg_descriptor_t extends ffi.Opaque {}
+
+final class mach_msg_body_t extends ffi.Struct {
+  @mach_msg_size_t()
+  external int msgh_descriptor_count;
+}
+
+typedef mach_msg_size_t = natural_t;
+
+final class mach_msg_header_t extends ffi.Struct {
+  @mach_msg_bits_t()
+  external int msgh_bits;
+
+  @mach_msg_size_t()
+  external int msgh_size;
+
+  @mach_port_t()
+  external int msgh_remote_port;
+
+  @mach_port_t()
+  external int msgh_local_port;
+
+  @mach_port_name_t()
+  external int msgh_voucher_port;
+
+  @mach_msg_id_t()
+  external int msgh_id;
+}
+
+typedef mach_msg_bits_t = ffi.UnsignedInt;
+typedef mach_msg_id_t = integer_t;
+
+final class mach_msg_base_t extends ffi.Struct {
+  external mach_msg_header_t header;
+
+  external mach_msg_body_t body;
+}
+
+final class mach_msg_trailer_t extends ffi.Struct {
+  @mach_msg_trailer_type_t()
+  external int msgh_trailer_type;
+
+  @mach_msg_trailer_size_t()
+  external int msgh_trailer_size;
+}
+
+typedef mach_msg_trailer_type_t = ffi.UnsignedInt;
+typedef mach_msg_trailer_size_t = ffi.UnsignedInt;
+
+final class mach_msg_seqno_trailer_t extends ffi.Struct {
+  @mach_msg_trailer_type_t()
+  external int msgh_trailer_type;
+
+  @mach_msg_trailer_size_t()
+  external int msgh_trailer_size;
+
+  @mach_port_seqno_t()
+  external int msgh_seqno;
+}
+
+final class security_token_t extends ffi.Struct {
+  @ffi.Array.multi([2])
+  external ffi.Array<ffi.UnsignedInt> val;
+}
+
+final class mach_msg_security_trailer_t extends ffi.Struct {
+  @mach_msg_trailer_type_t()
+  external int msgh_trailer_type;
+
+  @mach_msg_trailer_size_t()
+  external int msgh_trailer_size;
+
+  @mach_port_seqno_t()
+  external int msgh_seqno;
+
+  external security_token_t msgh_sender;
+}
+
+final class audit_token_t extends ffi.Struct {
+  @ffi.Array.multi([8])
+  external ffi.Array<ffi.UnsignedInt> val;
+}
+
+final class mach_msg_audit_trailer_t extends ffi.Struct {
+  @mach_msg_trailer_type_t()
+  external int msgh_trailer_type;
+
+  @mach_msg_trailer_size_t()
+  external int msgh_trailer_size;
+
+  @mach_port_seqno_t()
+  external int msgh_seqno;
+
+  external security_token_t msgh_sender;
+
+  external audit_token_t msgh_audit;
+}
+
+@ffi.Packed(4)
+final class mach_msg_context_trailer_t extends ffi.Struct {
+  @mach_msg_trailer_type_t()
+  external int msgh_trailer_type;
+
+  @mach_msg_trailer_size_t()
+  external int msgh_trailer_size;
+
+  @mach_port_seqno_t()
+  external int msgh_seqno;
+
+  external security_token_t msgh_sender;
+
+  external audit_token_t msgh_audit;
+
+  @mach_port_context_t()
+  external int msgh_context;
+}
+
+typedef mach_port_context_t = mach_vm_address_t;
+typedef mach_vm_address_t = ffi.Uint64;
+
+final class msg_labels_t extends ffi.Struct {
+  @mach_port_name_t()
+  external int sender;
+}
+
+@ffi.Packed(4)
+final class mach_msg_mac_trailer_t extends ffi.Struct {
+  @mach_msg_trailer_type_t()
+  external int msgh_trailer_type;
+
+  @mach_msg_trailer_size_t()
+  external int msgh_trailer_size;
+
+  @mach_port_seqno_t()
+  external int msgh_seqno;
+
+  external security_token_t msgh_sender;
+
+  external audit_token_t msgh_audit;
+
+  @mach_port_context_t()
+  external int msgh_context;
+
+  @mach_msg_filter_id()
+  external int msgh_ad;
+
+  external msg_labels_t msgh_labels;
+}
+
+typedef mach_msg_filter_id = ffi.Int;
+
+final class mach_msg_empty_send_t extends ffi.Struct {
+  external mach_msg_header_t header;
+}
+
+final class mach_msg_empty_rcv_t extends ffi.Struct {
+  external mach_msg_header_t header;
+
+  external mach_msg_trailer_t trailer;
+}
+
+final class mach_msg_empty_t extends ffi.Union {
+  external mach_msg_empty_send_t send;
+
+  external mach_msg_empty_rcv_t rcv;
+}
+
+typedef mach_msg_return_t = kern_return_t;
+typedef kern_return_t = ffi.Int;
+typedef mach_msg_option_t = integer_t;
+typedef mach_msg_timeout_t = natural_t;
+
+final class dispatch_source_type_s extends ffi.Opaque {}
+
+typedef dispatch_source_t = ffi.Pointer<ObjCObject>;
+
+/// !
+/// @typedef dispatch_source_type_t
+///
+/// @abstract
+/// Constants of this type represent the class of low-level system object that
+/// is being monitored by the dispatch source. Constants of this type are
+/// passed as a parameter to dispatch_source_create() and determine how the
+/// handle argument is interpreted (i.e. as a file descriptor, mach port,
+/// signal number, process identifier, etc.), and how the mask argument is
+/// interpreted.
+typedef dispatch_source_type_t = ffi.Pointer<dispatch_source_type_s>;
+typedef dispatch_group_t = ffi.Pointer<ObjCObject>;
+typedef dispatch_semaphore_t = ffi.Pointer<ObjCObject>;
+
+/// !
+/// @typedef dispatch_once_t
+///
+/// @abstract
+/// A predicate for use with dispatch_once(). It must be initialized to zero.
+/// Note: static and global variables default to zero.
+typedef dispatch_once_t = ffi.IntPtr;
+
+final class dispatch_data_s extends ffi.Opaque {}
+
+typedef dispatch_data_t = ffi.Pointer<ObjCObject>;
+
+/// !
+/// @typedef dispatch_data_applier_t
+/// A block to be invoked for every contiguous memory region in a data object.
+///
+/// @param region	A data object representing the current region.
+/// @param offset	The logical offset of the current region to the start
+/// of the data object.
+/// @param buffer	The location of the memory for the current region.
+/// @param size		The size of the memory for the current region.
+/// @result		A Boolean indicating whether traversal should continue.
+typedef dispatch_data_applier_t = ffi.Pointer<_ObjCBlock>;
+bool _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    dispatch_data_t arg0,
+    int arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(dispatch_data_t arg0, ffi.Size arg1,
+                  ffi.Pointer<ffi.Void> arg2, ffi.Size arg3)>>()
+      .asFunction<
+          bool Function(dispatch_data_t arg0, int arg1,
+              ffi.Pointer<ffi.Void> arg2, int arg3)>()(arg0, arg1, arg2, arg3);
+}
+
+final _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_closureRegistryIndex;
+  _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_closureRegistry[id] =
+      fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    dispatch_data_t arg0,
+    int arg1,
+    ffi.Pointer<ffi.Void> arg2,
+    int arg3) {
+  return (_ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_closureRegistry[
+              block.ref.target.address]
+          as bool Function(dispatch_data_t, int, ffi.Pointer<ffi.Void>, int))(
+      arg0, arg1, arg2, arg3);
+}
+
+class ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize
+    extends _ObjCBlockBase {
+  ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Bool Function(dispatch_data_t arg0, ffi.Size arg1,
+                      ffi.Pointer<ffi.Void> arg2, ffi.Size arg3)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0,
+                                ffi.Size arg1,
+                                ffi.Pointer<ffi.Void> arg2,
+                                ffi.Size arg3)>(
+                        _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_fnPtrTrampoline,
+                        false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize.fromFunction(
+      PedometerBindings lib,
+      bool Function(dispatch_data_t arg0, int arg1, ffi.Pointer<ffi.Void> arg2,
+              int arg3)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0,
+                                ffi.Size arg1,
+                                ffi.Pointer<ffi.Void> arg2,
+                                ffi.Size arg3)>(
+                        _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_dispatchdatat_ffiSize_ffiVoid_ffiSize_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(
+      dispatch_data_t arg0, int arg1, ffi.Pointer<ffi.Void> arg2, int arg3) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    dispatch_data_t arg0,
+                    ffi.Size arg1,
+                    ffi.Pointer<ffi.Void> arg2,
+                    ffi.Size arg3)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                dispatch_data_t arg0,
+                int arg1,
+                ffi.Pointer<ffi.Void> arg2,
+                int arg3)>()(_id, arg0, arg1, arg2, arg3);
+  }
+}
+
+typedef dispatch_fd_t = ffi.Int;
+void _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0, int arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(dispatch_data_t arg0, ffi.Int arg1)>>()
+      .asFunction<void Function(dispatch_data_t arg0, int arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0, int arg1) {
+  (_ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureRegistry[block
+      .ref.target.address] as void Function(dispatch_data_t, int))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_dispatchdatat_ffiInt extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_dispatchdatat_ffiInt._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_dispatchdatat_ffiInt.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<
+                  ffi.Void Function(dispatch_data_t arg0, ffi.Int arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0, ffi.Int arg1)>(
+                        _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_dispatchdatat_ffiInt.fromFunction(
+      PedometerBindings lib, void Function(dispatch_data_t arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0, ffi.Int arg1)>(
+                        _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_dispatchdatat_ffiInt.listener(
+      PedometerBindings lib, void Function(dispatch_data_t arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0, ffi.Int arg1)>.listener(
+                        _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_dispatchdatat_ffiInt_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0,
+          ffi.Int arg1)>? _dartFuncListenerTrampoline;
+
+  void call(dispatch_data_t arg0, int arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    dispatch_data_t arg0, ffi.Int arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0,
+                int arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef dispatch_io_t = ffi.Pointer<ObjCObject>;
+typedef dispatch_io_type_t = ffi.UnsignedLong;
+void _ObjCBlock_ffiVoid_ffiInt_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function(ffi.Int arg0)>>()
+      .asFunction<void Function(int arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_ffiInt_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_ffiInt_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_ffiInt_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_ffiInt_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ffiInt_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ffiInt_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0) {
+  (_ObjCBlock_ffiVoid_ffiInt_closureRegistry[block.ref.target.address] as void
+      Function(int))(arg0);
+}
+
+class ObjCBlock_ffiVoid_ffiInt extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ffiInt._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiInt.fromFunctionPointer(PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Int arg0)>> ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block, ffi.Int arg0)>(
+                        _ObjCBlock_ffiVoid_ffiInt_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ffiInt.fromFunction(
+      PedometerBindings lib, void Function(int arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block, ffi.Int arg0)>(
+                        _ObjCBlock_ffiVoid_ffiInt_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiInt_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ffiInt.listener(
+      PedometerBindings lib, void Function(int arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Int arg0)>.listener(
+                        _ObjCBlock_ffiVoid_ffiInt_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ffiInt_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(ffi.Pointer<_ObjCBlock> block, ffi.Int arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(int arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block, ffi.Int arg0)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block, int arg0)>()(_id, arg0);
+  }
+}
+
+/// !
+/// @typedef dispatch_io_handler_t
+/// The prototype of I/O handler blocks for dispatch I/O operations.
+///
+/// @param done		A flag indicating whether the operation is complete.
+/// @param data		The data object to be handled.
+/// @param error		An errno condition for the operation.
+typedef dispatch_io_handler_t = ffi.Pointer<_ObjCBlock>;
+void _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, bool arg0, dispatch_data_t arg1, int arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Bool arg0, dispatch_data_t arg1, ffi.Int arg2)>>()
+      .asFunction<
+          void Function(
+              bool arg0, dispatch_data_t arg1, int arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_registerClosure(Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, bool arg0, dispatch_data_t arg1, int arg2) {
+  (_ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureRegistry[block.ref.target
+      .address] as void Function(bool, dispatch_data_t, int))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Bool arg0, dispatch_data_t arg1, ffi.Int arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Bool arg0,
+                                dispatch_data_t arg1,
+                                ffi.Int arg2)>(
+                        _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt.fromFunction(
+      PedometerBindings lib,
+      void Function(bool arg0, dispatch_data_t arg1, int arg2) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Bool arg0,
+                                dispatch_data_t arg1,
+                                ffi.Int arg2)>(
+                        _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt.listener(PedometerBindings lib,
+      void Function(bool arg0, dispatch_data_t arg1, int arg2) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Bool arg0,
+                                dispatch_data_t arg1,
+                                ffi.Int arg2)>.listener(
+                        _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_bool_dispatchdatat_ffiInt_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(ffi.Pointer<_ObjCBlock> block, ffi.Bool arg0,
+          dispatch_data_t arg1, ffi.Int arg2)>? _dartFuncListenerTrampoline;
+
+  void call(bool arg0, dispatch_data_t arg1, int arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block, ffi.Bool arg0,
+                    dispatch_data_t arg1, ffi.Int arg2)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, bool arg0,
+                dispatch_data_t arg1, int arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+typedef dispatch_io_close_flags_t = ffi.UnsignedLong;
+typedef dispatch_io_interval_flags_t = ffi.UnsignedLong;
+typedef dispatch_workloop_t = ffi.Pointer<ObjCObject>;
+
+final class CFStreamError extends ffi.Struct {
+  @CFIndex()
+  external int domain;
+
+  @SInt32()
+  external int error;
+}
+
+abstract class CFStreamStatus {
+  static const int kCFStreamStatusNotOpen = 0;
+  static const int kCFStreamStatusOpening = 1;
+  static const int kCFStreamStatusOpen = 2;
+  static const int kCFStreamStatusReading = 3;
+  static const int kCFStreamStatusWriting = 4;
+  static const int kCFStreamStatusAtEnd = 5;
+  static const int kCFStreamStatusClosed = 6;
+  static const int kCFStreamStatusError = 7;
+}
+
+abstract class CFStreamEventType {
+  static const int kCFStreamEventNone = 0;
+  static const int kCFStreamEventOpenCompleted = 1;
+  static const int kCFStreamEventHasBytesAvailable = 2;
+  static const int kCFStreamEventCanAcceptBytes = 4;
+  static const int kCFStreamEventErrorOccurred = 8;
+  static const int kCFStreamEventEndEncountered = 16;
+}
+
+final class CFStreamClientContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+final class __CFReadStream extends ffi.Opaque {}
+
+final class __CFWriteStream extends ffi.Opaque {}
+
+typedef CFStreamPropertyKey = CFStringRef;
+typedef CFReadStreamRef = ffi.Pointer<__CFReadStream>;
+typedef CFWriteStreamRef = ffi.Pointer<__CFWriteStream>;
+typedef CFReadStreamClientCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFReadStreamRef stream, ffi.Int32 type,
+            ffi.Pointer<ffi.Void> clientCallBackInfo)>>;
+typedef CFWriteStreamClientCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFWriteStreamRef stream, ffi.Int32 type,
+            ffi.Pointer<ffi.Void> clientCallBackInfo)>>;
+
+abstract class CFStreamErrorDomain {
+  static const int kCFStreamErrorDomainCustom = -1;
+  static const int kCFStreamErrorDomainPOSIX = 1;
+  static const int kCFStreamErrorDomainMacOSStatus = 2;
+}
+
+abstract class CFPropertyListMutabilityOptions {
+  static const int kCFPropertyListImmutable = 0;
+  static const int kCFPropertyListMutableContainers = 1;
+  static const int kCFPropertyListMutableContainersAndLeaves = 2;
+}
+
+abstract class CFPropertyListFormat {
+  static const int kCFPropertyListOpenStepFormat = 1;
+  static const int kCFPropertyListXMLFormat_v1_0 = 100;
+  static const int kCFPropertyListBinaryFormat_v1_0 = 200;
+}
+
+/// !
+/// @typedef CFSetCallBacks
+/// Structure containing the callbacks of a CFSet.
+/// @field version The version number of the structure type being passed
+/// in as a parameter to the CFSet creation functions. This
+/// structure is version 0.
+/// @field retain The callback used to add a retain for the set on
+/// values as they are put into the set. This callback returns
+/// the value to store in the set, which is usually the value
+/// parameter passed to this callback, but may be a different
+/// value if a different value should be stored in the set.
+/// The set's allocator is passed as the first argument.
+/// @field release The callback used to remove a retain previously added
+/// for the set from values as they are removed from the
+/// set. The set's allocator is passed as the first
+/// argument.
+/// @field copyDescription The callback used to create a descriptive
+/// string representation of each value in the set. This is
+/// used by the CFCopyDescription() function.
+/// @field equal The callback used to compare values in the set for
+/// equality for some operations.
+/// @field hash The callback used to compare values in the set for
+/// uniqueness for some operations.
+final class CFSetCallBacks extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external CFSetRetainCallBack retain;
+
+  external CFSetReleaseCallBack release;
+
+  external CFSetCopyDescriptionCallBack copyDescription;
+
+  external CFSetEqualCallBack equal;
+
+  external CFSetHashCallBack hash;
+}
+
+/// !
+/// @typedef CFSetRetainCallBack
+/// Type of the callback function used by CFSets for retaining values.
+/// @param allocator The allocator of the CFSet.
+/// @param value The value to retain.
+/// @result The value to store in the set, which is usually the value
+/// parameter passed to this callback, but may be a different
+/// value if a different value should be stored in the set.
+typedef CFSetRetainCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+
+/// !
+/// @typedef CFSetReleaseCallBack
+/// Type of the callback function used by CFSets for releasing a retain on values.
+/// @param allocator The allocator of the CFSet.
+/// @param value The value to release.
+typedef CFSetReleaseCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFAllocatorRef allocator, ffi.Pointer<ffi.Void> value)>>;
+
+/// !
+/// @typedef CFSetCopyDescriptionCallBack
+/// Type of the callback function used by CFSets for describing values.
+/// @param value The value to describe.
+/// @result A description of the specified value.
+typedef CFSetCopyDescriptionCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> value)>>;
+
+/// !
+/// @typedef CFSetEqualCallBack
+/// Type of the callback function used by CFSets for comparing values.
+/// @param value1 The first value to compare.
+/// @param value2 The second value to compare.
+/// @result True if the values are equal, otherwise false.
+typedef CFSetEqualCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        Boolean Function(
+            ffi.Pointer<ffi.Void> value1, ffi.Pointer<ffi.Void> value2)>>;
+
+/// !
+/// @typedef CFSetHashCallBack
+/// Type of the callback function used by CFSets for hashing values.
+/// @param value The value to hash.
+/// @result The hash of the value.
+typedef CFSetHashCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFHashCode Function(ffi.Pointer<ffi.Void> value)>>;
+
+final class __CFSet extends ffi.Opaque {}
+
+/// !
+/// @typedef CFSetRef
+/// This is the type of a reference to immutable CFSets.
+typedef CFSetRef = ffi.Pointer<__CFSet>;
+
+/// !
+/// @typedef CFMutableSetRef
+/// This is the type of a reference to mutable CFSets.
+typedef CFMutableSetRef = ffi.Pointer<__CFSet>;
+
+/// !
+/// @typedef CFSetApplierFunction
+/// Type of the callback function used by the apply functions of
+/// CFSets.
+/// @param value The current value from the set.
+/// @param context The user-defined context parameter given to the apply
+/// function.
+typedef CFSetApplierFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Void> context)>>;
+
+abstract class CFStringEncodings {
+  static const int kCFStringEncodingMacJapanese = 1;
+  static const int kCFStringEncodingMacChineseTrad = 2;
+  static const int kCFStringEncodingMacKorean = 3;
+  static const int kCFStringEncodingMacArabic = 4;
+  static const int kCFStringEncodingMacHebrew = 5;
+  static const int kCFStringEncodingMacGreek = 6;
+  static const int kCFStringEncodingMacCyrillic = 7;
+  static const int kCFStringEncodingMacDevanagari = 9;
+  static const int kCFStringEncodingMacGurmukhi = 10;
+  static const int kCFStringEncodingMacGujarati = 11;
+  static const int kCFStringEncodingMacOriya = 12;
+  static const int kCFStringEncodingMacBengali = 13;
+  static const int kCFStringEncodingMacTamil = 14;
+  static const int kCFStringEncodingMacTelugu = 15;
+  static const int kCFStringEncodingMacKannada = 16;
+  static const int kCFStringEncodingMacMalayalam = 17;
+  static const int kCFStringEncodingMacSinhalese = 18;
+  static const int kCFStringEncodingMacBurmese = 19;
+  static const int kCFStringEncodingMacKhmer = 20;
+  static const int kCFStringEncodingMacThai = 21;
+  static const int kCFStringEncodingMacLaotian = 22;
+  static const int kCFStringEncodingMacGeorgian = 23;
+  static const int kCFStringEncodingMacArmenian = 24;
+  static const int kCFStringEncodingMacChineseSimp = 25;
+  static const int kCFStringEncodingMacTibetan = 26;
+  static const int kCFStringEncodingMacMongolian = 27;
+  static const int kCFStringEncodingMacEthiopic = 28;
+  static const int kCFStringEncodingMacCentralEurRoman = 29;
+  static const int kCFStringEncodingMacVietnamese = 30;
+  static const int kCFStringEncodingMacExtArabic = 31;
+  static const int kCFStringEncodingMacSymbol = 33;
+  static const int kCFStringEncodingMacDingbats = 34;
+  static const int kCFStringEncodingMacTurkish = 35;
+  static const int kCFStringEncodingMacCroatian = 36;
+  static const int kCFStringEncodingMacIcelandic = 37;
+  static const int kCFStringEncodingMacRomanian = 38;
+  static const int kCFStringEncodingMacCeltic = 39;
+  static const int kCFStringEncodingMacGaelic = 40;
+  static const int kCFStringEncodingMacFarsi = 140;
+  static const int kCFStringEncodingMacUkrainian = 152;
+  static const int kCFStringEncodingMacInuit = 236;
+  static const int kCFStringEncodingMacVT100 = 252;
+  static const int kCFStringEncodingMacHFS = 255;
+  static const int kCFStringEncodingISOLatin2 = 514;
+  static const int kCFStringEncodingISOLatin3 = 515;
+  static const int kCFStringEncodingISOLatin4 = 516;
+  static const int kCFStringEncodingISOLatinCyrillic = 517;
+  static const int kCFStringEncodingISOLatinArabic = 518;
+  static const int kCFStringEncodingISOLatinGreek = 519;
+  static const int kCFStringEncodingISOLatinHebrew = 520;
+  static const int kCFStringEncodingISOLatin5 = 521;
+  static const int kCFStringEncodingISOLatin6 = 522;
+  static const int kCFStringEncodingISOLatinThai = 523;
+  static const int kCFStringEncodingISOLatin7 = 525;
+  static const int kCFStringEncodingISOLatin8 = 526;
+  static const int kCFStringEncodingISOLatin9 = 527;
+  static const int kCFStringEncodingISOLatin10 = 528;
+  static const int kCFStringEncodingDOSLatinUS = 1024;
+  static const int kCFStringEncodingDOSGreek = 1029;
+  static const int kCFStringEncodingDOSBalticRim = 1030;
+  static const int kCFStringEncodingDOSLatin1 = 1040;
+  static const int kCFStringEncodingDOSGreek1 = 1041;
+  static const int kCFStringEncodingDOSLatin2 = 1042;
+  static const int kCFStringEncodingDOSCyrillic = 1043;
+  static const int kCFStringEncodingDOSTurkish = 1044;
+  static const int kCFStringEncodingDOSPortuguese = 1045;
+  static const int kCFStringEncodingDOSIcelandic = 1046;
+  static const int kCFStringEncodingDOSHebrew = 1047;
+  static const int kCFStringEncodingDOSCanadianFrench = 1048;
+  static const int kCFStringEncodingDOSArabic = 1049;
+  static const int kCFStringEncodingDOSNordic = 1050;
+  static const int kCFStringEncodingDOSRussian = 1051;
+  static const int kCFStringEncodingDOSGreek2 = 1052;
+  static const int kCFStringEncodingDOSThai = 1053;
+  static const int kCFStringEncodingDOSJapanese = 1056;
+  static const int kCFStringEncodingDOSChineseSimplif = 1057;
+  static const int kCFStringEncodingDOSKorean = 1058;
+  static const int kCFStringEncodingDOSChineseTrad = 1059;
+  static const int kCFStringEncodingWindowsLatin2 = 1281;
+  static const int kCFStringEncodingWindowsCyrillic = 1282;
+  static const int kCFStringEncodingWindowsGreek = 1283;
+  static const int kCFStringEncodingWindowsLatin5 = 1284;
+  static const int kCFStringEncodingWindowsHebrew = 1285;
+  static const int kCFStringEncodingWindowsArabic = 1286;
+  static const int kCFStringEncodingWindowsBalticRim = 1287;
+  static const int kCFStringEncodingWindowsVietnamese = 1288;
+  static const int kCFStringEncodingWindowsKoreanJohab = 1296;
+  static const int kCFStringEncodingANSEL = 1537;
+  static const int kCFStringEncodingJIS_X0201_76 = 1568;
+  static const int kCFStringEncodingJIS_X0208_83 = 1569;
+  static const int kCFStringEncodingJIS_X0208_90 = 1570;
+  static const int kCFStringEncodingJIS_X0212_90 = 1571;
+  static const int kCFStringEncodingJIS_C6226_78 = 1572;
+  static const int kCFStringEncodingShiftJIS_X0213 = 1576;
+  static const int kCFStringEncodingShiftJIS_X0213_MenKuTen = 1577;
+  static const int kCFStringEncodingGB_2312_80 = 1584;
+  static const int kCFStringEncodingGBK_95 = 1585;
+  static const int kCFStringEncodingGB_18030_2000 = 1586;
+  static const int kCFStringEncodingKSC_5601_87 = 1600;
+  static const int kCFStringEncodingKSC_5601_92_Johab = 1601;
+  static const int kCFStringEncodingCNS_11643_92_P1 = 1617;
+  static const int kCFStringEncodingCNS_11643_92_P2 = 1618;
+  static const int kCFStringEncodingCNS_11643_92_P3 = 1619;
+  static const int kCFStringEncodingISO_2022_JP = 2080;
+  static const int kCFStringEncodingISO_2022_JP_2 = 2081;
+  static const int kCFStringEncodingISO_2022_JP_1 = 2082;
+  static const int kCFStringEncodingISO_2022_JP_3 = 2083;
+  static const int kCFStringEncodingISO_2022_CN = 2096;
+  static const int kCFStringEncodingISO_2022_CN_EXT = 2097;
+  static const int kCFStringEncodingISO_2022_KR = 2112;
+  static const int kCFStringEncodingEUC_JP = 2336;
+  static const int kCFStringEncodingEUC_CN = 2352;
+  static const int kCFStringEncodingEUC_TW = 2353;
+  static const int kCFStringEncodingEUC_KR = 2368;
+  static const int kCFStringEncodingShiftJIS = 2561;
+  static const int kCFStringEncodingKOI8_R = 2562;
+  static const int kCFStringEncodingBig5 = 2563;
+  static const int kCFStringEncodingMacRomanLatin1 = 2564;
+  static const int kCFStringEncodingHZ_GB_2312 = 2565;
+  static const int kCFStringEncodingBig5_HKSCS_1999 = 2566;
+  static const int kCFStringEncodingVISCII = 2567;
+  static const int kCFStringEncodingKOI8_U = 2568;
+  static const int kCFStringEncodingBig5_E = 2569;
+  static const int kCFStringEncodingNextStepJapanese = 2818;
+  static const int kCFStringEncodingEBCDIC_US = 3073;
+  static const int kCFStringEncodingEBCDIC_CP037 = 3074;
+  static const int kCFStringEncodingUTF7 = 67109120;
+  static const int kCFStringEncodingUTF7_IMAP = 2576;
+  static const int kCFStringEncodingShiftJIS_X0213_00 = 1576;
+}
+
+/// !
+/// @typedef CFTreeContext
+/// Structure containing user-specified data and callbacks for a CFTree.
+/// @field version The version number of the structure type being passed
+/// in as a parameter to the CFTree creation function.
+/// This structure is version 0.
+/// @field info A C pointer to a user-specified block of data.
+/// @field retain The callback used to add a retain for the info field.
+/// If this parameter is not a pointer to a function of the correct
+/// prototype, the behavior is undefined.  The value may be NULL.
+/// @field release The calllback used to remove a retain previously added
+/// for the info field.  If this parameter is not a pointer to a
+/// function of the correct prototype, the behavior is undefined.
+/// The value may be NULL.
+/// @field copyDescription The callback used to provide a description of
+/// the info field.
+final class CFTreeContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external CFTreeRetainCallBack retain;
+
+  external CFTreeReleaseCallBack release;
+
+  external CFTreeCopyDescriptionCallBack copyDescription;
+}
+
+/// !
+/// @typedef CFTreeRetainCallBack
+/// Type of the callback function used to add a retain to the user-specified
+/// info parameter.  This callback may returns the value to use whenever the
+/// info parameter is retained, which is usually the value parameter passed
+/// to this callback, but may be a different value if a different value
+/// should be used.
+/// @param info A user-supplied info parameter provided in a CFTreeContext.
+/// @result The retained info parameter.
+typedef CFTreeRetainCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>>;
+
+/// !
+/// @typedef CFTreeReleaseCallBack
+/// Type of the callback function used to remove a retain previously
+/// added to the user-specified info parameter.
+/// @param info A user-supplied info parameter provided in a CFTreeContext.
+typedef CFTreeReleaseCallBack = ffi
+    .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>;
+
+/// !
+/// @typedef CFTreeCopyDescriptionCallBack
+/// Type of the callback function used to provide a description of the
+/// user-specified info parameter.
+/// @param info A user-supplied info parameter provided in a CFTreeContext.
+/// @result A description of the info parameter.
+typedef CFTreeCopyDescriptionCallBack = ffi.Pointer<
+    ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>;
+
+final class __CFTree extends ffi.Opaque {}
+
+/// !
+/// @typedef CFTreeRef
+/// This is the type of a reference to CFTrees.
+typedef CFTreeRef = ffi.Pointer<__CFTree>;
+
+/// !
+/// @typedef CFTreeApplierFunction
+/// Type of the callback function used by the apply functions of
+/// CFTree.
+/// @param value The current value from the CFTree
+/// @param context The user-defined context parameter give to the apply
+/// function.
+typedef CFTreeApplierFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            ffi.Pointer<ffi.Void> value, ffi.Pointer<ffi.Void> context)>>;
+
+abstract class CFURLError {
+  static const int kCFURLUnknownError = -10;
+  static const int kCFURLUnknownSchemeError = -11;
+  static const int kCFURLResourceNotFoundError = -12;
+  static const int kCFURLResourceAccessViolationError = -13;
+  static const int kCFURLRemoteHostUnavailableError = -14;
+  static const int kCFURLImproperArgumentsError = -15;
+  static const int kCFURLUnknownPropertyKeyError = -16;
+  static const int kCFURLPropertyKeyUnavailableError = -17;
+  static const int kCFURLTimeoutError = -18;
+}
+
+final class __CFUUID extends ffi.Opaque {}
+
+final class CFUUIDBytes extends ffi.Struct {
+  @UInt8()
+  external int byte0;
+
+  @UInt8()
+  external int byte1;
+
+  @UInt8()
+  external int byte2;
+
+  @UInt8()
+  external int byte3;
+
+  @UInt8()
+  external int byte4;
+
+  @UInt8()
+  external int byte5;
+
+  @UInt8()
+  external int byte6;
+
+  @UInt8()
+  external int byte7;
+
+  @UInt8()
+  external int byte8;
+
+  @UInt8()
+  external int byte9;
+
+  @UInt8()
+  external int byte10;
+
+  @UInt8()
+  external int byte11;
+
+  @UInt8()
+  external int byte12;
+
+  @UInt8()
+  external int byte13;
+
+  @UInt8()
+  external int byte14;
+
+  @UInt8()
+  external int byte15;
+}
+
+typedef CFUUIDRef = ffi.Pointer<__CFUUID>;
+
+final class __CFBundle extends ffi.Opaque {}
+
+typedef CFBundleRef = ffi.Pointer<__CFBundle>;
+typedef cpu_type_t = integer_t;
+typedef CFPlugInRef = ffi.Pointer<__CFBundle>;
+typedef CFBundleRefNum = ffi.Int;
+
+final class __CFMessagePort extends ffi.Opaque {}
+
+final class CFMessagePortContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+typedef CFMessagePortRef = ffi.Pointer<__CFMessagePort>;
+typedef CFMessagePortCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        CFDataRef Function(CFMessagePortRef local, SInt32 msgid, CFDataRef data,
+            ffi.Pointer<ffi.Void> info)>>;
+typedef CFMessagePortInvalidationCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFMessagePortRef ms, ffi.Pointer<ffi.Void> info)>>;
+typedef CFPlugInFactoryFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Pointer<ffi.Void> Function(
+            CFAllocatorRef allocator, CFUUIDRef typeUUID)>>;
+
+final class __CFPlugInInstance extends ffi.Opaque {}
+
+typedef CFPlugInInstanceRef = ffi.Pointer<__CFPlugInInstance>;
+typedef CFPlugInInstanceDeallocateInstanceDataFunction = ffi.Pointer<
+    ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> instanceData)>>;
+typedef CFPlugInInstanceGetInterfaceFunction = ffi.Pointer<
+    ffi.NativeFunction<
+        Boolean Function(
+            CFPlugInInstanceRef instance,
+            CFStringRef interfaceName,
+            ffi.Pointer<ffi.Pointer<ffi.Void>> ftbl)>>;
+
+final class __CFMachPort extends ffi.Opaque {}
+
+final class CFMachPortContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+typedef CFMachPortRef = ffi.Pointer<__CFMachPort>;
+typedef CFMachPortCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFMachPortRef port, ffi.Pointer<ffi.Void> msg,
+            CFIndex size, ffi.Pointer<ffi.Void> info)>>;
+typedef CFMachPortInvalidationCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFMachPortRef port, ffi.Pointer<ffi.Void> info)>>;
+
+final class __CFAttributedString extends ffi.Opaque {}
+
+typedef CFAttributedStringRef = ffi.Pointer<__CFAttributedString>;
+typedef CFMutableAttributedStringRef = ffi.Pointer<__CFAttributedString>;
+
+final class __CFURLEnumerator extends ffi.Opaque {}
+
+abstract class CFURLEnumeratorOptions {
+  static const int kCFURLEnumeratorDefaultBehavior = 0;
+  static const int kCFURLEnumeratorDescendRecursively = 1;
+  static const int kCFURLEnumeratorSkipInvisibles = 2;
+  static const int kCFURLEnumeratorGenerateFileReferenceURLs = 4;
+  static const int kCFURLEnumeratorSkipPackageContents = 8;
+  static const int kCFURLEnumeratorIncludeDirectoriesPreOrder = 16;
+  static const int kCFURLEnumeratorIncludeDirectoriesPostOrder = 32;
+  static const int kCFURLEnumeratorGenerateRelativePathURLs = 64;
+}
+
+typedef CFURLEnumeratorRef = ffi.Pointer<__CFURLEnumerator>;
+
+abstract class CFURLEnumeratorResult {
+  static const int kCFURLEnumeratorSuccess = 1;
+  static const int kCFURLEnumeratorEnd = 2;
+  static const int kCFURLEnumeratorError = 3;
+  static const int kCFURLEnumeratorDirectoryPostOrderSuccess = 4;
+}
+
+final class guid_t extends ffi.Union {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.UnsignedChar> g_guid;
+
+  @ffi.Array.multi([4])
+  external ffi.Array<ffi.UnsignedInt> g_guid_asint;
+}
+
+@ffi.Packed(1)
+final class ntsid_t extends ffi.Struct {
+  @u_int8_t()
+  external int sid_kind;
+
+  @u_int8_t()
+  external int sid_authcount;
+
+  @ffi.Array.multi([6])
+  external ffi.Array<u_int8_t> sid_authority;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<u_int32_t> sid_authorities;
+}
+
+typedef u_int8_t = ffi.UnsignedChar;
+typedef u_int32_t = ffi.UnsignedInt;
+
+final class kauth_identity_extlookup extends ffi.Struct {
+  @u_int32_t()
+  external int el_seqno;
+
+  @u_int32_t()
+  external int el_result;
+
+  @u_int32_t()
+  external int el_flags;
+
+  @__darwin_pid_t()
+  external int el_info_pid;
+
+  @u_int64_t()
+  external int el_extend;
+
+  @u_int32_t()
+  external int el_info_reserved_1;
+
+  @uid_t()
+  external int el_uid;
+
+  external guid_t el_uguid;
+
+  @u_int32_t()
+  external int el_uguid_valid;
+
+  external ntsid_t el_usid;
+
+  @u_int32_t()
+  external int el_usid_valid;
+
+  @gid_t()
+  external int el_gid;
+
+  external guid_t el_gguid;
+
+  @u_int32_t()
+  external int el_gguid_valid;
+
+  external ntsid_t el_gsid;
+
+  @u_int32_t()
+  external int el_gsid_valid;
+
+  @u_int32_t()
+  external int el_member_valid;
+
+  @u_int32_t()
+  external int el_sup_grp_cnt;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<gid_t> el_sup_groups;
+}
+
+typedef u_int64_t = ffi.UnsignedLongLong;
+
+final class kauth_cache_sizes extends ffi.Struct {
+  @u_int32_t()
+  external int kcs_group_size;
+
+  @u_int32_t()
+  external int kcs_id_size;
+}
+
+final class kauth_ace extends ffi.Struct {
+  external guid_t ace_applicable;
+
+  @u_int32_t()
+  external int ace_flags;
+
+  @kauth_ace_rights_t()
+  external int ace_rights;
+}
+
+typedef kauth_ace_rights_t = u_int32_t;
+
+final class kauth_acl extends ffi.Struct {
+  @u_int32_t()
+  external int acl_entrycount;
+
+  @u_int32_t()
+  external int acl_flags;
+
+  @ffi.Array.multi([1])
+  external ffi.Array<kauth_ace> acl_ace;
+}
+
+final class kauth_filesec extends ffi.Struct {
+  @u_int32_t()
+  external int fsec_magic;
+
+  external guid_t fsec_owner;
+
+  external guid_t fsec_group;
+
+  external kauth_acl fsec_acl;
+}
+
+abstract class acl_perm_t {
+  static const int ACL_READ_DATA = 2;
+  static const int ACL_LIST_DIRECTORY = 2;
+  static const int ACL_WRITE_DATA = 4;
+  static const int ACL_ADD_FILE = 4;
+  static const int ACL_EXECUTE = 8;
+  static const int ACL_SEARCH = 8;
+  static const int ACL_DELETE = 16;
+  static const int ACL_APPEND_DATA = 32;
+  static const int ACL_ADD_SUBDIRECTORY = 32;
+  static const int ACL_DELETE_CHILD = 64;
+  static const int ACL_READ_ATTRIBUTES = 128;
+  static const int ACL_WRITE_ATTRIBUTES = 256;
+  static const int ACL_READ_EXTATTRIBUTES = 512;
+  static const int ACL_WRITE_EXTATTRIBUTES = 1024;
+  static const int ACL_READ_SECURITY = 2048;
+  static const int ACL_WRITE_SECURITY = 4096;
+  static const int ACL_CHANGE_OWNER = 8192;
+  static const int ACL_SYNCHRONIZE = 1048576;
+}
+
+abstract class acl_tag_t {
+  static const int ACL_UNDEFINED_TAG = 0;
+  static const int ACL_EXTENDED_ALLOW = 1;
+  static const int ACL_EXTENDED_DENY = 2;
+}
+
+abstract class acl_type_t {
+  static const int ACL_TYPE_EXTENDED = 256;
+  static const int ACL_TYPE_ACCESS = 0;
+  static const int ACL_TYPE_DEFAULT = 1;
+  static const int ACL_TYPE_AFS = 2;
+  static const int ACL_TYPE_CODA = 3;
+  static const int ACL_TYPE_NTFS = 4;
+  static const int ACL_TYPE_NWFS = 5;
+}
+
+abstract class acl_entry_id_t {
+  static const int ACL_FIRST_ENTRY = 0;
+  static const int ACL_NEXT_ENTRY = -1;
+  static const int ACL_LAST_ENTRY = -2;
+}
+
+abstract class acl_flag_t {
+  static const int ACL_FLAG_DEFER_INHERIT = 1;
+  static const int ACL_FLAG_NO_INHERIT = 131072;
+  static const int ACL_ENTRY_INHERITED = 16;
+  static const int ACL_ENTRY_FILE_INHERIT = 32;
+  static const int ACL_ENTRY_DIRECTORY_INHERIT = 64;
+  static const int ACL_ENTRY_LIMIT_INHERIT = 128;
+  static const int ACL_ENTRY_ONLY_INHERIT = 256;
+}
+
+final class _acl extends ffi.Opaque {}
+
+final class _acl_entry extends ffi.Opaque {}
+
+final class _acl_permset extends ffi.Opaque {}
+
+final class _acl_flagset extends ffi.Opaque {}
+
+typedef acl_t = ffi.Pointer<_acl>;
+typedef acl_entry_t = ffi.Pointer<_acl_entry>;
+typedef acl_permset_t = ffi.Pointer<_acl_permset>;
+typedef acl_permset_mask_t = u_int64_t;
+typedef acl_flagset_t = ffi.Pointer<_acl_flagset>;
+
+final class __CFFileSecurity extends ffi.Opaque {}
+
+typedef CFFileSecurityRef = ffi.Pointer<__CFFileSecurity>;
+
+abstract class CFFileSecurityClearOptions {
+  static const int kCFFileSecurityClearOwner = 1;
+  static const int kCFFileSecurityClearGroup = 2;
+  static const int kCFFileSecurityClearMode = 4;
+  static const int kCFFileSecurityClearOwnerUUID = 8;
+  static const int kCFFileSecurityClearGroupUUID = 16;
+  static const int kCFFileSecurityClearAccessControlList = 32;
+}
+
+final class __CFStringTokenizer extends ffi.Opaque {}
+
+/// !
+/// Token type
+/// CFStringTokenizerGoToTokenAtIndex / CFStringTokenizerAdvanceToNextToken returns
+/// the type of current token.
+abstract class CFStringTokenizerTokenType {
+  static const int kCFStringTokenizerTokenNone = 0;
+  static const int kCFStringTokenizerTokenNormal = 1;
+
+  /// !
+  /// Compound token which may contain subtokens but with no derived subtokens.
+  /// Its subtokens can be obtained by calling CFStringTokenizerGetCurrentSubTokens.
+  static const int kCFStringTokenizerTokenHasSubTokensMask = 2;
+
+  /// !
+  /// Compound token which may contain derived subtokens.
+  /// Its subtokens and derived subtokens can be obtained by calling
+  /// CFStringTokenizerGetCurrentSubTokens.
+  static const int kCFStringTokenizerTokenHasDerivedSubTokensMask = 4;
+  static const int kCFStringTokenizerTokenHasHasNumbersMask = 8;
+  static const int kCFStringTokenizerTokenHasNonLettersMask = 16;
+  static const int kCFStringTokenizerTokenIsCJWordMask = 32;
+}
+
+typedef CFStringTokenizerRef = ffi.Pointer<__CFStringTokenizer>;
+
+final class __CFFileDescriptor extends ffi.Opaque {}
+
+final class CFFileDescriptorContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void> info)>> retain;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> info)>>
+      release;
+
+  external ffi.Pointer<
+          ffi.NativeFunction<CFStringRef Function(ffi.Pointer<ffi.Void> info)>>
+      copyDescription;
+}
+
+typedef CFFileDescriptorRef = ffi.Pointer<__CFFileDescriptor>;
+typedef CFFileDescriptorNativeDescriptor = ffi.Int;
+typedef CFFileDescriptorCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFFileDescriptorRef f, CFOptionFlags callBackTypes,
+            ffi.Pointer<ffi.Void> info)>>;
+
+final class __CFUserNotification extends ffi.Opaque {}
+
+typedef CFUserNotificationRef = ffi.Pointer<__CFUserNotification>;
+typedef CFUserNotificationCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFUserNotificationRef userNotification,
+            CFOptionFlags responseFlags)>>;
+
+abstract class NSCollectionChangeType {
+  static const int NSCollectionChangeInsert = 0;
+  static const int NSCollectionChangeRemove = 1;
+}
+
+abstract class NSItemProviderRepresentationVisibility {
+  static const int NSItemProviderRepresentationVisibilityAll = 0;
+  static const int NSItemProviderRepresentationVisibilityTeam = 1;
+  static const int NSItemProviderRepresentationVisibilityGroup = 2;
+  static const int NSItemProviderRepresentationVisibilityOwnProcess = 3;
+}
+
+abstract class NSItemProviderFileOptions {
+  static const int NSItemProviderFileOptionOpenInPlace = 1;
+}
+
+class NSItemProvider extends NSObject {
+  NSItemProvider._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSItemProvider] that points to the same underlying object as [other].
+  static NSItemProvider castFrom<T extends _ObjCWrapper>(T other) {
+    return NSItemProvider._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSItemProvider] that wraps the given raw object pointer.
+  static NSItemProvider castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSItemProvider._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSItemProvider].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSItemProvider1);
+  }
+
+  @override
+  NSItemProvider init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSItemProvider._(_ret, _lib, retain: true, release: true);
+  }
+
+  void registerDataRepresentationForTypeIdentifier_visibility_loadHandler_(
+      NSString? typeIdentifier,
+      int visibility,
+      ObjCBlock_NSProgress_ffiVoidNSDataNSError loadHandler) {
+    _lib._objc_msgSend_481(
+        _id,
+        _lib._sel_registerDataRepresentationForTypeIdentifier_visibility_loadHandler_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        visibility,
+        loadHandler._id);
+  }
+
+  void
+      registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_(
+          NSString? typeIdentifier,
+          int fileOptions,
+          int visibility,
+          ObjCBlock_NSProgress_ffiVoidNSURLboolNSError loadHandler) {
+    _lib._objc_msgSend_482(
+        _id,
+        _lib._sel_registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        fileOptions,
+        visibility,
+        loadHandler._id);
+  }
+
+  NSArray? get registeredTypeIdentifiers {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_registeredTypeIdentifiers1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray registeredTypeIdentifiersWithFileOptions_(int fileOptions) {
+    final _ret = _lib._objc_msgSend_483(
+        _id, _lib._sel_registeredTypeIdentifiersWithFileOptions_1, fileOptions);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool hasItemConformingToTypeIdentifier_(NSString? typeIdentifier) {
+    return _lib._objc_msgSend_51(
+        _id,
+        _lib._sel_hasItemConformingToTypeIdentifier_1,
+        typeIdentifier?._id ?? ffi.nullptr);
+  }
+
+  bool hasRepresentationConformingToTypeIdentifier_fileOptions_(
+      NSString? typeIdentifier, int fileOptions) {
+    return _lib._objc_msgSend_484(
+        _id,
+        _lib._sel_hasRepresentationConformingToTypeIdentifier_fileOptions_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        fileOptions);
+  }
+
+  NSProgress loadDataRepresentationForTypeIdentifier_completionHandler_(
+      NSString? typeIdentifier,
+      ObjCBlock_ffiVoid_NSData_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_485(
+        _id,
+        _lib._sel_loadDataRepresentationForTypeIdentifier_completionHandler_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSProgress loadFileRepresentationForTypeIdentifier_completionHandler_(
+      NSString? typeIdentifier,
+      ObjCBlock_ffiVoid_NSURL_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_486(
+        _id,
+        _lib._sel_loadFileRepresentationForTypeIdentifier_completionHandler_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSProgress loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_(
+      NSString? typeIdentifier,
+      ObjCBlock_ffiVoid_NSURL_bool_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_487(
+        _id,
+        _lib._sel_loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get suggestedName {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_suggestedName1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set suggestedName(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setSuggestedName_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSItemProvider initWithObject_(NSObject? object) {
+    final _ret = _lib._objc_msgSend_16(
+        _id, _lib._sel_initWithObject_1, object?._id ?? ffi.nullptr);
+    return NSItemProvider._(_ret, _lib, retain: true, release: true);
+  }
+
+  void registerObject_visibility_(NSObject? object, int visibility) {
+    _lib._objc_msgSend_488(_id, _lib._sel_registerObject_visibility_1,
+        object?._id ?? ffi.nullptr, visibility);
+  }
+
+  void registerObjectOfClass_visibility_loadHandler_(
+      NSObject? aClass,
+      int visibility,
+      ObjCBlock_NSProgress_ffiVoidObjCObjectNSError loadHandler) {
+    _lib._objc_msgSend_489(
+        _id,
+        _lib._sel_registerObjectOfClass_visibility_loadHandler_1,
+        aClass?._id ?? ffi.nullptr,
+        visibility,
+        loadHandler._id);
+  }
+
+  bool canLoadObjectOfClass_(NSObject? aClass) {
+    return _lib._objc_msgSend_0(
+        _id, _lib._sel_canLoadObjectOfClass_1, aClass?._id ?? ffi.nullptr);
+  }
+
+  NSProgress loadObjectOfClass_completionHandler_(NSObject? aClass,
+      ObjCBlock_ffiVoid_ObjCObject_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_490(
+        _id,
+        _lib._sel_loadObjectOfClass_completionHandler_1,
+        aClass?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSItemProvider initWithItem_typeIdentifier_(
+      NSObject? item, NSString? typeIdentifier) {
+    final _ret = _lib._objc_msgSend_236(
+        _id,
+        _lib._sel_initWithItem_typeIdentifier_1,
+        item?._id ?? ffi.nullptr,
+        typeIdentifier?._id ?? ffi.nullptr);
+    return NSItemProvider._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSItemProvider initWithContentsOfURL_(NSURL? fileURL) {
+    final _ret = _lib._objc_msgSend_204(
+        _id, _lib._sel_initWithContentsOfURL_1, fileURL?._id ?? ffi.nullptr);
+    return NSItemProvider._(_ret, _lib, retain: true, release: true);
+  }
+
+  void registerItemForTypeIdentifier_loadHandler_(
+      NSString? typeIdentifier, NSItemProviderLoadHandler loadHandler) {
+    _lib._objc_msgSend_491(
+        _id,
+        _lib._sel_registerItemForTypeIdentifier_loadHandler_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        loadHandler);
+  }
+
+  void loadItemForTypeIdentifier_options_completionHandler_(
+      NSString? typeIdentifier,
+      NSDictionary? options,
+      NSItemProviderCompletionHandler completionHandler) {
+    _lib._objc_msgSend_492(
+        _id,
+        _lib._sel_loadItemForTypeIdentifier_options_completionHandler_1,
+        typeIdentifier?._id ?? ffi.nullptr,
+        options?._id ?? ffi.nullptr,
+        completionHandler);
+  }
+
+  NSItemProviderLoadHandler get previewImageHandler {
+    return _lib._objc_msgSend_493(_id, _lib._sel_previewImageHandler1);
+  }
+
+  set previewImageHandler(NSItemProviderLoadHandler value) {
+    return _lib._objc_msgSend_494(
+        _id, _lib._sel_setPreviewImageHandler_1, value);
+  }
+
+  void loadPreviewImageWithOptions_completionHandler_(NSDictionary? options,
+      NSItemProviderCompletionHandler completionHandler) {
+    _lib._objc_msgSend_495(
+        _id,
+        _lib._sel_loadPreviewImageWithOptions_completionHandler_1,
+        options?._id ?? ffi.nullptr,
+        completionHandler);
+  }
+
+  static NSItemProvider new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSItemProvider1, _lib._sel_new1);
+    return NSItemProvider._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSItemProvider alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSItemProvider1, _lib._sel_alloc1);
+    return NSItemProvider._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSItemProvider1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSItemProvider1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSItemProvider1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSItemProvider1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSItemProvider1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSItemProvider1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSItemProvider1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_NSProgress_ffiVoidNSDataNSError_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<_ObjCBlock> arg0) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> arg0)>>()
+      .asFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<_ObjCBlock> arg0)>()(arg0);
+}
+
+final _ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_NSProgress_ffiVoidNSDataNSError_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureRegistryIndex;
+  _ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<_ObjCBlock> arg0) {
+  return (_ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureRegistry[
+          block.ref.target.address]
+      as ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock>))(arg0);
+}
+
+class ObjCBlock_NSProgress_ffiVoidNSDataNSError extends _ObjCBlockBase {
+  ObjCBlock_NSProgress_ffiVoidNSDataNSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgress_ffiVoidNSDataNSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ObjCObject> Function(
+                      ffi.Pointer<_ObjCBlock> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<_ObjCBlock> arg0)>(
+                        _ObjCBlock_NSProgress_ffiVoidNSDataNSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgress_ffiVoidNSDataNSError.fromFunction(PedometerBindings lib,
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<_ObjCBlock> arg0)>(
+                        _ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_NSProgress_ffiVoidNSDataNSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  ffi.Pointer<ObjCObject> call(ffi.Pointer<_ObjCBlock> arg0) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<_ObjCBlock> arg0)>>()
+        .asFunction<
+            ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<_ObjCBlock> arg0)>()(_id, arg0);
+  }
+}
+
+class NSProgress extends NSObject {
+  NSProgress._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSProgress] that points to the same underlying object as [other].
+  static NSProgress castFrom<T extends _ObjCWrapper>(T other) {
+    return NSProgress._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSProgress] that wraps the given raw object pointer.
+  static NSProgress castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSProgress._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSProgress].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSProgress1);
+  }
+
+  static NSProgress currentProgress(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_467(
+        _lib._class_NSProgress1, _lib._sel_currentProgress1);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSProgress progressWithTotalUnitCount_(
+      PedometerBindings _lib, int unitCount) {
+    final _ret = _lib._objc_msgSend_468(_lib._class_NSProgress1,
+        _lib._sel_progressWithTotalUnitCount_1, unitCount);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSProgress discreteProgressWithTotalUnitCount_(
+      PedometerBindings _lib, int unitCount) {
+    final _ret = _lib._objc_msgSend_468(_lib._class_NSProgress1,
+        _lib._sel_discreteProgressWithTotalUnitCount_1, unitCount);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSProgress progressWithTotalUnitCount_parent_pendingUnitCount_(
+      PedometerBindings _lib,
+      int unitCount,
+      NSProgress? parent,
+      int portionOfParentTotalUnitCount) {
+    final _ret = _lib._objc_msgSend_469(
+        _lib._class_NSProgress1,
+        _lib._sel_progressWithTotalUnitCount_parent_pendingUnitCount_1,
+        unitCount,
+        parent?._id ?? ffi.nullptr,
+        portionOfParentTotalUnitCount);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSProgress initWithParent_userInfo_(
+      NSProgress? parentProgressOrNil, NSObject? userInfoOrNil) {
+    final _ret = _lib._objc_msgSend_470(
+        _id,
+        _lib._sel_initWithParent_userInfo_1,
+        parentProgressOrNil?._id ?? ffi.nullptr,
+        userInfoOrNil?._id ?? ffi.nullptr);
+    return NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  void becomeCurrentWithPendingUnitCount_(int unitCount) {
+    _lib._objc_msgSend_471(
+        _id, _lib._sel_becomeCurrentWithPendingUnitCount_1, unitCount);
+  }
+
+  void performAsCurrentWithPendingUnitCount_usingBlock_(
+      int unitCount, ObjCBlock_ffiVoid work) {
+    _lib._objc_msgSend_472(
+        _id,
+        _lib._sel_performAsCurrentWithPendingUnitCount_usingBlock_1,
+        unitCount,
+        work._id);
+  }
+
+  void resignCurrent() {
+    _lib._objc_msgSend_1(_id, _lib._sel_resignCurrent1);
+  }
+
+  void addChild_withPendingUnitCount_(NSProgress? child, int inUnitCount) {
+    _lib._objc_msgSend_473(_id, _lib._sel_addChild_withPendingUnitCount_1,
+        child?._id ?? ffi.nullptr, inUnitCount);
+  }
+
+  int get totalUnitCount {
+    return _lib._objc_msgSend_474(_id, _lib._sel_totalUnitCount1);
+  }
+
+  set totalUnitCount(int value) {
+    return _lib._objc_msgSend_475(_id, _lib._sel_setTotalUnitCount_1, value);
+  }
+
+  int get completedUnitCount {
+    return _lib._objc_msgSend_474(_id, _lib._sel_completedUnitCount1);
+  }
+
+  set completedUnitCount(int value) {
+    return _lib._objc_msgSend_475(
+        _id, _lib._sel_setCompletedUnitCount_1, value);
+  }
+
+  NSString? get localizedDescription {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_localizedDescription1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set localizedDescription(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setLocalizedDescription_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSString? get localizedAdditionalDescription {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_localizedAdditionalDescription1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set localizedAdditionalDescription(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id,
+        _lib._sel_setLocalizedAdditionalDescription_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  bool get cancellable {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isCancellable1);
+  }
+
+  set cancellable(bool value) {
+    return _lib._objc_msgSend_445(_id, _lib._sel_setCancellable_1, value);
+  }
+
+  bool get pausable {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isPausable1);
+  }
+
+  set pausable(bool value) {
+    return _lib._objc_msgSend_445(_id, _lib._sel_setPausable_1, value);
+  }
+
+  bool get cancelled {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isCancelled1);
+  }
+
+  bool get paused {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isPaused1);
+  }
+
+  ObjCBlock_ffiVoid get cancellationHandler {
+    final _ret = _lib._objc_msgSend_476(_id, _lib._sel_cancellationHandler1);
+    return ObjCBlock_ffiVoid._(_ret, _lib);
+  }
+
+  set cancellationHandler(ObjCBlock_ffiVoid value) {
+    return _lib._objc_msgSend_477(
+        _id, _lib._sel_setCancellationHandler_1, value._id);
+  }
+
+  ObjCBlock_ffiVoid get pausingHandler {
+    final _ret = _lib._objc_msgSend_476(_id, _lib._sel_pausingHandler1);
+    return ObjCBlock_ffiVoid._(_ret, _lib);
+  }
+
+  set pausingHandler(ObjCBlock_ffiVoid value) {
+    return _lib._objc_msgSend_477(
+        _id, _lib._sel_setPausingHandler_1, value._id);
+  }
+
+  ObjCBlock_ffiVoid get resumingHandler {
+    final _ret = _lib._objc_msgSend_476(_id, _lib._sel_resumingHandler1);
+    return ObjCBlock_ffiVoid._(_ret, _lib);
+  }
+
+  set resumingHandler(ObjCBlock_ffiVoid value) {
+    return _lib._objc_msgSend_477(
+        _id, _lib._sel_setResumingHandler_1, value._id);
+  }
+
+  void setUserInfoObject_forKey_(
+      NSObject objectOrNil, NSProgressUserInfoKey key) {
+    _lib._objc_msgSend_117(
+        _id, _lib._sel_setUserInfoObject_forKey_1, objectOrNil._id, key);
+  }
+
+  bool get indeterminate {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isIndeterminate1);
+  }
+
+  double get fractionCompleted {
+    return _lib._objc_msgSend_146(_id, _lib._sel_fractionCompleted1);
+  }
+
+  bool get finished {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isFinished1);
+  }
+
+  void cancel() {
+    _lib._objc_msgSend_1(_id, _lib._sel_cancel1);
+  }
+
+  void pause() {
+    _lib._objc_msgSend_1(_id, _lib._sel_pause1);
+  }
+
+  void resume() {
+    _lib._objc_msgSend_1(_id, _lib._sel_resume1);
+  }
+
+  NSObject? get userInfo {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_userInfo1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSProgressKind get kind {
+    return _lib._objc_msgSend_20(_id, _lib._sel_kind1);
+  }
+
+  set kind(NSProgressKind value) {
+    return _lib._objc_msgSend_462(_id, _lib._sel_setKind_1, value);
+  }
+
+  NSNumber? get estimatedTimeRemaining {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_estimatedTimeRemaining1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  set estimatedTimeRemaining(NSNumber? value) {
+    return _lib._objc_msgSend_478(
+        _id, _lib._sel_setEstimatedTimeRemaining_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSNumber? get throughput {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_throughput1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  set throughput(NSNumber? value) {
+    return _lib._objc_msgSend_478(
+        _id, _lib._sel_setThroughput_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSProgressFileOperationKind get fileOperationKind {
+    return _lib._objc_msgSend_20(_id, _lib._sel_fileOperationKind1);
+  }
+
+  set fileOperationKind(NSProgressFileOperationKind value) {
+    return _lib._objc_msgSend_462(_id, _lib._sel_setFileOperationKind_1, value);
+  }
+
+  NSURL? get fileURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_fileURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  set fileURL(NSURL? value) {
+    return _lib._objc_msgSend_479(
+        _id, _lib._sel_setFileURL_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSNumber? get fileTotalCount {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_fileTotalCount1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  set fileTotalCount(NSNumber? value) {
+    return _lib._objc_msgSend_478(
+        _id, _lib._sel_setFileTotalCount_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSNumber? get fileCompletedCount {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_fileCompletedCount1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  set fileCompletedCount(NSNumber? value) {
+    return _lib._objc_msgSend_478(
+        _id, _lib._sel_setFileCompletedCount_1, value?._id ?? ffi.nullptr);
+  }
+
+  void publish() {
+    _lib._objc_msgSend_1(_id, _lib._sel_publish1);
+  }
+
+  void unpublish() {
+    _lib._objc_msgSend_1(_id, _lib._sel_unpublish1);
+  }
+
+  static NSObject addSubscriberForFileURL_withPublishingHandler_(
+      PedometerBindings _lib,
+      NSURL? url,
+      NSProgressPublishingHandler publishingHandler) {
+    final _ret = _lib._objc_msgSend_480(
+        _lib._class_NSProgress1,
+        _lib._sel_addSubscriberForFileURL_withPublishingHandler_1,
+        url?._id ?? ffi.nullptr,
+        publishingHandler);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void removeSubscriber_(PedometerBindings _lib, NSObject subscriber) {
+    _lib._objc_msgSend_15(
+        _lib._class_NSProgress1, _lib._sel_removeSubscriber_1, subscriber._id);
+  }
+
+  bool get old {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isOld1);
+  }
+
+  static NSProgress new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSProgress1, _lib._sel_new1);
+    return NSProgress._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSProgress alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSProgress1, _lib._sel_alloc1);
+    return NSProgress._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSProgress1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSProgress1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSProgress1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSProgress1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSProgress1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSProgress1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSProgress1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSProgressUserInfoKey = ffi.Pointer<ObjCObject>;
+typedef NSProgressKind = ffi.Pointer<ObjCObject>;
+typedef NSProgressFileOperationKind = ffi.Pointer<ObjCObject>;
+typedef NSProgressPublishingHandler = ffi.Pointer<_ObjCBlock>;
+NSProgressUnpublishingHandler
+    _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              NSProgressUnpublishingHandler Function(
+                  ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<
+          NSProgressUnpublishingHandler Function(
+              ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_NSProgressUnpublishingHandler_NSProgress_closureRegistryIndex;
+  _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+NSProgressUnpublishingHandler
+    _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  return (_ObjCBlock_NSProgressUnpublishingHandler_NSProgress_closureRegistry[
+          block.ref.target.address]
+      as NSProgressUnpublishingHandler Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_NSProgressUnpublishingHandler_NSProgress
+    extends _ObjCBlockBase {
+  ObjCBlock_NSProgressUnpublishingHandler_NSProgress._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgressUnpublishingHandler_NSProgress.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  NSProgressUnpublishingHandler Function(
+                      ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            NSProgressUnpublishingHandler Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgressUnpublishingHandler_NSProgress.fromFunction(
+      PedometerBindings lib,
+      NSProgressUnpublishingHandler Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            NSProgressUnpublishingHandler Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_NSProgressUnpublishingHandler_NSProgress_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  NSProgressUnpublishingHandler call(ffi.Pointer<ObjCObject> arg0) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                NSProgressUnpublishingHandler Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            NSProgressUnpublishingHandler Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+typedef NSProgressUnpublishingHandler = ffi.Pointer<_ObjCBlock>;
+void _ObjCBlock_ffiVoid_NSData_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_NSData_NSError_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSData_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSData_NSError_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSData_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSData_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSData_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  (_ObjCBlock_ffiVoid_NSData_NSError_closureRegistry[block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_NSData_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSData_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSData_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSData_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSData_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_NSData_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<_ObjCBlock> arg0) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> arg0)>>()
+      .asFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<_ObjCBlock> arg0)>()(arg0);
+}
+
+final _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_registerClosure(Function fn) {
+  final id =
+      ++_ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureRegistryIndex;
+  _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<_ObjCBlock> arg0) {
+  return (_ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureRegistry[
+          block.ref.target.address]
+      as ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock>))(arg0);
+}
+
+class ObjCBlock_NSProgress_ffiVoidNSURLboolNSError extends _ObjCBlockBase {
+  ObjCBlock_NSProgress_ffiVoidNSURLboolNSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgress_ffiVoidNSURLboolNSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ObjCObject> Function(
+                      ffi.Pointer<_ObjCBlock> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<_ObjCBlock> arg0)>(
+                        _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgress_ffiVoidNSURLboolNSError.fromFunction(
+      PedometerBindings lib,
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<_ObjCBlock> arg0)>(
+                        _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  ffi.Pointer<ObjCObject> call(ffi.Pointer<_ObjCBlock> arg0) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<_ObjCBlock> arg0)>>()
+        .asFunction<
+            ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<_ObjCBlock> arg0)>()(_id, arg0);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSURL_bool_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    bool arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, ffi.Bool arg1,
+                  ffi.Pointer<ObjCObject> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ObjCObject> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSURL_bool_NSError_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSURL_bool_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    bool arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  (_ObjCBlock_ffiVoid_NSURL_bool_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, bool,
+          ffi.Pointer<ObjCObject>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSURL_bool_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSURL_bool_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURL_bool_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0, ffi.Bool arg1,
+                      ffi.Pointer<ObjCObject> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSURL_bool_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURL_bool_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURL_bool_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSURL_bool_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ObjCObject> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURL_bool_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Bool arg1,
+          ffi.Pointer<ObjCObject> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ObjCObject> arg0, bool arg1, ffi.Pointer<ObjCObject> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Bool arg1,
+                    ffi.Pointer<ObjCObject> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                bool arg1,
+                ffi.Pointer<ObjCObject> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSURL_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  (_ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry[block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_NSURL_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSURL_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURL_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURL_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSURL_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<_ObjCBlock> arg0) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> arg0)>>()
+      .asFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<_ObjCBlock> arg0)>()(arg0);
+}
+
+final _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_closureRegistryIndex;
+  _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+ffi.Pointer<ObjCObject>
+    _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block, ffi.Pointer<_ObjCBlock> arg0) {
+  return (_ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_closureRegistry[
+          block.ref.target.address]
+      as ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock>))(arg0);
+}
+
+class ObjCBlock_NSProgress_ffiVoidObjCObjectNSError extends _ObjCBlockBase {
+  ObjCBlock_NSProgress_ffiVoidObjCObjectNSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgress_ffiVoidObjCObjectNSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi
+          .Pointer<
+              ffi
+              .NativeFunction<
+                  ffi
+                      .Pointer<ObjCObject>
+                      Function(ffi.Pointer<_ObjCBlock> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<_ObjCBlock> arg0)>(
+                        _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_NSProgress_ffiVoidObjCObjectNSError.fromFunction(
+      PedometerBindings lib,
+      ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Pointer<ObjCObject> Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<_ObjCBlock> arg0)>(
+                        _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_NSProgress_ffiVoidObjCObjectNSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  ffi.Pointer<ObjCObject> call(ffi.Pointer<_ObjCBlock> arg0) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<_ObjCBlock> arg0)>>()
+        .asFunction<
+            ffi.Pointer<ObjCObject> Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<_ObjCBlock> arg0)>()(_id, arg0);
+  }
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_ObjCObject_NSError_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_ObjCObject_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_ObjCObject_NSError_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_ObjCObject_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ObjCObject_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  (_ObjCBlock_ffiVoid_ObjCObject_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_ObjCObject_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ObjCObject_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ObjCObject_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef NSItemProviderLoadHandler = ffi.Pointer<_ObjCBlock>;
+void
+    _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        NSItemProviderCompletionHandler arg0,
+        ffi.Pointer<ObjCObject> arg1,
+        ffi.Pointer<ObjCObject> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  NSItemProviderCompletionHandler arg0,
+                  ffi.Pointer<ObjCObject> arg1,
+                  ffi.Pointer<ObjCObject> arg2)>>()
+      .asFunction<
+          void Function(
+              NSItemProviderCompletionHandler arg0,
+              ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureRegistry[
+      id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void
+    _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        NSItemProviderCompletionHandler arg0,
+        ffi.Pointer<ObjCObject> arg1,
+        ffi.Pointer<ObjCObject> arg2) {
+  (_ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureRegistry[
+          block.ref.target.address]
+      as void Function(NSItemProviderCompletionHandler, ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      NSItemProviderCompletionHandler arg0,
+                      ffi.Pointer<ObjCObject> arg1,
+                      ffi.Pointer<ObjCObject> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                NSItemProviderCompletionHandler arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary.fromFunction(
+      PedometerBindings lib,
+      void Function(NSItemProviderCompletionHandler arg0,
+              ffi.Pointer<ObjCObject> arg1, ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                NSItemProviderCompletionHandler arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary.listener(
+      PedometerBindings lib,
+      void Function(NSItemProviderCompletionHandler arg0,
+              ffi.Pointer<ObjCObject> arg1, ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                NSItemProviderCompletionHandler arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSItemProviderCompletionHandler_ObjCObject_NSDictionary_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          NSItemProviderCompletionHandler arg0,
+          ffi.Pointer<ObjCObject> arg1,
+          ffi.Pointer<ObjCObject> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(NSItemProviderCompletionHandler arg0, ffi.Pointer<ObjCObject> arg1,
+      ffi.Pointer<ObjCObject> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    NSItemProviderCompletionHandler arg0,
+                    ffi.Pointer<ObjCObject> arg1,
+                    ffi.Pointer<ObjCObject> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                NSItemProviderCompletionHandler arg0,
+                ffi.Pointer<ObjCObject> arg1,
+                ffi.Pointer<ObjCObject> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+typedef NSItemProviderCompletionHandler = ffi.Pointer<_ObjCBlock>;
+
+abstract class NSItemProviderErrorCode {
+  static const int NSItemProviderUnknownError = -1;
+  static const int NSItemProviderItemUnavailableError = -1000;
+  static const int NSItemProviderUnexpectedValueClassError = -1100;
+  static const int NSItemProviderUnavailableCoercionError = -1200;
+}
+
+typedef NSStringEncodingDetectionOptionsKey = ffi.Pointer<ObjCObject>;
+
+class NSMutableString extends NSString {
+  NSMutableString._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableString] that points to the same underlying object as [other].
+  static NSMutableString castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableString._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableString] that wraps the given raw object pointer.
+  static NSMutableString castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableString._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableString].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMutableString1);
+  }
+
+  void replaceCharactersInRange_withString_(NSRange range, NSString? aString) {
+    _lib._objc_msgSend_496(_id, _lib._sel_replaceCharactersInRange_withString_1,
+        range, aString?._id ?? ffi.nullptr);
+  }
+
+  void insertString_atIndex_(NSString? aString, int loc) {
+    _lib._objc_msgSend_497(_id, _lib._sel_insertString_atIndex_1,
+        aString?._id ?? ffi.nullptr, loc);
+  }
+
+  void deleteCharactersInRange_(NSRange range) {
+    _lib._objc_msgSend_397(_id, _lib._sel_deleteCharactersInRange_1, range);
+  }
+
+  void appendString_(NSString? aString) {
+    _lib._objc_msgSend_187(
+        _id, _lib._sel_appendString_1, aString?._id ?? ffi.nullptr);
+  }
+
+  void appendFormat_(NSString? format) {
+    _lib._objc_msgSend_187(
+        _id, _lib._sel_appendFormat_1, format?._id ?? ffi.nullptr);
+  }
+
+  void setString_(NSString? aString) {
+    _lib._objc_msgSend_187(
+        _id, _lib._sel_setString_1, aString?._id ?? ffi.nullptr);
+  }
+
+  int replaceOccurrencesOfString_withString_options_range_(NSString? target,
+      NSString? replacement, int options, NSRange searchRange) {
+    return _lib._objc_msgSend_498(
+        _id,
+        _lib._sel_replaceOccurrencesOfString_withString_options_range_1,
+        target?._id ?? ffi.nullptr,
+        replacement?._id ?? ffi.nullptr,
+        options,
+        searchRange);
+  }
+
+  bool applyTransform_reverse_range_updatedRange_(NSStringTransform transform,
+      bool reverse, NSRange range, NSRangePointer resultingRange) {
+    return _lib._objc_msgSend_499(
+        _id,
+        _lib._sel_applyTransform_reverse_range_updatedRange_1,
+        transform,
+        reverse,
+        range,
+        resultingRange);
+  }
+
+  NSMutableString initWithCapacity_(int capacity) {
+    final _ret =
+        _lib._objc_msgSend_500(_id, _lib._sel_initWithCapacity_1, capacity);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithCapacity_(
+      PedometerBindings _lib, int capacity) {
+    final _ret = _lib._objc_msgSend_500(
+        _lib._class_NSMutableString1, _lib._sel_stringWithCapacity_1, capacity);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static ffi.Pointer<NSStringEncoding> getAvailableStringEncodings(
+      PedometerBindings _lib) {
+    return _lib._objc_msgSend_287(
+        _lib._class_NSMutableString1, _lib._sel_availableStringEncodings1);
+  }
+
+  static NSString localizedNameOfStringEncoding_(
+      PedometerBindings _lib, int encoding) {
+    final _ret = _lib._objc_msgSend_248(_lib._class_NSMutableString1,
+        _lib._sel_localizedNameOfStringEncoding_1, encoding);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static int getDefaultCStringEncoding(PedometerBindings _lib) {
+    return _lib._objc_msgSend_10(
+        _lib._class_NSMutableString1, _lib._sel_defaultCStringEncoding1);
+  }
+
+  static NSMutableString string(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableString1, _lib._sel_string1);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithString_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSMutableString1,
+        _lib._sel_stringWithString_1, string?._id ?? ffi.nullptr);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithCharacters_length_(
+      PedometerBindings _lib, ffi.Pointer<unichar> characters, int length) {
+    final _ret = _lib._objc_msgSend_300(_lib._class_NSMutableString1,
+        _lib._sel_stringWithCharacters_length_1, characters, length);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithUTF8String_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> nullTerminatedCString) {
+    final _ret = _lib._objc_msgSend_301(_lib._class_NSMutableString1,
+        _lib._sel_stringWithUTF8String_1, nullTerminatedCString);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithFormat_(
+      PedometerBindings _lib, NSString? format) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSMutableString1,
+        _lib._sel_stringWithFormat_1, format?._id ?? ffi.nullptr);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString localizedStringWithFormat_(
+      PedometerBindings _lib, NSString? format) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSMutableString1,
+        _lib._sel_localizedStringWithFormat_1, format?._id ?? ffi.nullptr);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithValidatedFormat_validFormatSpecifiers_error_(
+      PedometerBindings _lib,
+      NSString? format,
+      NSString? validFormatSpecifiers,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_305(
+        _lib._class_NSMutableString1,
+        _lib._sel_stringWithValidatedFormat_validFormatSpecifiers_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        error);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString
+      localizedStringWithValidatedFormat_validFormatSpecifiers_error_(
+          PedometerBindings _lib,
+          NSString? format,
+          NSString? validFormatSpecifiers,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_305(
+        _lib._class_NSMutableString1,
+        _lib._sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1,
+        format?._id ?? ffi.nullptr,
+        validFormatSpecifiers?._id ?? ffi.nullptr,
+        error);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithCString_encoding_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> cString, int enc) {
+    final _ret = _lib._objc_msgSend_313(_lib._class_NSMutableString1,
+        _lib._sel_stringWithCString_encoding_1, cString, enc);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithContentsOfURL_encoding_error_(
+      PedometerBindings _lib,
+      NSURL? url,
+      int enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_314(
+        _lib._class_NSMutableString1,
+        _lib._sel_stringWithContentsOfURL_encoding_error_1,
+        url?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithContentsOfFile_encoding_error_(
+      PedometerBindings _lib,
+      NSString? path,
+      int enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_315(
+        _lib._class_NSMutableString1,
+        _lib._sel_stringWithContentsOfFile_encoding_error_1,
+        path?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithContentsOfURL_usedEncoding_error_(
+      PedometerBindings _lib,
+      NSURL? url,
+      ffi.Pointer<NSStringEncoding> enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_316(
+        _lib._class_NSMutableString1,
+        _lib._sel_stringWithContentsOfURL_usedEncoding_error_1,
+        url?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString stringWithContentsOfFile_usedEncoding_error_(
+      PedometerBindings _lib,
+      NSString? path,
+      ffi.Pointer<NSStringEncoding> enc,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_317(
+        _lib._class_NSMutableString1,
+        _lib._sel_stringWithContentsOfFile_usedEncoding_error_1,
+        path?._id ?? ffi.nullptr,
+        enc,
+        error);
+    return NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static int
+      stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_(
+          PedometerBindings _lib,
+          NSData? data,
+          NSDictionary? opts,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> string,
+          ffi.Pointer<ffi.Bool> usedLossyConversion) {
+    return _lib._objc_msgSend_318(
+        _lib._class_NSMutableString1,
+        _lib._sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1,
+        data?._id ?? ffi.nullptr,
+        opts?._id ?? ffi.nullptr,
+        string,
+        usedLossyConversion);
+  }
+
+  static NSObject stringWithContentsOfFile_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSMutableString1,
+        _lib._sel_stringWithContentsOfFile_1, path?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject stringWithContentsOfURL_(PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSMutableString1,
+        _lib._sel_stringWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject stringWithCString_length_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> bytes, int length) {
+    final _ret = _lib._objc_msgSend_313(_lib._class_NSMutableString1,
+        _lib._sel_stringWithCString_length_1, bytes, length);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject stringWithCString_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Char> bytes) {
+    final _ret = _lib._objc_msgSend_301(
+        _lib._class_NSMutableString1, _lib._sel_stringWithCString_1, bytes);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString pathWithComponents_(
+      PedometerBindings _lib, NSArray? components) {
+    final _ret = _lib._objc_msgSend_325(_lib._class_NSMutableString1,
+        _lib._sel_pathWithComponents_1, components?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableString new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableString1, _lib._sel_new1);
+    return NSMutableString._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableString alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableString1, _lib._sel_alloc1);
+    return NSMutableString._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMutableString1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableString1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableString1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSMutableString1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableString1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSExceptionName = ffi.Pointer<ObjCObject>;
+
+/// Notifications
+class NSNotification extends NSObject {
+  NSNotification._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSNotification] that points to the same underlying object as [other].
+  static NSNotification castFrom<T extends _ObjCWrapper>(T other) {
+    return NSNotification._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSNotification] that wraps the given raw object pointer.
+  static NSNotification castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSNotification._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSNotification].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSNotification1);
+  }
+
+  NSNotificationName get name {
+    return _lib._objc_msgSend_20(_id, _lib._sel_name1);
+  }
+
+  NSObject get object {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_object1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary? get userInfo {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_userInfo1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNotification initWithName_object_userInfo_(
+      NSNotificationName name, NSObject object, NSDictionary? userInfo) {
+    final _ret = _lib._objc_msgSend_501(
+        _id,
+        _lib._sel_initWithName_object_userInfo_1,
+        name,
+        object._id,
+        userInfo?._id ?? ffi.nullptr);
+    return NSNotification._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNotification initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSNotification._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNotification notificationWithName_object_(
+      PedometerBindings _lib, NSNotificationName aName, NSObject anObject) {
+    final _ret = _lib._objc_msgSend_303(_lib._class_NSNotification1,
+        _lib._sel_notificationWithName_object_1, aName, anObject._id);
+    return NSNotification._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNotification notificationWithName_object_userInfo_(
+      PedometerBindings _lib,
+      NSNotificationName aName,
+      NSObject anObject,
+      NSDictionary? aUserInfo) {
+    final _ret = _lib._objc_msgSend_501(
+        _lib._class_NSNotification1,
+        _lib._sel_notificationWithName_object_userInfo_1,
+        aName,
+        anObject._id,
+        aUserInfo?._id ?? ffi.nullptr);
+    return NSNotification._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSNotification init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSNotification._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSNotification new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSNotification1, _lib._sel_new1);
+    return NSNotification._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSNotification alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSNotification1, _lib._sel_alloc1);
+    return NSNotification._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSNotification1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSNotification1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSNotification1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSNotification1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSNotification1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSNotification1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSNotification1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSNotificationName = ffi.Pointer<ObjCObject>;
+
+class NSBundle extends NSObject {
+  NSBundle._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSBundle] that points to the same underlying object as [other].
+  static NSBundle castFrom<T extends _ObjCWrapper>(T other) {
+    return NSBundle._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSBundle] that wraps the given raw object pointer.
+  static NSBundle castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSBundle._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSBundle].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSBundle1);
+  }
+
+  static NSBundle? getMainBundle(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_502(_lib._class_NSBundle1, _lib._sel_mainBundle1);
+    return _ret.address == 0
+        ? null
+        : NSBundle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSBundle bundleWithPath_(PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSBundle1,
+        _lib._sel_bundleWithPath_1, path?._id ?? ffi.nullptr);
+    return NSBundle._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSBundle initWithPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithPath_1, path?._id ?? ffi.nullptr);
+    return NSBundle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSBundle bundleWithURL_(PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSBundle1,
+        _lib._sel_bundleWithURL_1, url?._id ?? ffi.nullptr);
+    return NSBundle._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSBundle initWithURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(
+        _id, _lib._sel_initWithURL_1, url?._id ?? ffi.nullptr);
+    return NSBundle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSBundle bundleForClass_(PedometerBindings _lib, NSObject aClass) {
+    final _ret = _lib._objc_msgSend_503(
+        _lib._class_NSBundle1, _lib._sel_bundleForClass_1, aClass._id);
+    return NSBundle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSBundle bundleWithIdentifier_(
+      PedometerBindings _lib, NSString? identifier) {
+    final _ret = _lib._objc_msgSend_504(_lib._class_NSBundle1,
+        _lib._sel_bundleWithIdentifier_1, identifier?._id ?? ffi.nullptr);
+    return NSBundle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getAllBundles(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_71(_lib._class_NSBundle1, _lib._sel_allBundles1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getAllFrameworks(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_71(_lib._class_NSBundle1, _lib._sel_allFrameworks1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool load() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_load1);
+  }
+
+  bool get loaded {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isLoaded1);
+  }
+
+  bool unload() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_unload1);
+  }
+
+  bool preflightAndReturnError_(ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_182(
+        _id, _lib._sel_preflightAndReturnError_1, error);
+  }
+
+  bool loadAndReturnError_(ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_182(_id, _lib._sel_loadAndReturnError_1, error);
+  }
+
+  NSURL? get bundleURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_bundleURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get resourceURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_resourceURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get executableURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_executableURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLForAuxiliaryExecutable_(NSString? executableName) {
+    final _ret = _lib._objc_msgSend_34(
+        _id,
+        _lib._sel_URLForAuxiliaryExecutable_1,
+        executableName?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get privateFrameworksURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_privateFrameworksURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get sharedFrameworksURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_sharedFrameworksURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get sharedSupportURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_sharedSupportURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get builtInPlugInsURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_builtInPlugInsURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get appStoreReceiptURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_appStoreReceiptURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get bundlePath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_bundlePath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get resourcePath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_resourcePath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get executablePath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_executablePath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString pathForAuxiliaryExecutable_(NSString? executableName) {
+    final _ret = _lib._objc_msgSend_56(
+        _id,
+        _lib._sel_pathForAuxiliaryExecutable_1,
+        executableName?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get privateFrameworksPath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_privateFrameworksPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get sharedFrameworksPath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_sharedFrameworksPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get sharedSupportPath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_sharedSupportPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get builtInPlugInsPath {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_builtInPlugInsPath1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURL URLForResource_withExtension_subdirectory_inBundleWithURL_(
+      PedometerBindings _lib,
+      NSString? name,
+      NSString? ext,
+      NSString? subpath,
+      NSURL? bundleURL) {
+    final _ret = _lib._objc_msgSend_505(
+        _lib._class_NSBundle1,
+        _lib._sel_URLForResource_withExtension_subdirectory_inBundleWithURL_1,
+        name?._id ?? ffi.nullptr,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr,
+        bundleURL?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray URLsForResourcesWithExtension_subdirectory_inBundleWithURL_(
+      PedometerBindings _lib,
+      NSString? ext,
+      NSString? subpath,
+      NSURL? bundleURL) {
+    final _ret = _lib._objc_msgSend_506(
+        _lib._class_NSBundle1,
+        _lib._sel_URLsForResourcesWithExtension_subdirectory_inBundleWithURL_1,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr,
+        bundleURL?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLForResource_withExtension_(NSString? name, NSString? ext) {
+    final _ret = _lib._objc_msgSend_507(
+        _id,
+        _lib._sel_URLForResource_withExtension_1,
+        name?._id ?? ffi.nullptr,
+        ext?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLForResource_withExtension_subdirectory_(
+      NSString? name, NSString? ext, NSString? subpath) {
+    final _ret = _lib._objc_msgSend_508(
+        _id,
+        _lib._sel_URLForResource_withExtension_subdirectory_1,
+        name?._id ?? ffi.nullptr,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL URLForResource_withExtension_subdirectory_localization_(NSString? name,
+      NSString? ext, NSString? subpath, NSString? localizationName) {
+    final _ret = _lib._objc_msgSend_509(
+        _id,
+        _lib._sel_URLForResource_withExtension_subdirectory_localization_1,
+        name?._id ?? ffi.nullptr,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr,
+        localizationName?._id ?? ffi.nullptr);
+    return NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray URLsForResourcesWithExtension_subdirectory_(
+      NSString? ext, NSString? subpath) {
+    final _ret = _lib._objc_msgSend_510(
+        _id,
+        _lib._sel_URLsForResourcesWithExtension_subdirectory_1,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray URLsForResourcesWithExtension_subdirectory_localization_(
+      NSString? ext, NSString? subpath, NSString? localizationName) {
+    final _ret = _lib._objc_msgSend_511(
+        _id,
+        _lib._sel_URLsForResourcesWithExtension_subdirectory_localization_1,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr,
+        localizationName?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString pathForResource_ofType_inDirectory_(PedometerBindings _lib,
+      NSString? name, NSString? ext, NSString? bundlePath) {
+    final _ret = _lib._objc_msgSend_512(
+        _lib._class_NSBundle1,
+        _lib._sel_pathForResource_ofType_inDirectory_1,
+        name?._id ?? ffi.nullptr,
+        ext?._id ?? ffi.nullptr,
+        bundlePath?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray pathsForResourcesOfType_inDirectory_(
+      PedometerBindings _lib, NSString? ext, NSString? bundlePath) {
+    final _ret = _lib._objc_msgSend_510(
+        _lib._class_NSBundle1,
+        _lib._sel_pathsForResourcesOfType_inDirectory_1,
+        ext?._id ?? ffi.nullptr,
+        bundlePath?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString pathForResource_ofType_(NSString? name, NSString? ext) {
+    final _ret = _lib._objc_msgSend_293(_id, _lib._sel_pathForResource_ofType_1,
+        name?._id ?? ffi.nullptr, ext?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString pathForResource_ofType_inDirectory_forLocalization_(NSString? name,
+      NSString? ext, NSString? subpath, NSString? localizationName) {
+    final _ret = _lib._objc_msgSend_513(
+        _id,
+        _lib._sel_pathForResource_ofType_inDirectory_forLocalization_1,
+        name?._id ?? ffi.nullptr,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr,
+        localizationName?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray pathsForResourcesOfType_inDirectory_forLocalization_(
+      NSString? ext, NSString? subpath, NSString? localizationName) {
+    final _ret = _lib._objc_msgSend_511(
+        _id,
+        _lib._sel_pathsForResourcesOfType_inDirectory_forLocalization_1,
+        ext?._id ?? ffi.nullptr,
+        subpath?._id ?? ffi.nullptr,
+        localizationName?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString localizedStringForKey_value_table_(
+      NSString? key, NSString? value, NSString? tableName) {
+    final _ret = _lib._objc_msgSend_512(
+        _id,
+        _lib._sel_localizedStringForKey_value_table_1,
+        key?._id ?? ffi.nullptr,
+        value?._id ?? ffi.nullptr,
+        tableName?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSAttributedString localizedAttributedStringForKey_value_table_(
+      NSString? key, NSString? value, NSString? tableName) {
+    final _ret = _lib._objc_msgSend_534(
+        _id,
+        _lib._sel_localizedAttributedStringForKey_value_table_1,
+        key?._id ?? ffi.nullptr,
+        value?._id ?? ffi.nullptr,
+        tableName?._id ?? ffi.nullptr);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get bundleIdentifier {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_bundleIdentifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary? get infoDictionary {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_infoDictionary1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary? get localizedInfoDictionary {
+    final _ret =
+        _lib._objc_msgSend_319(_id, _lib._sel_localizedInfoDictionary1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject objectForInfoDictionaryKey_(NSString? key) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_objectForInfoDictionaryKey_1, key?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject classNamed_(NSString? className) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_classNamed_1, className?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject get principalClass {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_principalClass1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get preferredLocalizations {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_preferredLocalizations1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get localizations {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_localizations1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get developmentLocalization {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_developmentLocalization1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray preferredLocalizationsFromArray_(
+      PedometerBindings _lib, NSArray? localizationsArray) {
+    final _ret = _lib._objc_msgSend_55(
+        _lib._class_NSBundle1,
+        _lib._sel_preferredLocalizationsFromArray_1,
+        localizationsArray?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray preferredLocalizationsFromArray_forPreferences_(
+      PedometerBindings _lib,
+      NSArray? localizationsArray,
+      NSArray? preferencesArray) {
+    final _ret = _lib._objc_msgSend_535(
+        _lib._class_NSBundle1,
+        _lib._sel_preferredLocalizationsFromArray_forPreferences_1,
+        localizationsArray?._id ?? ffi.nullptr,
+        preferencesArray?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get executableArchitectures {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_executableArchitectures1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void setPreservationPriority_forTags_(double priority, NSSet? tags) {
+    _lib._objc_msgSend_536(_id, _lib._sel_setPreservationPriority_forTags_1,
+        priority, tags?._id ?? ffi.nullptr);
+  }
+
+  double preservationPriorityForTag_(NSString? tag) {
+    return _lib._objc_msgSend_233(
+        _id, _lib._sel_preservationPriorityForTag_1, tag?._id ?? ffi.nullptr);
+  }
+
+  static NSBundle new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSBundle1, _lib._sel_new1);
+    return NSBundle._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSBundle alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSBundle1, _lib._sel_alloc1);
+    return NSBundle._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSBundle1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSBundle1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSBundle1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSBundle1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSBundle1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSBundle1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSBundle1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSAttributedString extends NSObject {
+  NSAttributedString._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSAttributedString] that points to the same underlying object as [other].
+  static NSAttributedString castFrom<T extends _ObjCWrapper>(T other) {
+    return NSAttributedString._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSAttributedString] that wraps the given raw object pointer.
+  static NSAttributedString castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSAttributedString._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSAttributedString].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSAttributedString1);
+  }
+
+  NSString? get string {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_string1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary attributesAtIndex_effectiveRange_(
+      int location, NSRangePointer range) {
+    final _ret = _lib._objc_msgSend_514(
+        _id, _lib._sel_attributesAtIndex_effectiveRange_1, location, range);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get length {
+    return _lib._objc_msgSend_10(_id, _lib._sel_length1);
+  }
+
+  NSObject attribute_atIndex_effectiveRange_(
+      NSAttributedStringKey attrName, int location, NSRangePointer range) {
+    final _ret = _lib._objc_msgSend_515(
+        _id,
+        _lib._sel_attribute_atIndex_effectiveRange_1,
+        attrName,
+        location,
+        range);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSAttributedString attributedSubstringFromRange_(NSRange range) {
+    final _ret = _lib._objc_msgSend_516(
+        _id, _lib._sel_attributedSubstringFromRange_1, range);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary attributesAtIndex_longestEffectiveRange_inRange_(
+      int location, NSRangePointer range, NSRange rangeLimit) {
+    final _ret = _lib._objc_msgSend_517(
+        _id,
+        _lib._sel_attributesAtIndex_longestEffectiveRange_inRange_1,
+        location,
+        range,
+        rangeLimit);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject attribute_atIndex_longestEffectiveRange_inRange_(
+      NSAttributedStringKey attrName,
+      int location,
+      NSRangePointer range,
+      NSRange rangeLimit) {
+    final _ret = _lib._objc_msgSend_518(
+        _id,
+        _lib._sel_attribute_atIndex_longestEffectiveRange_inRange_1,
+        attrName,
+        location,
+        range,
+        rangeLimit);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool isEqualToAttributedString_(NSAttributedString? other) {
+    return _lib._objc_msgSend_519(
+        _id, _lib._sel_isEqualToAttributedString_1, other?._id ?? ffi.nullptr);
+  }
+
+  NSAttributedString initWithString_(NSString? str) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithString_1, str?._id ?? ffi.nullptr);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSAttributedString initWithString_attributes_(
+      NSString? str, NSDictionary? attrs) {
+    final _ret = _lib._objc_msgSend_327(
+        _id,
+        _lib._sel_initWithString_attributes_1,
+        str?._id ?? ffi.nullptr,
+        attrs?._id ?? ffi.nullptr);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSAttributedString initWithAttributedString_(NSAttributedString? attrStr) {
+    final _ret = _lib._objc_msgSend_520(
+        _id, _lib._sel_initWithAttributedString_1, attrStr?._id ?? ffi.nullptr);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateAttributesInRange_options_usingBlock_(NSRange enumerationRange,
+      int opts, ObjCBlock_ffiVoid_NSDictionary_NSRange_bool block) {
+    _lib._objc_msgSend_521(
+        _id,
+        _lib._sel_enumerateAttributesInRange_options_usingBlock_1,
+        enumerationRange,
+        opts,
+        block._id);
+  }
+
+  void enumerateAttribute_inRange_options_usingBlock_(
+      NSAttributedStringKey attrName,
+      NSRange enumerationRange,
+      int opts,
+      ObjCBlock_ffiVoid_ObjCObject_NSRange_bool block) {
+    _lib._objc_msgSend_522(
+        _id,
+        _lib._sel_enumerateAttribute_inRange_options_usingBlock_1,
+        attrName,
+        enumerationRange,
+        opts,
+        block._id);
+  }
+
+  NSAttributedString initWithContentsOfMarkdownFileAtURL_options_baseURL_error_(
+      NSURL? markdownFile,
+      NSAttributedStringMarkdownParsingOptions? options,
+      NSURL? baseURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_527(
+        _id,
+        _lib._sel_initWithContentsOfMarkdownFileAtURL_options_baseURL_error_1,
+        markdownFile?._id ?? ffi.nullptr,
+        options?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr,
+        error);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSAttributedString initWithMarkdown_options_baseURL_error_(
+      NSData? markdown,
+      NSAttributedStringMarkdownParsingOptions? options,
+      NSURL? baseURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_528(
+        _id,
+        _lib._sel_initWithMarkdown_options_baseURL_error_1,
+        markdown?._id ?? ffi.nullptr,
+        options?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr,
+        error);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSAttributedString initWithMarkdownString_options_baseURL_error_(
+      NSString? markdownString,
+      NSAttributedStringMarkdownParsingOptions? options,
+      NSURL? baseURL,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_529(
+        _id,
+        _lib._sel_initWithMarkdownString_options_baseURL_error_1,
+        markdownString?._id ?? ffi.nullptr,
+        options?._id ?? ffi.nullptr,
+        baseURL?._id ?? ffi.nullptr,
+        error);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Formats the string using the specified locale (or the canonical one, if nil).
+  NSAttributedString initWithFormat_options_locale_(
+      NSAttributedString? format, int options, NSLocale? locale) {
+    final _ret = _lib._objc_msgSend_530(
+        _id,
+        _lib._sel_initWithFormat_options_locale_1,
+        format?._id ?? ffi.nullptr,
+        options,
+        locale?._id ?? ffi.nullptr);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Formats the string using the arguments list and the specified locale (or the canonical one, if nil).
+  NSAttributedString initWithFormat_options_locale_arguments_(
+      NSAttributedString? format,
+      int options,
+      NSLocale? locale,
+      ffi.Pointer<__va_list_tag> arguments) {
+    final _ret = _lib._objc_msgSend_531(
+        _id,
+        _lib._sel_initWithFormat_options_locale_arguments_1,
+        format?._id ?? ffi.nullptr,
+        options,
+        locale?._id ?? ffi.nullptr,
+        arguments);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Formats the string using the current locale and default options.
+  static NSAttributedString localizedAttributedStringWithFormat_(
+      PedometerBindings _lib, NSAttributedString? format) {
+    final _ret = _lib._objc_msgSend_520(
+        _lib._class_NSAttributedString1,
+        _lib._sel_localizedAttributedStringWithFormat_1,
+        format?._id ?? ffi.nullptr);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Formats the string using the current locale and the specified options.
+  static NSAttributedString localizedAttributedStringWithFormat_options_(
+      PedometerBindings _lib, NSAttributedString? format, int options) {
+    final _ret = _lib._objc_msgSend_532(
+        _lib._class_NSAttributedString1,
+        _lib._sel_localizedAttributedStringWithFormat_options_1,
+        format?._id ?? ffi.nullptr,
+        options);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// If the string has portions tagged with NSInflectionRuleAttributeName
+  /// that have no format specifiers, create a new string with those portions inflected
+  /// by following the rule in the attribute.
+  NSAttributedString attributedStringByInflectingString() {
+    final _ret = _lib._objc_msgSend_533(
+        _id, _lib._sel_attributedStringByInflectingString1);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSAttributedString new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSAttributedString1, _lib._sel_new1);
+    return NSAttributedString._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSAttributedString alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSAttributedString1, _lib._sel_alloc1);
+    return NSAttributedString._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSAttributedString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSAttributedString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSAttributedString1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSAttributedString1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSAttributedString1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSAttributedString1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSAttributedString1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSAttributedStringKey = ffi.Pointer<ObjCObject>;
+
+abstract class NSAttributedStringEnumerationOptions {
+  static const int NSAttributedStringEnumerationReverse = 2;
+  static const int
+      NSAttributedStringEnumerationLongestEffectiveRangeNotRequired = 1048576;
+}
+
+void _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    NSRange arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+                  ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_registerClosure(Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    NSRange arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  (_ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, NSRange,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSDictionary_NSRange_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSDictionary_NSRange_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDictionary_NSRange_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+                      ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDictionary_NSRange_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSDictionary_NSRange_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDictionary_NSRange_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          NSRange arg1,
+          ffi.Pointer<ffi.Bool> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ObjCObject> arg0, NSRange arg1, ffi.Pointer<ffi.Bool> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    NSRange arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                NSRange arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    NSRange arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+                  ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    NSRange arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  (_ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, NSRange,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_ObjCObject_NSRange_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_ObjCObject_NSRange_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_NSRange_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+                      ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_ObjCObject_NSRange_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_ObjCObject_NSRange_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, NSRange arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                NSRange arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_ObjCObject_NSRange_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          NSRange arg1,
+          ffi.Pointer<ffi.Bool> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ObjCObject> arg0, NSRange arg1, ffi.Pointer<ffi.Bool> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    NSRange arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                NSRange arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+class NSAttributedStringMarkdownParsingOptions extends NSObject {
+  NSAttributedStringMarkdownParsingOptions._(
+      ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSAttributedStringMarkdownParsingOptions] that points to the same underlying object as [other].
+  static NSAttributedStringMarkdownParsingOptions
+      castFrom<T extends _ObjCWrapper>(T other) {
+    return NSAttributedStringMarkdownParsingOptions._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSAttributedStringMarkdownParsingOptions] that wraps the given raw object pointer.
+  static NSAttributedStringMarkdownParsingOptions castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSAttributedStringMarkdownParsingOptions._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSAttributedStringMarkdownParsingOptions].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSAttributedStringMarkdownParsingOptions1);
+  }
+
+  @override
+  NSAttributedStringMarkdownParsingOptions init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSAttributedStringMarkdownParsingOptions._(_ret, _lib,
+        retain: true, release: true);
+  }
+
+  bool get allowsExtendedAttributes {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsExtendedAttributes1);
+  }
+
+  set allowsExtendedAttributes(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAllowsExtendedAttributes_1, value);
+  }
+
+  int get interpretedSyntax {
+    return _lib._objc_msgSend_523(_id, _lib._sel_interpretedSyntax1);
+  }
+
+  set interpretedSyntax(int value) {
+    return _lib._objc_msgSend_524(_id, _lib._sel_setInterpretedSyntax_1, value);
+  }
+
+  int get failurePolicy {
+    return _lib._objc_msgSend_525(_id, _lib._sel_failurePolicy1);
+  }
+
+  set failurePolicy(int value) {
+    return _lib._objc_msgSend_526(_id, _lib._sel_setFailurePolicy_1, value);
+  }
+
+  NSString? get languageCode {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_languageCode1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set languageCode(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setLanguageCode_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get appliesSourcePositionAttributes {
+    return _lib._objc_msgSend_12(
+        _id, _lib._sel_appliesSourcePositionAttributes1);
+  }
+
+  set appliesSourcePositionAttributes(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAppliesSourcePositionAttributes_1, value);
+  }
+
+  static NSAttributedStringMarkdownParsingOptions new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1, _lib._sel_new1);
+    return NSAttributedStringMarkdownParsingOptions._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static NSAttributedStringMarkdownParsingOptions alloc(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_alloc1);
+    return NSAttributedStringMarkdownParsingOptions._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSAttributedStringMarkdownParsingOptions1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSAttributedStringMarkdownInterpretedSyntax {
+  static const int NSAttributedStringMarkdownInterpretedSyntaxFull = 0;
+  static const int NSAttributedStringMarkdownInterpretedSyntaxInlineOnly = 1;
+  static const int
+      NSAttributedStringMarkdownInterpretedSyntaxInlineOnlyPreservingWhitespace =
+      2;
+}
+
+abstract class NSAttributedStringMarkdownParsingFailurePolicy {
+  static const int NSAttributedStringMarkdownParsingFailureReturnError = 0;
+  static const int
+      NSAttributedStringMarkdownParsingFailureReturnPartiallyParsedIfPossible =
+      1;
+}
+
+abstract class NSAttributedStringFormattingOptions {
+  static const int
+      NSAttributedStringFormattingInsertArgumentAttributesWithoutMerging = 1;
+  static const int NSAttributedStringFormattingApplyReplacementIndexAttribute =
+      2;
+}
+
+final class NSSwappedFloat extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int v;
+}
+
+final class NSSwappedDouble extends ffi.Struct {
+  @ffi.UnsignedLongLong()
+  external int v;
+}
+
+typedef NSCalendarIdentifier = ffi.Pointer<ObjCObject>;
+
+abstract class NSCalendarUnit {
+  static const int NSCalendarUnitEra = 2;
+  static const int NSCalendarUnitYear = 4;
+  static const int NSCalendarUnitMonth = 8;
+  static const int NSCalendarUnitDay = 16;
+  static const int NSCalendarUnitHour = 32;
+  static const int NSCalendarUnitMinute = 64;
+  static const int NSCalendarUnitSecond = 128;
+  static const int NSCalendarUnitWeekday = 512;
+  static const int NSCalendarUnitWeekdayOrdinal = 1024;
+  static const int NSCalendarUnitQuarter = 2048;
+  static const int NSCalendarUnitWeekOfMonth = 4096;
+  static const int NSCalendarUnitWeekOfYear = 8192;
+  static const int NSCalendarUnitYearForWeekOfYear = 16384;
+  static const int NSCalendarUnitNanosecond = 32768;
+  static const int NSCalendarUnitCalendar = 1048576;
+  static const int NSCalendarUnitTimeZone = 2097152;
+  static const int NSEraCalendarUnit = 2;
+  static const int NSYearCalendarUnit = 4;
+  static const int NSMonthCalendarUnit = 8;
+  static const int NSDayCalendarUnit = 16;
+  static const int NSHourCalendarUnit = 32;
+  static const int NSMinuteCalendarUnit = 64;
+  static const int NSSecondCalendarUnit = 128;
+  static const int NSWeekCalendarUnit = 256;
+  static const int NSWeekdayCalendarUnit = 512;
+  static const int NSWeekdayOrdinalCalendarUnit = 1024;
+  static const int NSQuarterCalendarUnit = 2048;
+  static const int NSWeekOfMonthCalendarUnit = 4096;
+  static const int NSWeekOfYearCalendarUnit = 8192;
+  static const int NSYearForWeekOfYearCalendarUnit = 16384;
+  static const int NSCalendarCalendarUnit = 1048576;
+  static const int NSTimeZoneCalendarUnit = 2097152;
+}
+
+abstract class NSCalendarOptions {
+  static const int NSCalendarWrapComponents = 1;
+  static const int NSCalendarMatchStrictly = 2;
+  static const int NSCalendarSearchBackwards = 4;
+  static const int NSCalendarMatchPreviousTimePreservingSmallerUnits = 256;
+  static const int NSCalendarMatchNextTimePreservingSmallerUnits = 512;
+  static const int NSCalendarMatchNextTime = 1024;
+  static const int NSCalendarMatchFirst = 4096;
+  static const int NSCalendarMatchLast = 8192;
+}
+
+class NSMutableAttributedString extends NSAttributedString {
+  NSMutableAttributedString._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableAttributedString] that points to the same underlying object as [other].
+  static NSMutableAttributedString castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableAttributedString._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableAttributedString] that wraps the given raw object pointer.
+  static NSMutableAttributedString castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableAttributedString._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableAttributedString].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMutableAttributedString1);
+  }
+
+  void replaceCharactersInRange_withString_(NSRange range, NSString? str) {
+    _lib._objc_msgSend_496(_id, _lib._sel_replaceCharactersInRange_withString_1,
+        range, str?._id ?? ffi.nullptr);
+  }
+
+  void setAttributes_range_(NSDictionary? attrs, NSRange range) {
+    _lib._objc_msgSend_537(
+        _id, _lib._sel_setAttributes_range_1, attrs?._id ?? ffi.nullptr, range);
+  }
+
+  NSMutableString? get mutableString {
+    final _ret = _lib._objc_msgSend_538(_id, _lib._sel_mutableString1);
+    return _ret.address == 0
+        ? null
+        : NSMutableString._(_ret, _lib, retain: true, release: true);
+  }
+
+  void addAttribute_value_range_(
+      NSAttributedStringKey name, NSObject value, NSRange range) {
+    _lib._objc_msgSend_539(
+        _id, _lib._sel_addAttribute_value_range_1, name, value._id, range);
+  }
+
+  void addAttributes_range_(NSDictionary? attrs, NSRange range) {
+    _lib._objc_msgSend_537(
+        _id, _lib._sel_addAttributes_range_1, attrs?._id ?? ffi.nullptr, range);
+  }
+
+  void removeAttribute_range_(NSAttributedStringKey name, NSRange range) {
+    _lib._objc_msgSend_540(_id, _lib._sel_removeAttribute_range_1, name, range);
+  }
+
+  void replaceCharactersInRange_withAttributedString_(
+      NSRange range, NSAttributedString? attrString) {
+    _lib._objc_msgSend_541(
+        _id,
+        _lib._sel_replaceCharactersInRange_withAttributedString_1,
+        range,
+        attrString?._id ?? ffi.nullptr);
+  }
+
+  void insertAttributedString_atIndex_(
+      NSAttributedString? attrString, int loc) {
+    _lib._objc_msgSend_542(_id, _lib._sel_insertAttributedString_atIndex_1,
+        attrString?._id ?? ffi.nullptr, loc);
+  }
+
+  void appendAttributedString_(NSAttributedString? attrString) {
+    _lib._objc_msgSend_543(_id, _lib._sel_appendAttributedString_1,
+        attrString?._id ?? ffi.nullptr);
+  }
+
+  void deleteCharactersInRange_(NSRange range) {
+    _lib._objc_msgSend_397(_id, _lib._sel_deleteCharactersInRange_1, range);
+  }
+
+  void setAttributedString_(NSAttributedString? attrString) {
+    _lib._objc_msgSend_543(
+        _id, _lib._sel_setAttributedString_1, attrString?._id ?? ffi.nullptr);
+  }
+
+  void beginEditing() {
+    _lib._objc_msgSend_1(_id, _lib._sel_beginEditing1);
+  }
+
+  void endEditing() {
+    _lib._objc_msgSend_1(_id, _lib._sel_endEditing1);
+  }
+
+  /// Formats the specified string and arguments with the current locale,
+  /// then appends the result to the receiver.
+  void appendLocalizedFormat_(NSAttributedString? format) {
+    _lib._objc_msgSend_543(
+        _id, _lib._sel_appendLocalizedFormat_1, format?._id ?? ffi.nullptr);
+  }
+
+  /// Formats the string using the current locale and default options.
+  static NSMutableAttributedString localizedAttributedStringWithFormat_(
+      PedometerBindings _lib, NSAttributedString? format) {
+    final _ret = _lib._objc_msgSend_520(
+        _lib._class_NSMutableAttributedString1,
+        _lib._sel_localizedAttributedStringWithFormat_1,
+        format?._id ?? ffi.nullptr);
+    return NSMutableAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Formats the string using the current locale and the specified options.
+  static NSMutableAttributedString localizedAttributedStringWithFormat_options_(
+      PedometerBindings _lib, NSAttributedString? format, int options) {
+    final _ret = _lib._objc_msgSend_532(
+        _lib._class_NSMutableAttributedString1,
+        _lib._sel_localizedAttributedStringWithFormat_options_1,
+        format?._id ?? ffi.nullptr,
+        options);
+    return NSMutableAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableAttributedString new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableAttributedString1, _lib._sel_new1);
+    return NSMutableAttributedString._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static NSMutableAttributedString alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableAttributedString1, _lib._sel_alloc1);
+    return NSMutableAttributedString._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableAttributedString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableAttributedString1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMutableAttributedString1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableAttributedString1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableAttributedString1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSMutableAttributedString1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSMutableAttributedString1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSInlinePresentationIntent {
+  static const int NSInlinePresentationIntentEmphasized = 1;
+  static const int NSInlinePresentationIntentStronglyEmphasized = 2;
+  static const int NSInlinePresentationIntentCode = 4;
+  static const int NSInlinePresentationIntentStrikethrough = 32;
+  static const int NSInlinePresentationIntentSoftBreak = 64;
+  static const int NSInlinePresentationIntentLineBreak = 128;
+  static const int NSInlinePresentationIntentInlineHTML = 256;
+  static const int NSInlinePresentationIntentBlockHTML = 512;
+}
+
+abstract class NSPresentationIntentKind {
+  static const int NSPresentationIntentKindParagraph = 0;
+  static const int NSPresentationIntentKindHeader = 1;
+  static const int NSPresentationIntentKindOrderedList = 2;
+  static const int NSPresentationIntentKindUnorderedList = 3;
+  static const int NSPresentationIntentKindListItem = 4;
+  static const int NSPresentationIntentKindCodeBlock = 5;
+  static const int NSPresentationIntentKindBlockQuote = 6;
+  static const int NSPresentationIntentKindThematicBreak = 7;
+  static const int NSPresentationIntentKindTable = 8;
+  static const int NSPresentationIntentKindTableHeaderRow = 9;
+  static const int NSPresentationIntentKindTableRow = 10;
+  static const int NSPresentationIntentKindTableCell = 11;
+}
+
+abstract class NSPresentationIntentTableColumnAlignment {
+  static const int NSPresentationIntentTableColumnAlignmentLeft = 0;
+  static const int NSPresentationIntentTableColumnAlignmentCenter = 1;
+  static const int NSPresentationIntentTableColumnAlignmentRight = 2;
+}
+
+abstract class NSFormattingContext {
+  static const int NSFormattingContextUnknown = 0;
+  static const int NSFormattingContextDynamic = 1;
+  static const int NSFormattingContextStandalone = 2;
+  static const int NSFormattingContextListItem = 3;
+  static const int NSFormattingContextBeginningOfSentence = 4;
+  static const int NSFormattingContextMiddleOfSentence = 5;
+}
+
+abstract class NSFormattingUnitStyle {
+  static const int NSFormattingUnitStyleShort = 1;
+  static const int NSFormattingUnitStyleMedium = 2;
+  static const int NSFormattingUnitStyleLong = 3;
+}
+
+class NSDateFormatter extends NSFormatter {
+  NSDateFormatter._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSDateFormatter] that points to the same underlying object as [other].
+  static NSDateFormatter castFrom<T extends _ObjCWrapper>(T other) {
+    return NSDateFormatter._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSDateFormatter] that wraps the given raw object pointer.
+  static NSDateFormatter castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSDateFormatter._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSDateFormatter].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSDateFormatter1);
+  }
+
+  int get formattingContext {
+    return _lib._objc_msgSend_548(_id, _lib._sel_formattingContext1);
+  }
+
+  set formattingContext(int value) {
+    return _lib._objc_msgSend_549(_id, _lib._sel_setFormattingContext_1, value);
+  }
+
+  bool getObjectValue_forString_range_error_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> obj,
+      NSString? string,
+      ffi.Pointer<NSRange> rangep,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_550(
+        _id,
+        _lib._sel_getObjectValue_forString_range_error_1,
+        obj,
+        string?._id ?? ffi.nullptr,
+        rangep,
+        error);
+  }
+
+  NSString stringFromDate_(NSDate? date) {
+    final _ret = _lib._objc_msgSend_551(
+        _id, _lib._sel_stringFromDate_1, date?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate dateFromString_(NSString? string) {
+    final _ret = _lib._objc_msgSend_552(
+        _id, _lib._sel_dateFromString_1, string?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString localizedStringFromDate_dateStyle_timeStyle_(
+      PedometerBindings _lib, NSDate? date, int dstyle, int tstyle) {
+    final _ret = _lib._objc_msgSend_553(
+        _lib._class_NSDateFormatter1,
+        _lib._sel_localizedStringFromDate_dateStyle_timeStyle_1,
+        date?._id ?? ffi.nullptr,
+        dstyle,
+        tstyle);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString dateFormatFromTemplate_options_locale_(
+      PedometerBindings _lib, NSString? tmplate, int opts, NSLocale? locale) {
+    final _ret = _lib._objc_msgSend_554(
+        _lib._class_NSDateFormatter1,
+        _lib._sel_dateFormatFromTemplate_options_locale_1,
+        tmplate?._id ?? ffi.nullptr,
+        opts,
+        locale?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static int getDefaultFormatterBehavior(PedometerBindings _lib) {
+    return _lib._objc_msgSend_555(
+        _lib._class_NSDateFormatter1, _lib._sel_defaultFormatterBehavior1);
+  }
+
+  static void setDefaultFormatterBehavior(PedometerBindings _lib, int value) {
+    return _lib._objc_msgSend_556(_lib._class_NSDateFormatter1,
+        _lib._sel_setDefaultFormatterBehavior_1, value);
+  }
+
+  void setLocalizedDateFormatFromTemplate_(NSString? dateFormatTemplate) {
+    _lib._objc_msgSend_187(_id, _lib._sel_setLocalizedDateFormatFromTemplate_1,
+        dateFormatTemplate?._id ?? ffi.nullptr);
+  }
+
+  NSString? get dateFormat {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_dateFormat1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set dateFormat(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setDateFormat_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get dateStyle {
+    return _lib._objc_msgSend_557(_id, _lib._sel_dateStyle1);
+  }
+
+  set dateStyle(int value) {
+    return _lib._objc_msgSend_558(_id, _lib._sel_setDateStyle_1, value);
+  }
+
+  int get timeStyle {
+    return _lib._objc_msgSend_557(_id, _lib._sel_timeStyle1);
+  }
+
+  set timeStyle(int value) {
+    return _lib._objc_msgSend_558(_id, _lib._sel_setTimeStyle_1, value);
+  }
+
+  NSLocale? get locale {
+    final _ret = _lib._objc_msgSend_268(_id, _lib._sel_locale1);
+    return _ret.address == 0
+        ? null
+        : NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  set locale(NSLocale? value) {
+    return _lib._objc_msgSend_559(
+        _id, _lib._sel_setLocale_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get generatesCalendarDates {
+    return _lib._objc_msgSend_12(_id, _lib._sel_generatesCalendarDates1);
+  }
+
+  set generatesCalendarDates(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setGeneratesCalendarDates_1, value);
+  }
+
+  int get formatterBehavior {
+    return _lib._objc_msgSend_555(_id, _lib._sel_formatterBehavior1);
+  }
+
+  set formatterBehavior(int value) {
+    return _lib._objc_msgSend_556(_id, _lib._sel_setFormatterBehavior_1, value);
+  }
+
+  NSTimeZone? get timeZone {
+    final _ret = _lib._objc_msgSend_561(_id, _lib._sel_timeZone1);
+    return _ret.address == 0
+        ? null
+        : NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  set timeZone(NSTimeZone? value) {
+    return _lib._objc_msgSend_562(
+        _id, _lib._sel_setTimeZone_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSCalendar? get calendar {
+    final _ret = _lib._objc_msgSend_568(_id, _lib._sel_calendar1);
+    return _ret.address == 0
+        ? null
+        : NSCalendar._(_ret, _lib, retain: true, release: true);
+  }
+
+  set calendar(NSCalendar? value) {
+    return _lib._objc_msgSend_574(
+        _id, _lib._sel_setCalendar_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get lenient {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isLenient1);
+  }
+
+  set lenient(bool value) {
+    return _lib._objc_msgSend_445(_id, _lib._sel_setLenient_1, value);
+  }
+
+  NSDate? get twoDigitStartDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_twoDigitStartDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  set twoDigitStartDate(NSDate? value) {
+    return _lib._objc_msgSend_600(
+        _id, _lib._sel_setTwoDigitStartDate_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSDate? get defaultDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_defaultDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  set defaultDate(NSDate? value) {
+    return _lib._objc_msgSend_600(
+        _id, _lib._sel_setDefaultDate_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get eraSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_eraSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set eraSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setEraSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get monthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_monthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set monthSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setMonthSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get shortMonthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_shortMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set shortMonthSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setShortMonthSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get weekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_weekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set weekdaySymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setWeekdaySymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get shortWeekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_shortWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set shortWeekdaySymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setShortWeekdaySymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSString? get AMSymbol {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_AMSymbol1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set AMSymbol(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setAMSymbol_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSString? get PMSymbol {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_PMSymbol1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set PMSymbol(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setPMSymbol_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get longEraSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_longEraSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set longEraSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setLongEraSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get veryShortMonthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_veryShortMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set veryShortMonthSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setVeryShortMonthSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get standaloneMonthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_standaloneMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set standaloneMonthSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setStandaloneMonthSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get shortStandaloneMonthSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_shortStandaloneMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set shortStandaloneMonthSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(_id,
+        _lib._sel_setShortStandaloneMonthSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get veryShortStandaloneMonthSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_veryShortStandaloneMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set veryShortStandaloneMonthSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id,
+        _lib._sel_setVeryShortStandaloneMonthSymbols_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get veryShortWeekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_veryShortWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set veryShortWeekdaySymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setVeryShortWeekdaySymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get standaloneWeekdaySymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_standaloneWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set standaloneWeekdaySymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(_id, _lib._sel_setStandaloneWeekdaySymbols_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get shortStandaloneWeekdaySymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_shortStandaloneWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set shortStandaloneWeekdaySymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id,
+        _lib._sel_setShortStandaloneWeekdaySymbols_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get veryShortStandaloneWeekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(
+        _id, _lib._sel_veryShortStandaloneWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set veryShortStandaloneWeekdaySymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id,
+        _lib._sel_setVeryShortStandaloneWeekdaySymbols_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get quarterSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_quarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set quarterSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setQuarterSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get shortQuarterSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_shortQuarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set shortQuarterSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setShortQuarterSymbols_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get standaloneQuarterSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_standaloneQuarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set standaloneQuarterSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(_id, _lib._sel_setStandaloneQuarterSymbols_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get shortStandaloneQuarterSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_shortStandaloneQuarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set shortStandaloneQuarterSymbols(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id,
+        _lib._sel_setShortStandaloneQuarterSymbols_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  NSDate? get gregorianStartDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_gregorianStartDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  set gregorianStartDate(NSDate? value) {
+    return _lib._objc_msgSend_600(
+        _id, _lib._sel_setGregorianStartDate_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get doesRelativeDateFormatting {
+    return _lib._objc_msgSend_12(_id, _lib._sel_doesRelativeDateFormatting1);
+  }
+
+  set doesRelativeDateFormatting(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setDoesRelativeDateFormatting_1, value);
+  }
+
+  static NSDateFormatter new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSDateFormatter1, _lib._sel_new1);
+    return NSDateFormatter._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSDateFormatter alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSDateFormatter1, _lib._sel_alloc1);
+    return NSDateFormatter._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSDateFormatter1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSDateFormatter1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSDateFormatter1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSDateFormatter1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSDateFormatter1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSDateFormatter1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSDateFormatter1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSFormatter extends NSObject {
+  NSFormatter._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSFormatter] that points to the same underlying object as [other].
+  static NSFormatter castFrom<T extends _ObjCWrapper>(T other) {
+    return NSFormatter._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSFormatter] that wraps the given raw object pointer.
+  static NSFormatter castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSFormatter._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSFormatter].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSFormatter1);
+  }
+
+  NSString stringForObjectValue_(NSObject obj) {
+    final _ret =
+        _lib._objc_msgSend_57(_id, _lib._sel_stringForObjectValue_1, obj._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSAttributedString attributedStringForObjectValue_withDefaultAttributes_(
+      NSObject obj, NSDictionary? attrs) {
+    final _ret = _lib._objc_msgSend_544(
+        _id,
+        _lib._sel_attributedStringForObjectValue_withDefaultAttributes_1,
+        obj._id,
+        attrs?._id ?? ffi.nullptr);
+    return NSAttributedString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString editingStringForObjectValue_(NSObject obj) {
+    final _ret = _lib._objc_msgSend_57(
+        _id, _lib._sel_editingStringForObjectValue_1, obj._id);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool getObjectValue_forString_errorDescription_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> obj,
+      NSString? string,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_545(
+        _id,
+        _lib._sel_getObjectValue_forString_errorDescription_1,
+        obj,
+        string?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool isPartialStringValid_newEditingString_errorDescription_(
+      NSString? partialString,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> newString,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_546(
+        _id,
+        _lib._sel_isPartialStringValid_newEditingString_errorDescription_1,
+        partialString?._id ?? ffi.nullptr,
+        newString,
+        error);
+  }
+
+  bool
+      isPartialStringValid_proposedSelectedRange_originalString_originalSelectedRange_errorDescription_(
+          ffi.Pointer<ffi.Pointer<ObjCObject>> partialStringPtr,
+          NSRangePointer proposedSelRangePtr,
+          NSString? origString,
+          NSRange origSelRange,
+          ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_547(
+        _id,
+        _lib._sel_isPartialStringValid_proposedSelectedRange_originalString_originalSelectedRange_errorDescription_1,
+        partialStringPtr,
+        proposedSelRangePtr,
+        origString?._id ?? ffi.nullptr,
+        origSelRange,
+        error);
+  }
+
+  static NSFormatter new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSFormatter1, _lib._sel_new1);
+    return NSFormatter._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSFormatter alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSFormatter1, _lib._sel_alloc1);
+    return NSFormatter._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSFormatter1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSFormatter1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSFormatter1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSFormatter1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSFormatter1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSFormatter1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSFormatter1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSDateFormatterStyle {
+  static const int NSDateFormatterNoStyle = 0;
+  static const int NSDateFormatterShortStyle = 1;
+  static const int NSDateFormatterMediumStyle = 2;
+  static const int NSDateFormatterLongStyle = 3;
+  static const int NSDateFormatterFullStyle = 4;
+}
+
+abstract class NSDateFormatterBehavior {
+  static const int NSDateFormatterBehaviorDefault = 0;
+  static const int NSDateFormatterBehavior10_4 = 1040;
+}
+
+class NSTimeZone extends NSObject {
+  NSTimeZone._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSTimeZone] that points to the same underlying object as [other].
+  static NSTimeZone castFrom<T extends _ObjCWrapper>(T other) {
+    return NSTimeZone._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSTimeZone] that wraps the given raw object pointer.
+  static NSTimeZone castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSTimeZone._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSTimeZone].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSTimeZone1);
+  }
+
+  NSString? get name {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_name1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData? get data {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_data1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  int secondsFromGMTForDate_(NSDate? aDate) {
+    return _lib._objc_msgSend_560(
+        _id, _lib._sel_secondsFromGMTForDate_1, aDate?._id ?? ffi.nullptr);
+  }
+
+  NSString abbreviationForDate_(NSDate? aDate) {
+    final _ret = _lib._objc_msgSend_551(
+        _id, _lib._sel_abbreviationForDate_1, aDate?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool isDaylightSavingTimeForDate_(NSDate? aDate) {
+    return _lib._objc_msgSend_151(_id, _lib._sel_isDaylightSavingTimeForDate_1,
+        aDate?._id ?? ffi.nullptr);
+  }
+
+  double daylightSavingTimeOffsetForDate_(NSDate? aDate) {
+    return _lib._objc_msgSend_148(_id,
+        _lib._sel_daylightSavingTimeOffsetForDate_1, aDate?._id ?? ffi.nullptr);
+  }
+
+  NSDate nextDaylightSavingTimeTransitionAfterDate_(NSDate? aDate) {
+    final _ret = _lib._objc_msgSend_149(
+        _id,
+        _lib._sel_nextDaylightSavingTimeTransitionAfterDate_1,
+        aDate?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimeZone? getSystemTimeZone(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_561(
+        _lib._class_NSTimeZone1, _lib._sel_systemTimeZone1);
+    return _ret.address == 0
+        ? null
+        : NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void resetSystemTimeZone(PedometerBindings _lib) {
+    _lib._objc_msgSend_1(
+        _lib._class_NSTimeZone1, _lib._sel_resetSystemTimeZone1);
+  }
+
+  static NSTimeZone? getDefaultTimeZone(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_561(
+        _lib._class_NSTimeZone1, _lib._sel_defaultTimeZone1);
+    return _ret.address == 0
+        ? null
+        : NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void setDefaultTimeZone(PedometerBindings _lib, NSTimeZone? value) {
+    return _lib._objc_msgSend_562(_lib._class_NSTimeZone1,
+        _lib._sel_setDefaultTimeZone_1, value?._id ?? ffi.nullptr);
+  }
+
+  static NSTimeZone? getLocalTimeZone(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_561(
+        _lib._class_NSTimeZone1, _lib._sel_localTimeZone1);
+    return _ret.address == 0
+        ? null
+        : NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSArray? getKnownTimeZoneNames(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSTimeZone1, _lib._sel_knownTimeZoneNames1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSDictionary? getAbbreviationDictionary(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_319(
+        _lib._class_NSTimeZone1, _lib._sel_abbreviationDictionary1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void setAbbreviationDictionary(
+      PedometerBindings _lib, NSDictionary? value) {
+    return _lib._objc_msgSend_563(_lib._class_NSTimeZone1,
+        _lib._sel_setAbbreviationDictionary_1, value?._id ?? ffi.nullptr);
+  }
+
+  static NSString? getTimeZoneDataVersion(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_20(
+        _lib._class_NSTimeZone1, _lib._sel_timeZoneDataVersion1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get secondsFromGMT {
+    return _lib._objc_msgSend_70(_id, _lib._sel_secondsFromGMT1);
+  }
+
+  NSString? get abbreviation {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_abbreviation1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool get daylightSavingTime {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isDaylightSavingTime1);
+  }
+
+  double get daylightSavingTimeOffset {
+    return _lib._objc_msgSend_146(_id, _lib._sel_daylightSavingTimeOffset1);
+  }
+
+  NSDate? get nextDaylightSavingTimeTransition {
+    final _ret = _lib._objc_msgSend_153(
+        _id, _lib._sel_nextDaylightSavingTimeTransition1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get description {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_description1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool isEqualToTimeZone_(NSTimeZone? aTimeZone) {
+    return _lib._objc_msgSend_564(
+        _id, _lib._sel_isEqualToTimeZone_1, aTimeZone?._id ?? ffi.nullptr);
+  }
+
+  NSString localizedName_locale_(int style, NSLocale? locale) {
+    final _ret = _lib._objc_msgSend_565(_id, _lib._sel_localizedName_locale_1,
+        style, locale?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimeZone timeZoneWithName_(
+      PedometerBindings _lib, NSString? tzName) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSTimeZone1,
+        _lib._sel_timeZoneWithName_1, tzName?._id ?? ffi.nullptr);
+    return NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimeZone timeZoneWithName_data_(
+      PedometerBindings _lib, NSString? tzName, NSData? aData) {
+    final _ret = _lib._objc_msgSend_566(
+        _lib._class_NSTimeZone1,
+        _lib._sel_timeZoneWithName_data_1,
+        tzName?._id ?? ffi.nullptr,
+        aData?._id ?? ffi.nullptr);
+    return NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSTimeZone initWithName_(NSString? tzName) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithName_1, tzName?._id ?? ffi.nullptr);
+    return NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSTimeZone initWithName_data_(NSString? tzName, NSData? aData) {
+    final _ret = _lib._objc_msgSend_566(_id, _lib._sel_initWithName_data_1,
+        tzName?._id ?? ffi.nullptr, aData?._id ?? ffi.nullptr);
+    return NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimeZone timeZoneForSecondsFromGMT_(
+      PedometerBindings _lib, int seconds) {
+    final _ret = _lib._objc_msgSend_567(_lib._class_NSTimeZone1,
+        _lib._sel_timeZoneForSecondsFromGMT_1, seconds);
+    return NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimeZone timeZoneWithAbbreviation_(
+      PedometerBindings _lib, NSString? abbreviation) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSTimeZone1,
+        _lib._sel_timeZoneWithAbbreviation_1, abbreviation?._id ?? ffi.nullptr);
+    return NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimeZone new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSTimeZone1, _lib._sel_new1);
+    return NSTimeZone._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSTimeZone alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSTimeZone1, _lib._sel_alloc1);
+    return NSTimeZone._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSTimeZone1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSTimeZone1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSTimeZone1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSTimeZone1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSTimeZone1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSTimeZone1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSTimeZone1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSTimeZoneNameStyle {
+  static const int NSTimeZoneNameStyleStandard = 0;
+  static const int NSTimeZoneNameStyleShortStandard = 1;
+  static const int NSTimeZoneNameStyleDaylightSaving = 2;
+  static const int NSTimeZoneNameStyleShortDaylightSaving = 3;
+  static const int NSTimeZoneNameStyleGeneric = 4;
+  static const int NSTimeZoneNameStyleShortGeneric = 5;
+}
+
+class NSCalendar extends NSObject {
+  NSCalendar._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSCalendar] that points to the same underlying object as [other].
+  static NSCalendar castFrom<T extends _ObjCWrapper>(T other) {
+    return NSCalendar._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSCalendar] that wraps the given raw object pointer.
+  static NSCalendar castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSCalendar._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSCalendar].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCalendar1);
+  }
+
+  static NSCalendar? getCurrentCalendar(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_568(
+        _lib._class_NSCalendar1, _lib._sel_currentCalendar1);
+    return _ret.address == 0
+        ? null
+        : NSCalendar._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCalendar? getAutoupdatingCurrentCalendar(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_568(
+        _lib._class_NSCalendar1, _lib._sel_autoupdatingCurrentCalendar1);
+    return _ret.address == 0
+        ? null
+        : NSCalendar._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSCalendar calendarWithIdentifier_(
+      PedometerBindings _lib, NSCalendarIdentifier calendarIdentifierConstant) {
+    final _ret = _lib._objc_msgSend_569(_lib._class_NSCalendar1,
+        _lib._sel_calendarWithIdentifier_1, calendarIdentifierConstant);
+    return NSCalendar._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSCalendar init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSCalendar._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject initWithCalendarIdentifier_(NSCalendarIdentifier ident) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithCalendarIdentifier_1, ident);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSCalendarIdentifier get calendarIdentifier {
+    return _lib._objc_msgSend_20(_id, _lib._sel_calendarIdentifier1);
+  }
+
+  NSLocale? get locale {
+    final _ret = _lib._objc_msgSend_268(_id, _lib._sel_locale1);
+    return _ret.address == 0
+        ? null
+        : NSLocale._(_ret, _lib, retain: true, release: true);
+  }
+
+  set locale(NSLocale? value) {
+    return _lib._objc_msgSend_559(
+        _id, _lib._sel_setLocale_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSTimeZone? get timeZone {
+    final _ret = _lib._objc_msgSend_561(_id, _lib._sel_timeZone1);
+    return _ret.address == 0
+        ? null
+        : NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  set timeZone(NSTimeZone? value) {
+    return _lib._objc_msgSend_562(
+        _id, _lib._sel_setTimeZone_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get firstWeekday {
+    return _lib._objc_msgSend_10(_id, _lib._sel_firstWeekday1);
+  }
+
+  set firstWeekday(int value) {
+    return _lib._objc_msgSend_435(_id, _lib._sel_setFirstWeekday_1, value);
+  }
+
+  int get minimumDaysInFirstWeek {
+    return _lib._objc_msgSend_10(_id, _lib._sel_minimumDaysInFirstWeek1);
+  }
+
+  set minimumDaysInFirstWeek(int value) {
+    return _lib._objc_msgSend_435(
+        _id, _lib._sel_setMinimumDaysInFirstWeek_1, value);
+  }
+
+  NSArray? get eraSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_eraSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get longEraSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_longEraSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get monthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_monthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get shortMonthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_shortMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get veryShortMonthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_veryShortMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get standaloneMonthSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_standaloneMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get shortStandaloneMonthSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_shortStandaloneMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get veryShortStandaloneMonthSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_veryShortStandaloneMonthSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get weekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_weekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get shortWeekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_shortWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get veryShortWeekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_veryShortWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get standaloneWeekdaySymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_standaloneWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get shortStandaloneWeekdaySymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_shortStandaloneWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get veryShortStandaloneWeekdaySymbols {
+    final _ret = _lib._objc_msgSend_71(
+        _id, _lib._sel_veryShortStandaloneWeekdaySymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get quarterSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_quarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get shortQuarterSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_shortQuarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get standaloneQuarterSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_standaloneQuarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get shortStandaloneQuarterSymbols {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_shortStandaloneQuarterSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get AMSymbol {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_AMSymbol1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get PMSymbol {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_PMSymbol1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSRange minimumRangeOfUnit_(int unit) {
+    return _lib._objc_msgSend_570(_id, _lib._sel_minimumRangeOfUnit_1, unit);
+  }
+
+  NSRange maximumRangeOfUnit_(int unit) {
+    return _lib._objc_msgSend_570(_id, _lib._sel_maximumRangeOfUnit_1, unit);
+  }
+
+  NSRange rangeOfUnit_inUnit_forDate_(int smaller, int larger, NSDate? date) {
+    return _lib._objc_msgSend_571(_id, _lib._sel_rangeOfUnit_inUnit_forDate_1,
+        smaller, larger, date?._id ?? ffi.nullptr);
+  }
+
+  int ordinalityOfUnit_inUnit_forDate_(int smaller, int larger, NSDate? date) {
+    return _lib._objc_msgSend_572(
+        _id,
+        _lib._sel_ordinalityOfUnit_inUnit_forDate_1,
+        smaller,
+        larger,
+        date?._id ?? ffi.nullptr);
+  }
+
+  bool rangeOfUnit_startDate_interval_forDate_(
+      int unit,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> datep,
+      ffi.Pointer<NSTimeInterval> tip,
+      NSDate? date) {
+    return _lib._objc_msgSend_573(
+        _id,
+        _lib._sel_rangeOfUnit_startDate_interval_forDate_1,
+        unit,
+        datep,
+        tip,
+        date?._id ?? ffi.nullptr);
+  }
+
+  NSDate dateFromComponents_(NSDateComponents? comps) {
+    final _ret = _lib._objc_msgSend_579(
+        _id, _lib._sel_dateFromComponents_1, comps?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDateComponents components_fromDate_(int unitFlags, NSDate? date) {
+    final _ret = _lib._objc_msgSend_580(_id, _lib._sel_components_fromDate_1,
+        unitFlags, date?._id ?? ffi.nullptr);
+    return NSDateComponents._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate dateByAddingComponents_toDate_options_(
+      NSDateComponents? comps, NSDate? date, int opts) {
+    final _ret = _lib._objc_msgSend_581(
+        _id,
+        _lib._sel_dateByAddingComponents_toDate_options_1,
+        comps?._id ?? ffi.nullptr,
+        date?._id ?? ffi.nullptr,
+        opts);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDateComponents components_fromDate_toDate_options_(
+      int unitFlags, NSDate? startingDate, NSDate? resultDate, int opts) {
+    final _ret = _lib._objc_msgSend_582(
+        _id,
+        _lib._sel_components_fromDate_toDate_options_1,
+        unitFlags,
+        startingDate?._id ?? ffi.nullptr,
+        resultDate?._id ?? ffi.nullptr,
+        opts);
+    return NSDateComponents._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getEra_year_month_day_fromDate_(
+      ffi.Pointer<NSInteger> eraValuePointer,
+      ffi.Pointer<NSInteger> yearValuePointer,
+      ffi.Pointer<NSInteger> monthValuePointer,
+      ffi.Pointer<NSInteger> dayValuePointer,
+      NSDate? date) {
+    _lib._objc_msgSend_583(
+        _id,
+        _lib._sel_getEra_year_month_day_fromDate_1,
+        eraValuePointer,
+        yearValuePointer,
+        monthValuePointer,
+        dayValuePointer,
+        date?._id ?? ffi.nullptr);
+  }
+
+  void getEra_yearForWeekOfYear_weekOfYear_weekday_fromDate_(
+      ffi.Pointer<NSInteger> eraValuePointer,
+      ffi.Pointer<NSInteger> yearValuePointer,
+      ffi.Pointer<NSInteger> weekValuePointer,
+      ffi.Pointer<NSInteger> weekdayValuePointer,
+      NSDate? date) {
+    _lib._objc_msgSend_583(
+        _id,
+        _lib._sel_getEra_yearForWeekOfYear_weekOfYear_weekday_fromDate_1,
+        eraValuePointer,
+        yearValuePointer,
+        weekValuePointer,
+        weekdayValuePointer,
+        date?._id ?? ffi.nullptr);
+  }
+
+  void getHour_minute_second_nanosecond_fromDate_(
+      ffi.Pointer<NSInteger> hourValuePointer,
+      ffi.Pointer<NSInteger> minuteValuePointer,
+      ffi.Pointer<NSInteger> secondValuePointer,
+      ffi.Pointer<NSInteger> nanosecondValuePointer,
+      NSDate? date) {
+    _lib._objc_msgSend_583(
+        _id,
+        _lib._sel_getHour_minute_second_nanosecond_fromDate_1,
+        hourValuePointer,
+        minuteValuePointer,
+        secondValuePointer,
+        nanosecondValuePointer,
+        date?._id ?? ffi.nullptr);
+  }
+
+  int component_fromDate_(int unit, NSDate? date) {
+    return _lib._objc_msgSend_584(
+        _id, _lib._sel_component_fromDate_1, unit, date?._id ?? ffi.nullptr);
+  }
+
+  NSDate dateWithEra_year_month_day_hour_minute_second_nanosecond_(
+      int eraValue,
+      int yearValue,
+      int monthValue,
+      int dayValue,
+      int hourValue,
+      int minuteValue,
+      int secondValue,
+      int nanosecondValue) {
+    final _ret = _lib._objc_msgSend_585(
+        _id,
+        _lib._sel_dateWithEra_year_month_day_hour_minute_second_nanosecond_1,
+        eraValue,
+        yearValue,
+        monthValue,
+        dayValue,
+        hourValue,
+        minuteValue,
+        secondValue,
+        nanosecondValue);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate
+      dateWithEra_yearForWeekOfYear_weekOfYear_weekday_hour_minute_second_nanosecond_(
+          int eraValue,
+          int yearValue,
+          int weekValue,
+          int weekdayValue,
+          int hourValue,
+          int minuteValue,
+          int secondValue,
+          int nanosecondValue) {
+    final _ret = _lib._objc_msgSend_585(
+        _id,
+        _lib._sel_dateWithEra_yearForWeekOfYear_weekOfYear_weekday_hour_minute_second_nanosecond_1,
+        eraValue,
+        yearValue,
+        weekValue,
+        weekdayValue,
+        hourValue,
+        minuteValue,
+        secondValue,
+        nanosecondValue);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate startOfDayForDate_(NSDate? date) {
+    final _ret = _lib._objc_msgSend_149(
+        _id, _lib._sel_startOfDayForDate_1, date?._id ?? ffi.nullptr);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDateComponents componentsInTimeZone_fromDate_(
+      NSTimeZone? timezone, NSDate? date) {
+    final _ret = _lib._objc_msgSend_586(
+        _id,
+        _lib._sel_componentsInTimeZone_fromDate_1,
+        timezone?._id ?? ffi.nullptr,
+        date?._id ?? ffi.nullptr);
+    return NSDateComponents._(_ret, _lib, retain: true, release: true);
+  }
+
+  int compareDate_toDate_toUnitGranularity_(
+      NSDate? date1, NSDate? date2, int unit) {
+    return _lib._objc_msgSend_587(
+        _id,
+        _lib._sel_compareDate_toDate_toUnitGranularity_1,
+        date1?._id ?? ffi.nullptr,
+        date2?._id ?? ffi.nullptr,
+        unit);
+  }
+
+  bool isDate_equalToDate_toUnitGranularity_(
+      NSDate? date1, NSDate? date2, int unit) {
+    return _lib._objc_msgSend_588(
+        _id,
+        _lib._sel_isDate_equalToDate_toUnitGranularity_1,
+        date1?._id ?? ffi.nullptr,
+        date2?._id ?? ffi.nullptr,
+        unit);
+  }
+
+  bool isDate_inSameDayAsDate_(NSDate? date1, NSDate? date2) {
+    return _lib._objc_msgSend_589(_id, _lib._sel_isDate_inSameDayAsDate_1,
+        date1?._id ?? ffi.nullptr, date2?._id ?? ffi.nullptr);
+  }
+
+  bool isDateInToday_(NSDate? date) {
+    return _lib._objc_msgSend_151(
+        _id, _lib._sel_isDateInToday_1, date?._id ?? ffi.nullptr);
+  }
+
+  bool isDateInYesterday_(NSDate? date) {
+    return _lib._objc_msgSend_151(
+        _id, _lib._sel_isDateInYesterday_1, date?._id ?? ffi.nullptr);
+  }
+
+  bool isDateInTomorrow_(NSDate? date) {
+    return _lib._objc_msgSend_151(
+        _id, _lib._sel_isDateInTomorrow_1, date?._id ?? ffi.nullptr);
+  }
+
+  bool isDateInWeekend_(NSDate? date) {
+    return _lib._objc_msgSend_151(
+        _id, _lib._sel_isDateInWeekend_1, date?._id ?? ffi.nullptr);
+  }
+
+  bool rangeOfWeekendStartDate_interval_containingDate_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> datep,
+      ffi.Pointer<NSTimeInterval> tip,
+      NSDate? date) {
+    return _lib._objc_msgSend_590(
+        _id,
+        _lib._sel_rangeOfWeekendStartDate_interval_containingDate_1,
+        datep,
+        tip,
+        date?._id ?? ffi.nullptr);
+  }
+
+  bool nextWeekendStartDate_interval_options_afterDate_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> datep,
+      ffi.Pointer<NSTimeInterval> tip,
+      int options,
+      NSDate? date) {
+    return _lib._objc_msgSend_591(
+        _id,
+        _lib._sel_nextWeekendStartDate_interval_options_afterDate_1,
+        datep,
+        tip,
+        options,
+        date?._id ?? ffi.nullptr);
+  }
+
+  NSDateComponents components_fromDateComponents_toDateComponents_options_(
+      int unitFlags,
+      NSDateComponents? startingDateComp,
+      NSDateComponents? resultDateComp,
+      int options) {
+    final _ret = _lib._objc_msgSend_592(
+        _id,
+        _lib._sel_components_fromDateComponents_toDateComponents_options_1,
+        unitFlags,
+        startingDateComp?._id ?? ffi.nullptr,
+        resultDateComp?._id ?? ffi.nullptr,
+        options);
+    return NSDateComponents._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate dateByAddingUnit_value_toDate_options_(
+      int unit, int value, NSDate? date, int options) {
+    final _ret = _lib._objc_msgSend_593(
+        _id,
+        _lib._sel_dateByAddingUnit_value_toDate_options_1,
+        unit,
+        value,
+        date?._id ?? ffi.nullptr,
+        options);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateDatesStartingAfterDate_matchingComponents_options_usingBlock_(
+      NSDate? start,
+      NSDateComponents? comps,
+      int opts,
+      ObjCBlock_ffiVoid_NSDate_bool_bool block) {
+    _lib._objc_msgSend_594(
+        _id,
+        _lib._sel_enumerateDatesStartingAfterDate_matchingComponents_options_usingBlock_1,
+        start?._id ?? ffi.nullptr,
+        comps?._id ?? ffi.nullptr,
+        opts,
+        block._id);
+  }
+
+  NSDate nextDateAfterDate_matchingComponents_options_(
+      NSDate? date, NSDateComponents? comps, int options) {
+    final _ret = _lib._objc_msgSend_595(
+        _id,
+        _lib._sel_nextDateAfterDate_matchingComponents_options_1,
+        date?._id ?? ffi.nullptr,
+        comps?._id ?? ffi.nullptr,
+        options);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate nextDateAfterDate_matchingUnit_value_options_(
+      NSDate? date, int unit, int value, int options) {
+    final _ret = _lib._objc_msgSend_596(
+        _id,
+        _lib._sel_nextDateAfterDate_matchingUnit_value_options_1,
+        date?._id ?? ffi.nullptr,
+        unit,
+        value,
+        options);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate nextDateAfterDate_matchingHour_minute_second_options_(NSDate? date,
+      int hourValue, int minuteValue, int secondValue, int options) {
+    final _ret = _lib._objc_msgSend_597(
+        _id,
+        _lib._sel_nextDateAfterDate_matchingHour_minute_second_options_1,
+        date?._id ?? ffi.nullptr,
+        hourValue,
+        minuteValue,
+        secondValue,
+        options);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate dateBySettingUnit_value_ofDate_options_(
+      int unit, int v, NSDate? date, int opts) {
+    final _ret = _lib._objc_msgSend_593(
+        _id,
+        _lib._sel_dateBySettingUnit_value_ofDate_options_1,
+        unit,
+        v,
+        date?._id ?? ffi.nullptr,
+        opts);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate dateBySettingHour_minute_second_ofDate_options_(
+      int h, int m, int s, NSDate? date, int opts) {
+    final _ret = _lib._objc_msgSend_598(
+        _id,
+        _lib._sel_dateBySettingHour_minute_second_ofDate_options_1,
+        h,
+        m,
+        s,
+        date?._id ?? ffi.nullptr,
+        opts);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool date_matchesComponents_(NSDate? date, NSDateComponents? components) {
+    return _lib._objc_msgSend_599(_id, _lib._sel_date_matchesComponents_1,
+        date?._id ?? ffi.nullptr, components?._id ?? ffi.nullptr);
+  }
+
+  static NSCalendar new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSCalendar1, _lib._sel_new1);
+    return NSCalendar._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSCalendar alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSCalendar1, _lib._sel_alloc1);
+    return NSCalendar._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSCalendar1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSCalendar1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSCalendar1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSCalendar1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSCalendar1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSCalendar1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSCalendar1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSDateComponents extends NSObject {
+  NSDateComponents._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSDateComponents] that points to the same underlying object as [other].
+  static NSDateComponents castFrom<T extends _ObjCWrapper>(T other) {
+    return NSDateComponents._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSDateComponents] that wraps the given raw object pointer.
+  static NSDateComponents castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSDateComponents._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSDateComponents].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSDateComponents1);
+  }
+
+  NSCalendar? get calendar {
+    final _ret = _lib._objc_msgSend_568(_id, _lib._sel_calendar1);
+    return _ret.address == 0
+        ? null
+        : NSCalendar._(_ret, _lib, retain: true, release: true);
+  }
+
+  set calendar(NSCalendar? value) {
+    return _lib._objc_msgSend_574(
+        _id, _lib._sel_setCalendar_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSTimeZone? get timeZone {
+    final _ret = _lib._objc_msgSend_561(_id, _lib._sel_timeZone1);
+    return _ret.address == 0
+        ? null
+        : NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  set timeZone(NSTimeZone? value) {
+    return _lib._objc_msgSend_562(
+        _id, _lib._sel_setTimeZone_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get era {
+    return _lib._objc_msgSend_70(_id, _lib._sel_era1);
+  }
+
+  set era(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setEra_1, value);
+  }
+
+  int get year {
+    return _lib._objc_msgSend_70(_id, _lib._sel_year1);
+  }
+
+  set year(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setYear_1, value);
+  }
+
+  int get month {
+    return _lib._objc_msgSend_70(_id, _lib._sel_month1);
+  }
+
+  set month(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setMonth_1, value);
+  }
+
+  int get day {
+    return _lib._objc_msgSend_70(_id, _lib._sel_day1);
+  }
+
+  set day(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setDay_1, value);
+  }
+
+  int get hour {
+    return _lib._objc_msgSend_70(_id, _lib._sel_hour1);
+  }
+
+  set hour(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setHour_1, value);
+  }
+
+  int get minute {
+    return _lib._objc_msgSend_70(_id, _lib._sel_minute1);
+  }
+
+  set minute(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setMinute_1, value);
+  }
+
+  int get second {
+    return _lib._objc_msgSend_70(_id, _lib._sel_second1);
+  }
+
+  set second(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setSecond_1, value);
+  }
+
+  int get nanosecond {
+    return _lib._objc_msgSend_70(_id, _lib._sel_nanosecond1);
+  }
+
+  set nanosecond(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setNanosecond_1, value);
+  }
+
+  int get weekday {
+    return _lib._objc_msgSend_70(_id, _lib._sel_weekday1);
+  }
+
+  set weekday(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setWeekday_1, value);
+  }
+
+  int get weekdayOrdinal {
+    return _lib._objc_msgSend_70(_id, _lib._sel_weekdayOrdinal1);
+  }
+
+  set weekdayOrdinal(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setWeekdayOrdinal_1, value);
+  }
+
+  int get quarter {
+    return _lib._objc_msgSend_70(_id, _lib._sel_quarter1);
+  }
+
+  set quarter(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setQuarter_1, value);
+  }
+
+  int get weekOfMonth {
+    return _lib._objc_msgSend_70(_id, _lib._sel_weekOfMonth1);
+  }
+
+  set weekOfMonth(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setWeekOfMonth_1, value);
+  }
+
+  int get weekOfYear {
+    return _lib._objc_msgSend_70(_id, _lib._sel_weekOfYear1);
+  }
+
+  set weekOfYear(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setWeekOfYear_1, value);
+  }
+
+  int get yearForWeekOfYear {
+    return _lib._objc_msgSend_70(_id, _lib._sel_yearForWeekOfYear1);
+  }
+
+  set yearForWeekOfYear(int value) {
+    return _lib._objc_msgSend_575(_id, _lib._sel_setYearForWeekOfYear_1, value);
+  }
+
+  bool get leapMonth {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isLeapMonth1);
+  }
+
+  set leapMonth(bool value) {
+    return _lib._objc_msgSend_445(_id, _lib._sel_setLeapMonth_1, value);
+  }
+
+  NSDate? get date {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_date1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  int week() {
+    return _lib._objc_msgSend_70(_id, _lib._sel_week1);
+  }
+
+  void setWeek_(int v) {
+    _lib._objc_msgSend_350(_id, _lib._sel_setWeek_1, v);
+  }
+
+  void setValue_forComponent_(int value, int unit) {
+    _lib._objc_msgSend_576(_id, _lib._sel_setValue_forComponent_1, value, unit);
+  }
+
+  int valueForComponent_(int unit) {
+    return _lib._objc_msgSend_577(_id, _lib._sel_valueForComponent_1, unit);
+  }
+
+  bool get validDate {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isValidDate1);
+  }
+
+  bool isValidDateInCalendar_(NSCalendar? calendar) {
+    return _lib._objc_msgSend_578(
+        _id, _lib._sel_isValidDateInCalendar_1, calendar?._id ?? ffi.nullptr);
+  }
+
+  static NSDateComponents new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSDateComponents1, _lib._sel_new1);
+    return NSDateComponents._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSDateComponents alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSDateComponents1, _lib._sel_alloc1);
+    return NSDateComponents._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSDateComponents1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSDateComponents1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSDateComponents1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSDateComponents1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSDateComponents1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSDateComponents1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSDateComponents1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSDate_bool_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    bool arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, ffi.Bool arg1,
+                  ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSDate_bool_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSDate_bool_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSDate_bool_bool_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSDate_bool_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSDate_bool_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSDate_bool_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    bool arg1,
+    ffi.Pointer<ffi.Bool> arg2) {
+  (_ObjCBlock_ffiVoid_NSDate_bool_bool_closureRegistry[block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, bool,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSDate_bool_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSDate_bool_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDate_bool_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0, ffi.Bool arg1,
+                      ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_NSDate_bool_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDate_bool_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_NSDate_bool_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDate_bool_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSDate_bool_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSDate_bool_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDate_bool_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Bool arg1,
+          ffi.Pointer<ffi.Bool> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ObjCObject> arg0, bool arg1, ffi.Pointer<ffi.Bool> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Bool arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                bool arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+abstract class NSDateIntervalFormatterStyle {
+  static const int NSDateIntervalFormatterNoStyle = 0;
+  static const int NSDateIntervalFormatterShortStyle = 1;
+  static const int NSDateIntervalFormatterMediumStyle = 2;
+  static const int NSDateIntervalFormatterLongStyle = 3;
+  static const int NSDateIntervalFormatterFullStyle = 4;
+}
+
+abstract class NSISO8601DateFormatOptions {
+  static const int NSISO8601DateFormatWithYear = 1;
+  static const int NSISO8601DateFormatWithMonth = 2;
+  static const int NSISO8601DateFormatWithWeekOfYear = 4;
+  static const int NSISO8601DateFormatWithDay = 16;
+  static const int NSISO8601DateFormatWithTime = 32;
+  static const int NSISO8601DateFormatWithTimeZone = 64;
+  static const int NSISO8601DateFormatWithSpaceBetweenDateAndTime = 128;
+  static const int NSISO8601DateFormatWithDashSeparatorInDate = 256;
+  static const int NSISO8601DateFormatWithColonSeparatorInTime = 512;
+  static const int NSISO8601DateFormatWithColonSeparatorInTimeZone = 1024;
+  static const int NSISO8601DateFormatWithFractionalSeconds = 2048;
+  static const int NSISO8601DateFormatWithFullDate = 275;
+  static const int NSISO8601DateFormatWithFullTime = 1632;
+  static const int NSISO8601DateFormatWithInternetDateTime = 1907;
+}
+
+abstract class NSMassFormatterUnit {
+  static const int NSMassFormatterUnitGram = 11;
+  static const int NSMassFormatterUnitKilogram = 14;
+  static const int NSMassFormatterUnitOunce = 1537;
+  static const int NSMassFormatterUnitPound = 1538;
+  static const int NSMassFormatterUnitStone = 1539;
+}
+
+abstract class NSLengthFormatterUnit {
+  static const int NSLengthFormatterUnitMillimeter = 8;
+  static const int NSLengthFormatterUnitCentimeter = 9;
+  static const int NSLengthFormatterUnitMeter = 11;
+  static const int NSLengthFormatterUnitKilometer = 14;
+  static const int NSLengthFormatterUnitInch = 1281;
+  static const int NSLengthFormatterUnitFoot = 1282;
+  static const int NSLengthFormatterUnitYard = 1283;
+  static const int NSLengthFormatterUnitMile = 1284;
+}
+
+abstract class NSEnergyFormatterUnit {
+  static const int NSEnergyFormatterUnitJoule = 11;
+  static const int NSEnergyFormatterUnitKilojoule = 14;
+  static const int NSEnergyFormatterUnitCalorie = 1793;
+  static const int NSEnergyFormatterUnitKilocalorie = 1794;
+}
+
+abstract class NSNumberFormatterBehavior {
+  static const int NSNumberFormatterBehaviorDefault = 0;
+  static const int NSNumberFormatterBehavior10_4 = 1040;
+}
+
+abstract class NSNumberFormatterStyle {
+  static const int NSNumberFormatterNoStyle = 0;
+  static const int NSNumberFormatterDecimalStyle = 1;
+  static const int NSNumberFormatterCurrencyStyle = 2;
+  static const int NSNumberFormatterPercentStyle = 3;
+  static const int NSNumberFormatterScientificStyle = 4;
+  static const int NSNumberFormatterSpellOutStyle = 5;
+  static const int NSNumberFormatterOrdinalStyle = 6;
+  static const int NSNumberFormatterCurrencyISOCodeStyle = 8;
+  static const int NSNumberFormatterCurrencyPluralStyle = 9;
+  static const int NSNumberFormatterCurrencyAccountingStyle = 10;
+}
+
+abstract class NSNumberFormatterPadPosition {
+  static const int NSNumberFormatterPadBeforePrefix = 0;
+  static const int NSNumberFormatterPadAfterPrefix = 1;
+  static const int NSNumberFormatterPadBeforeSuffix = 2;
+  static const int NSNumberFormatterPadAfterSuffix = 3;
+}
+
+abstract class NSNumberFormatterRoundingMode {
+  static const int NSNumberFormatterRoundCeiling = 0;
+  static const int NSNumberFormatterRoundFloor = 1;
+  static const int NSNumberFormatterRoundDown = 2;
+  static const int NSNumberFormatterRoundUp = 3;
+  static const int NSNumberFormatterRoundHalfEven = 4;
+  static const int NSNumberFormatterRoundHalfDown = 5;
+  static const int NSNumberFormatterRoundHalfUp = 6;
+}
+
+abstract class NSMeasurementFormatterUnitOptions {
+  static const int NSMeasurementFormatterUnitOptionsProvidedUnit = 1;
+  static const int NSMeasurementFormatterUnitOptionsNaturalScale = 2;
+  static const int NSMeasurementFormatterUnitOptionsTemperatureWithoutUnit = 4;
+}
+
+abstract class NSPersonNameComponentsFormatterStyle {
+  static const int NSPersonNameComponentsFormatterStyleDefault = 0;
+  static const int NSPersonNameComponentsFormatterStyleShort = 1;
+  static const int NSPersonNameComponentsFormatterStyleMedium = 2;
+  static const int NSPersonNameComponentsFormatterStyleLong = 3;
+  static const int NSPersonNameComponentsFormatterStyleAbbreviated = 4;
+}
+
+abstract class NSPersonNameComponentsFormatterOptions {
+  static const int NSPersonNameComponentsFormatterPhonetic = 2;
+}
+
+abstract class NSRelativeDateTimeFormatterStyle {
+  static const int NSRelativeDateTimeFormatterStyleNumeric = 0;
+  static const int NSRelativeDateTimeFormatterStyleNamed = 1;
+}
+
+abstract class NSRelativeDateTimeFormatterUnitsStyle {
+  static const int NSRelativeDateTimeFormatterUnitsStyleFull = 0;
+  static const int NSRelativeDateTimeFormatterUnitsStyleSpellOut = 1;
+  static const int NSRelativeDateTimeFormatterUnitsStyleShort = 2;
+  static const int NSRelativeDateTimeFormatterUnitsStyleAbbreviated = 3;
+}
+
+/// Type definitions
+abstract class NSRoundingMode {
+  static const int NSRoundPlain = 0;
+  static const int NSRoundDown = 1;
+  static const int NSRoundUp = 2;
+  static const int NSRoundBankers = 3;
+}
+
+abstract class NSCalculationError {
+  static const int NSCalculationNoError = 0;
+  static const int NSCalculationLossOfPrecision = 1;
+  static const int NSCalculationUnderflow = 2;
+  static const int NSCalculationOverflow = 3;
+  static const int NSCalculationDivideByZero = 4;
+}
+
+final class NSDecimal extends ffi.Opaque {}
+
+class NSScanner extends NSObject {
+  NSScanner._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSScanner] that points to the same underlying object as [other].
+  static NSScanner castFrom<T extends _ObjCWrapper>(T other) {
+    return NSScanner._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSScanner] that wraps the given raw object pointer.
+  static NSScanner castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSScanner._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSScanner].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSScanner1);
+  }
+
+  NSString? get string {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_string1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get scanLocation {
+    return _lib._objc_msgSend_10(_id, _lib._sel_scanLocation1);
+  }
+
+  set scanLocation(int value) {
+    return _lib._objc_msgSend_435(_id, _lib._sel_setScanLocation_1, value);
+  }
+
+  NSCharacterSet? get charactersToBeSkipped {
+    final _ret = _lib._objc_msgSend_260(_id, _lib._sel_charactersToBeSkipped1);
+    return _ret.address == 0
+        ? null
+        : NSCharacterSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  set charactersToBeSkipped(NSCharacterSet? value) {
+    return _lib._objc_msgSend_602(
+        _id, _lib._sel_setCharactersToBeSkipped_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get caseSensitive {
+    return _lib._objc_msgSend_12(_id, _lib._sel_caseSensitive1);
+  }
+
+  set caseSensitive(bool value) {
+    return _lib._objc_msgSend_445(_id, _lib._sel_setCaseSensitive_1, value);
+  }
+
+  NSObject get locale {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_locale1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set locale(NSObject value) {
+    return _lib._objc_msgSend_343(_id, _lib._sel_setLocale_1, value._id);
+  }
+
+  NSScanner initWithString_(NSString? string) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithString_1, string?._id ?? ffi.nullptr);
+    return NSScanner._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool scanInt_(ffi.Pointer<ffi.Int> result) {
+    return _lib._objc_msgSend_603(_id, _lib._sel_scanInt_1, result);
+  }
+
+  bool scanInteger_(ffi.Pointer<NSInteger> result) {
+    return _lib._objc_msgSend_604(_id, _lib._sel_scanInteger_1, result);
+  }
+
+  bool scanLongLong_(ffi.Pointer<ffi.LongLong> result) {
+    return _lib._objc_msgSend_605(_id, _lib._sel_scanLongLong_1, result);
+  }
+
+  bool scanUnsignedLongLong_(ffi.Pointer<ffi.UnsignedLongLong> result) {
+    return _lib._objc_msgSend_606(
+        _id, _lib._sel_scanUnsignedLongLong_1, result);
+  }
+
+  bool scanFloat_(ffi.Pointer<ffi.Float> result) {
+    return _lib._objc_msgSend_607(_id, _lib._sel_scanFloat_1, result);
+  }
+
+  bool scanDouble_(ffi.Pointer<ffi.Double> result) {
+    return _lib._objc_msgSend_608(_id, _lib._sel_scanDouble_1, result);
+  }
+
+  bool scanHexInt_(ffi.Pointer<ffi.UnsignedInt> result) {
+    return _lib._objc_msgSend_609(_id, _lib._sel_scanHexInt_1, result);
+  }
+
+  bool scanHexLongLong_(ffi.Pointer<ffi.UnsignedLongLong> result) {
+    return _lib._objc_msgSend_606(_id, _lib._sel_scanHexLongLong_1, result);
+  }
+
+  bool scanHexFloat_(ffi.Pointer<ffi.Float> result) {
+    return _lib._objc_msgSend_607(_id, _lib._sel_scanHexFloat_1, result);
+  }
+
+  bool scanHexDouble_(ffi.Pointer<ffi.Double> result) {
+    return _lib._objc_msgSend_608(_id, _lib._sel_scanHexDouble_1, result);
+  }
+
+  bool scanString_intoString_(
+      NSString? string, ffi.Pointer<ffi.Pointer<ObjCObject>> result) {
+    return _lib._objc_msgSend_610(_id, _lib._sel_scanString_intoString_1,
+        string?._id ?? ffi.nullptr, result);
+  }
+
+  bool scanCharactersFromSet_intoString_(
+      NSCharacterSet? set, ffi.Pointer<ffi.Pointer<ObjCObject>> result) {
+    return _lib._objc_msgSend_611(
+        _id,
+        _lib._sel_scanCharactersFromSet_intoString_1,
+        set?._id ?? ffi.nullptr,
+        result);
+  }
+
+  bool scanUpToString_intoString_(
+      NSString? string, ffi.Pointer<ffi.Pointer<ObjCObject>> result) {
+    return _lib._objc_msgSend_610(_id, _lib._sel_scanUpToString_intoString_1,
+        string?._id ?? ffi.nullptr, result);
+  }
+
+  bool scanUpToCharactersFromSet_intoString_(
+      NSCharacterSet? set, ffi.Pointer<ffi.Pointer<ObjCObject>> result) {
+    return _lib._objc_msgSend_611(
+        _id,
+        _lib._sel_scanUpToCharactersFromSet_intoString_1,
+        set?._id ?? ffi.nullptr,
+        result);
+  }
+
+  bool get atEnd {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isAtEnd1);
+  }
+
+  static NSScanner scannerWithString_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSScanner1,
+        _lib._sel_scannerWithString_1, string?._id ?? ffi.nullptr);
+    return NSScanner._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject localizedScannerWithString_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSScanner1,
+        _lib._sel_localizedScannerWithString_1, string?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool scanDecimal_(ffi.Pointer<NSDecimal> dcm) {
+    return _lib._objc_msgSend_612(_id, _lib._sel_scanDecimal_1, dcm);
+  }
+
+  static NSScanner new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSScanner1, _lib._sel_new1);
+    return NSScanner._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSScanner alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSScanner1, _lib._sel_alloc1);
+    return NSScanner._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSScanner1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSScanner1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSScanner1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSScanner1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSScanner1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSScanner1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSScanner1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSException extends NSObject {
+  NSException._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSException] that points to the same underlying object as [other].
+  static NSException castFrom<T extends _ObjCWrapper>(T other) {
+    return NSException._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSException] that wraps the given raw object pointer.
+  static NSException castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSException._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSException].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSException1);
+  }
+
+  static NSException exceptionWithName_reason_userInfo_(PedometerBindings _lib,
+      NSExceptionName name, NSString? reason, NSDictionary? userInfo) {
+    final _ret = _lib._objc_msgSend_613(
+        _lib._class_NSException1,
+        _lib._sel_exceptionWithName_reason_userInfo_1,
+        name,
+        reason?._id ?? ffi.nullptr,
+        userInfo?._id ?? ffi.nullptr);
+    return NSException._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSException initWithName_reason_userInfo_(
+      NSExceptionName aName, NSString? aReason, NSDictionary? aUserInfo) {
+    final _ret = _lib._objc_msgSend_614(
+        _id,
+        _lib._sel_initWithName_reason_userInfo_1,
+        aName,
+        aReason?._id ?? ffi.nullptr,
+        aUserInfo?._id ?? ffi.nullptr);
+    return NSException._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSExceptionName get name {
+    return _lib._objc_msgSend_20(_id, _lib._sel_name1);
+  }
+
+  NSString? get reason {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_reason1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary? get userInfo {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_userInfo1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get callStackReturnAddresses {
+    final _ret =
+        _lib._objc_msgSend_71(_id, _lib._sel_callStackReturnAddresses1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get callStackSymbols {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_callStackSymbols1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void raise() {
+    _lib._objc_msgSend_1(_id, _lib._sel_raise1);
+  }
+
+  static void raise_format_(
+      PedometerBindings _lib, NSExceptionName name, NSString? format) {
+    _lib._objc_msgSend_615(_lib._class_NSException1, _lib._sel_raise_format_1,
+        name, format?._id ?? ffi.nullptr);
+  }
+
+  static void raise_format_arguments_(
+      PedometerBindings _lib,
+      NSExceptionName name,
+      NSString? format,
+      ffi.Pointer<__va_list_tag> argList) {
+    _lib._objc_msgSend_616(
+        _lib._class_NSException1,
+        _lib._sel_raise_format_arguments_1,
+        name,
+        format?._id ?? ffi.nullptr,
+        argList);
+  }
+
+  static NSException new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSException1, _lib._sel_new1);
+    return NSException._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSException alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSException1, _lib._sel_alloc1);
+    return NSException._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSException1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSException1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSException1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSException1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSException1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSException1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSException1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSUncaughtExceptionHandler
+    = ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> exception)>;
+typedef NSRunLoopMode = ffi.Pointer<ObjCObject>;
+
+class NSRunLoop extends NSObject {
+  NSRunLoop._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSRunLoop] that points to the same underlying object as [other].
+  static NSRunLoop castFrom<T extends _ObjCWrapper>(T other) {
+    return NSRunLoop._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSRunLoop] that wraps the given raw object pointer.
+  static NSRunLoop castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSRunLoop._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSRunLoop].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSRunLoop1);
+  }
+
+  static NSRunLoop? getCurrentRunLoop(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_617(
+        _lib._class_NSRunLoop1, _lib._sel_currentRunLoop1);
+    return _ret.address == 0
+        ? null
+        : NSRunLoop._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSRunLoop? getMainRunLoop(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_617(_lib._class_NSRunLoop1, _lib._sel_mainRunLoop1);
+    return _ret.address == 0
+        ? null
+        : NSRunLoop._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSRunLoopMode get currentMode {
+    return _lib._objc_msgSend_20(_id, _lib._sel_currentMode1);
+  }
+
+  CFRunLoopRef getCFRunLoop() {
+    return _lib._objc_msgSend_618(_id, _lib._sel_getCFRunLoop1);
+  }
+
+  void addTimer_forMode_(NSTimer? timer, NSRunLoopMode mode) {
+    _lib._objc_msgSend_624(
+        _id, _lib._sel_addTimer_forMode_1, timer?._id ?? ffi.nullptr, mode);
+  }
+
+  void addPort_forMode_(NSPort? aPort, NSRunLoopMode mode) {
+    _lib._objc_msgSend_629(
+        _id, _lib._sel_addPort_forMode_1, aPort?._id ?? ffi.nullptr, mode);
+  }
+
+  void removePort_forMode_(NSPort? aPort, NSRunLoopMode mode) {
+    _lib._objc_msgSend_629(
+        _id, _lib._sel_removePort_forMode_1, aPort?._id ?? ffi.nullptr, mode);
+  }
+
+  NSDate limitDateForMode_(NSRunLoopMode mode) {
+    final _ret =
+        _lib._objc_msgSend_552(_id, _lib._sel_limitDateForMode_1, mode);
+    return NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  void acceptInputForMode_beforeDate_(NSRunLoopMode mode, NSDate? limitDate) {
+    _lib._objc_msgSend_630(_id, _lib._sel_acceptInputForMode_beforeDate_1, mode,
+        limitDate?._id ?? ffi.nullptr);
+  }
+
+  void run() {
+    _lib._objc_msgSend_1(_id, _lib._sel_run1);
+  }
+
+  void runUntilDate_(NSDate? limitDate) {
+    _lib._objc_msgSend_457(
+        _id, _lib._sel_runUntilDate_1, limitDate?._id ?? ffi.nullptr);
+  }
+
+  bool runMode_beforeDate_(NSRunLoopMode mode, NSDate? limitDate) {
+    return _lib._objc_msgSend_631(_id, _lib._sel_runMode_beforeDate_1, mode,
+        limitDate?._id ?? ffi.nullptr);
+  }
+
+  /// Schedules the execution of a block on the target run loop in given modes.
+  /// - parameter: modes   An array of input modes for which the block may be executed.
+  /// - parameter: block   The block to execute
+  void performInModes_block_(NSArray? modes, ObjCBlock_ffiVoid block) {
+    _lib._objc_msgSend_632(_id, _lib._sel_performInModes_block_1,
+        modes?._id ?? ffi.nullptr, block._id);
+  }
+
+  /// Schedules the execution of a block on the target run loop.
+  /// - parameter: block   The block to execute
+  void performBlock_(ObjCBlock_ffiVoid block) {
+    _lib._objc_msgSend_450(_id, _lib._sel_performBlock_1, block._id);
+  }
+
+  void performSelector_target_argument_order_modes_(
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject target,
+      NSObject arg,
+      int order,
+      NSArray? modes) {
+    _lib._objc_msgSend_633(
+        _id,
+        _lib._sel_performSelector_target_argument_order_modes_1,
+        aSelector,
+        target._id,
+        arg._id,
+        order,
+        modes?._id ?? ffi.nullptr);
+  }
+
+  void cancelPerformSelector_target_argument_(
+      ffi.Pointer<ObjCSel> aSelector, NSObject target, NSObject arg) {
+    _lib._objc_msgSend_451(
+        _id,
+        _lib._sel_cancelPerformSelector_target_argument_1,
+        aSelector,
+        target._id,
+        arg._id);
+  }
+
+  void cancelPerformSelectorsWithTarget_(NSObject target) {
+    _lib._objc_msgSend_15(
+        _id, _lib._sel_cancelPerformSelectorsWithTarget_1, target._id);
+  }
+
+  static NSRunLoop new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSRunLoop1, _lib._sel_new1);
+    return NSRunLoop._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSRunLoop alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSRunLoop1, _lib._sel_alloc1);
+    return NSRunLoop._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSRunLoop1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSRunLoop1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSRunLoop1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSRunLoop1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSRunLoop1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSRunLoop1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSRunLoop1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSTimer extends NSObject {
+  NSTimer._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSTimer] that points to the same underlying object as [other].
+  static NSTimer castFrom<T extends _ObjCWrapper>(T other) {
+    return NSTimer._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSTimer] that wraps the given raw object pointer.
+  static NSTimer castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSTimer._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSTimer].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSTimer1);
+  }
+
+  static NSTimer timerWithTimeInterval_invocation_repeats_(
+      PedometerBindings _lib,
+      double ti,
+      NSInvocation? invocation,
+      bool yesOrNo) {
+    final _ret = _lib._objc_msgSend_619(
+        _lib._class_NSTimer1,
+        _lib._sel_timerWithTimeInterval_invocation_repeats_1,
+        ti,
+        invocation?._id ?? ffi.nullptr,
+        yesOrNo);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimer scheduledTimerWithTimeInterval_invocation_repeats_(
+      PedometerBindings _lib,
+      double ti,
+      NSInvocation? invocation,
+      bool yesOrNo) {
+    final _ret = _lib._objc_msgSend_619(
+        _lib._class_NSTimer1,
+        _lib._sel_scheduledTimerWithTimeInterval_invocation_repeats_1,
+        ti,
+        invocation?._id ?? ffi.nullptr,
+        yesOrNo);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimer timerWithTimeInterval_target_selector_userInfo_repeats_(
+      PedometerBindings _lib,
+      double ti,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject userInfo,
+      bool yesOrNo) {
+    final _ret = _lib._objc_msgSend_620(
+        _lib._class_NSTimer1,
+        _lib._sel_timerWithTimeInterval_target_selector_userInfo_repeats_1,
+        ti,
+        aTarget._id,
+        aSelector,
+        userInfo._id,
+        yesOrNo);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimer
+      scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_(
+          PedometerBindings _lib,
+          double ti,
+          NSObject aTarget,
+          ffi.Pointer<ObjCSel> aSelector,
+          NSObject userInfo,
+          bool yesOrNo) {
+    final _ret = _lib._objc_msgSend_620(
+        _lib._class_NSTimer1,
+        _lib._sel_scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_1,
+        ti,
+        aTarget._id,
+        aSelector,
+        userInfo._id,
+        yesOrNo);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Creates and returns a new NSTimer object initialized with the specified block object. This timer needs to be scheduled on a run loop (via -[NSRunLoop addTimer:]) before it will fire.
+  /// - parameter:  timeInterval  The number of seconds between firings of the timer. If seconds is less than or equal to 0.0, this method chooses the nonnegative value of 0.1 milliseconds instead
+  /// - parameter:  repeats  If YES, the timer will repeatedly reschedule itself until invalidated. If NO, the timer will be invalidated after it fires.
+  /// - parameter:  block  The execution body of the timer; the timer itself is passed as the parameter to this block when executed to aid in avoiding cyclical references
+  static NSTimer timerWithTimeInterval_repeats_block_(PedometerBindings _lib,
+      double interval, bool repeats, ObjCBlock_ffiVoid_NSTimer block) {
+    final _ret = _lib._objc_msgSend_621(
+        _lib._class_NSTimer1,
+        _lib._sel_timerWithTimeInterval_repeats_block_1,
+        interval,
+        repeats,
+        block._id);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Creates and returns a new NSTimer object initialized with the specified block object and schedules it on the current run loop in the default mode.
+  /// - parameter:  ti    The number of seconds between firings of the timer. If seconds is less than or equal to 0.0, this method chooses the nonnegative value of 0.1 milliseconds instead
+  /// - parameter:  repeats  If YES, the timer will repeatedly reschedule itself until invalidated. If NO, the timer will be invalidated after it fires.
+  /// - parameter:  block  The execution body of the timer; the timer itself is passed as the parameter to this block when executed to aid in avoiding cyclical references
+  static NSTimer scheduledTimerWithTimeInterval_repeats_block_(
+      PedometerBindings _lib,
+      double interval,
+      bool repeats,
+      ObjCBlock_ffiVoid_NSTimer block) {
+    final _ret = _lib._objc_msgSend_621(
+        _lib._class_NSTimer1,
+        _lib._sel_scheduledTimerWithTimeInterval_repeats_block_1,
+        interval,
+        repeats,
+        block._id);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// Initializes a new NSTimer object using the block as the main body of execution for the timer. This timer needs to be scheduled on a run loop (via -[NSRunLoop addTimer:]) before it will fire.
+  /// - parameter:  fireDate   The time at which the timer should first fire.
+  /// - parameter:  interval  The number of seconds between firings of the timer. If seconds is less than or equal to 0.0, this method chooses the nonnegative value of 0.1 milliseconds instead
+  /// - parameter:  repeats  If YES, the timer will repeatedly reschedule itself until invalidated. If NO, the timer will be invalidated after it fires.
+  /// - parameter:  block  The execution body of the timer; the timer itself is passed as the parameter to this block when executed to aid in avoiding cyclical references
+  NSTimer initWithFireDate_interval_repeats_block_(NSDate? date,
+      double interval, bool repeats, ObjCBlock_ffiVoid_NSTimer block) {
+    final _ret = _lib._objc_msgSend_622(
+        _id,
+        _lib._sel_initWithFireDate_interval_repeats_block_1,
+        date?._id ?? ffi.nullptr,
+        interval,
+        repeats,
+        block._id);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSTimer initWithFireDate_interval_target_selector_userInfo_repeats_(
+      NSDate? date,
+      double ti,
+      NSObject t,
+      ffi.Pointer<ObjCSel> s,
+      NSObject ui,
+      bool rep) {
+    final _ret = _lib._objc_msgSend_623(
+        _id,
+        _lib._sel_initWithFireDate_interval_target_selector_userInfo_repeats_1,
+        date?._id ?? ffi.nullptr,
+        ti,
+        t._id,
+        s,
+        ui._id,
+        rep);
+    return NSTimer._(_ret, _lib, retain: true, release: true);
+  }
+
+  void fire() {
+    _lib._objc_msgSend_1(_id, _lib._sel_fire1);
+  }
+
+  NSDate? get fireDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_fireDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  set fireDate(NSDate? value) {
+    return _lib._objc_msgSend_600(
+        _id, _lib._sel_setFireDate_1, value?._id ?? ffi.nullptr);
+  }
+
+  double get timeInterval {
+    return _lib._objc_msgSend_146(_id, _lib._sel_timeInterval1);
+  }
+
+  double get tolerance {
+    return _lib._objc_msgSend_146(_id, _lib._sel_tolerance1);
+  }
+
+  set tolerance(double value) {
+    return _lib._objc_msgSend_459(_id, _lib._sel_setTolerance_1, value);
+  }
+
+  void invalidate() {
+    _lib._objc_msgSend_1(_id, _lib._sel_invalidate1);
+  }
+
+  bool get valid {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isValid1);
+  }
+
+  NSObject get userInfo {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_userInfo1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTimer new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSTimer1, _lib._sel_new1);
+    return NSTimer._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSTimer alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSTimer1, _lib._sel_alloc1);
+    return NSTimer._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSTimer1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSTimer1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSTimer1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSTimer1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSTimer1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSTimer1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSTimer1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSTimer_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSTimer_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSTimer_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSTimer_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSTimer_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSTimer_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSTimer_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSTimer_closureRegistry[block.ref.target.address] as void
+      Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSTimer extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSTimer._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSTimer.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSTimer_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSTimer.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSTimer_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSTimer_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSTimer.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSTimer_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSTimer_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+class NSPort extends NSObject {
+  NSPort._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSPort] that points to the same underlying object as [other].
+  static NSPort castFrom<T extends _ObjCWrapper>(T other) {
+    return NSPort._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSPort] that wraps the given raw object pointer.
+  static NSPort castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSPort._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSPort].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSPort1);
+  }
+
+  static NSPort port(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_625(_lib._class_NSPort1, _lib._sel_port1);
+    return NSPort._(_ret, _lib, retain: true, release: true);
+  }
+
+  void invalidate() {
+    _lib._objc_msgSend_1(_id, _lib._sel_invalidate1);
+  }
+
+  bool get valid {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isValid1);
+  }
+
+  void setDelegate_(NSObject? anObject) {
+    _lib._objc_msgSend_15(
+        _id, _lib._sel_setDelegate_1, anObject?._id ?? ffi.nullptr);
+  }
+
+  NSObject delegate() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void scheduleInRunLoop_forMode_(NSRunLoop? runLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_scheduleInRunLoop_forMode_1,
+        runLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  void removeFromRunLoop_forMode_(NSRunLoop? runLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_removeFromRunLoop_forMode_1,
+        runLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  int get reservedSpaceLength {
+    return _lib._objc_msgSend_10(_id, _lib._sel_reservedSpaceLength1);
+  }
+
+  bool sendBeforeDate_components_from_reserved_(
+      NSDate? limitDate,
+      NSMutableArray? components,
+      NSPort? receivePort,
+      int headerSpaceReserved) {
+    return _lib._objc_msgSend_627(
+        _id,
+        _lib._sel_sendBeforeDate_components_from_reserved_1,
+        limitDate?._id ?? ffi.nullptr,
+        components?._id ?? ffi.nullptr,
+        receivePort?._id ?? ffi.nullptr,
+        headerSpaceReserved);
+  }
+
+  bool sendBeforeDate_msgid_components_from_reserved_(
+      NSDate? limitDate,
+      int msgID,
+      NSMutableArray? components,
+      NSPort? receivePort,
+      int headerSpaceReserved) {
+    return _lib._objc_msgSend_628(
+        _id,
+        _lib._sel_sendBeforeDate_msgid_components_from_reserved_1,
+        limitDate?._id ?? ffi.nullptr,
+        msgID,
+        components?._id ?? ffi.nullptr,
+        receivePort?._id ?? ffi.nullptr,
+        headerSpaceReserved);
+  }
+
+  static NSPort new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSPort1, _lib._sel_new1);
+    return NSPort._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSPort alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSPort1, _lib._sel_alloc1);
+    return NSPort._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSPort1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSPort1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSPort1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSPort1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSPort1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSPort1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSPort1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSFileHandle extends NSObject {
+  NSFileHandle._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSFileHandle] that points to the same underlying object as [other].
+  static NSFileHandle castFrom<T extends _ObjCWrapper>(T other) {
+    return NSFileHandle._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSFileHandle] that wraps the given raw object pointer.
+  static NSFileHandle castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSFileHandle._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSFileHandle].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSFileHandle1);
+  }
+
+  NSData? get availableData {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_availableData1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSFileHandle initWithFileDescriptor_closeOnDealloc_(int fd, bool closeopt) {
+    final _ret = _lib._objc_msgSend_634(
+        _id, _lib._sel_initWithFileDescriptor_closeOnDealloc_1, fd, closeopt);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSFileHandle initWithCoder_(NSCoder? coder) {
+    final _ret = _lib._objc_msgSend_42(
+        _id, _lib._sel_initWithCoder_1, coder?._id ?? ffi.nullptr);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData readDataToEndOfFileAndReturnError_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_635(
+        _id, _lib._sel_readDataToEndOfFileAndReturnError_1, error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData readDataUpToLength_error_(
+      int length, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_636(
+        _id, _lib._sel_readDataUpToLength_error_1, length, error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool writeData_error_(
+      NSData? data, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_637(
+        _id, _lib._sel_writeData_error_1, data?._id ?? ffi.nullptr, error);
+  }
+
+  bool getOffset_error_(ffi.Pointer<ffi.UnsignedLongLong> offsetInFile,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_638(
+        _id, _lib._sel_getOffset_error_1, offsetInFile, error);
+  }
+
+  bool seekToEndReturningOffset_error_(
+      ffi.Pointer<ffi.UnsignedLongLong> offsetInFile,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_638(
+        _id, _lib._sel_seekToEndReturningOffset_error_1, offsetInFile, error);
+  }
+
+  bool seekToOffset_error_(
+      int offset, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_639(
+        _id, _lib._sel_seekToOffset_error_1, offset, error);
+  }
+
+  bool truncateAtOffset_error_(
+      int offset, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_639(
+        _id, _lib._sel_truncateAtOffset_error_1, offset, error);
+  }
+
+  bool synchronizeAndReturnError_(ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_182(
+        _id, _lib._sel_synchronizeAndReturnError_1, error);
+  }
+
+  bool closeAndReturnError_(ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_182(_id, _lib._sel_closeAndReturnError_1, error);
+  }
+
+  static NSFileHandle? getFileHandleWithStandardInput(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_640(
+        _lib._class_NSFileHandle1, _lib._sel_fileHandleWithStandardInput1);
+    return _ret.address == 0
+        ? null
+        : NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle? getFileHandleWithStandardOutput(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_640(
+        _lib._class_NSFileHandle1, _lib._sel_fileHandleWithStandardOutput1);
+    return _ret.address == 0
+        ? null
+        : NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle? getFileHandleWithStandardError(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_640(
+        _lib._class_NSFileHandle1, _lib._sel_fileHandleWithStandardError1);
+    return _ret.address == 0
+        ? null
+        : NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle? getFileHandleWithNullDevice(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_640(
+        _lib._class_NSFileHandle1, _lib._sel_fileHandleWithNullDevice1);
+    return _ret.address == 0
+        ? null
+        : NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle fileHandleForReadingAtPath_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSFileHandle1,
+        _lib._sel_fileHandleForReadingAtPath_1, path?._id ?? ffi.nullptr);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle fileHandleForWritingAtPath_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSFileHandle1,
+        _lib._sel_fileHandleForWritingAtPath_1, path?._id ?? ffi.nullptr);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle fileHandleForUpdatingAtPath_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSFileHandle1,
+        _lib._sel_fileHandleForUpdatingAtPath_1, path?._id ?? ffi.nullptr);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle fileHandleForReadingFromURL_error_(PedometerBindings _lib,
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_641(
+        _lib._class_NSFileHandle1,
+        _lib._sel_fileHandleForReadingFromURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle fileHandleForWritingToURL_error_(PedometerBindings _lib,
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_641(
+        _lib._class_NSFileHandle1,
+        _lib._sel_fileHandleForWritingToURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSFileHandle fileHandleForUpdatingURL_error_(PedometerBindings _lib,
+      NSURL? url, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_641(
+        _lib._class_NSFileHandle1,
+        _lib._sel_fileHandleForUpdatingURL_error_1,
+        url?._id ?? ffi.nullptr,
+        error);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  void readInBackgroundAndNotifyForModes_(NSArray? modes) {
+    _lib._objc_msgSend_393(_id, _lib._sel_readInBackgroundAndNotifyForModes_1,
+        modes?._id ?? ffi.nullptr);
+  }
+
+  void readInBackgroundAndNotify() {
+    _lib._objc_msgSend_1(_id, _lib._sel_readInBackgroundAndNotify1);
+  }
+
+  void readToEndOfFileInBackgroundAndNotifyForModes_(NSArray? modes) {
+    _lib._objc_msgSend_393(
+        _id,
+        _lib._sel_readToEndOfFileInBackgroundAndNotifyForModes_1,
+        modes?._id ?? ffi.nullptr);
+  }
+
+  void readToEndOfFileInBackgroundAndNotify() {
+    _lib._objc_msgSend_1(_id, _lib._sel_readToEndOfFileInBackgroundAndNotify1);
+  }
+
+  void acceptConnectionInBackgroundAndNotifyForModes_(NSArray? modes) {
+    _lib._objc_msgSend_393(
+        _id,
+        _lib._sel_acceptConnectionInBackgroundAndNotifyForModes_1,
+        modes?._id ?? ffi.nullptr);
+  }
+
+  void acceptConnectionInBackgroundAndNotify() {
+    _lib._objc_msgSend_1(_id, _lib._sel_acceptConnectionInBackgroundAndNotify1);
+  }
+
+  void waitForDataInBackgroundAndNotifyForModes_(NSArray? modes) {
+    _lib._objc_msgSend_393(
+        _id,
+        _lib._sel_waitForDataInBackgroundAndNotifyForModes_1,
+        modes?._id ?? ffi.nullptr);
+  }
+
+  void waitForDataInBackgroundAndNotify() {
+    _lib._objc_msgSend_1(_id, _lib._sel_waitForDataInBackgroundAndNotify1);
+  }
+
+  ObjCBlock_ffiVoid_NSFileHandle get readabilityHandler {
+    final _ret = _lib._objc_msgSend_642(_id, _lib._sel_readabilityHandler1);
+    return ObjCBlock_ffiVoid_NSFileHandle._(_ret, _lib);
+  }
+
+  set readabilityHandler(ObjCBlock_ffiVoid_NSFileHandle value) {
+    return _lib._objc_msgSend_643(
+        _id, _lib._sel_setReadabilityHandler_1, value._id);
+  }
+
+  ObjCBlock_ffiVoid_NSFileHandle get writeabilityHandler {
+    final _ret = _lib._objc_msgSend_642(_id, _lib._sel_writeabilityHandler1);
+    return ObjCBlock_ffiVoid_NSFileHandle._(_ret, _lib);
+  }
+
+  set writeabilityHandler(ObjCBlock_ffiVoid_NSFileHandle value) {
+    return _lib._objc_msgSend_643(
+        _id, _lib._sel_setWriteabilityHandler_1, value._id);
+  }
+
+  NSFileHandle initWithFileDescriptor_(int fd) {
+    final _ret =
+        _lib._objc_msgSend_644(_id, _lib._sel_initWithFileDescriptor_1, fd);
+    return NSFileHandle._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get fileDescriptor {
+    return _lib._objc_msgSend_176(_id, _lib._sel_fileDescriptor1);
+  }
+
+  NSData readDataToEndOfFile() {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_readDataToEndOfFile1);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSData readDataOfLength_(int length) {
+    final _ret =
+        _lib._objc_msgSend_284(_id, _lib._sel_readDataOfLength_1, length);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  void writeData_(NSData? data) {
+    _lib._objc_msgSend_212(
+        _id, _lib._sel_writeData_1, data?._id ?? ffi.nullptr);
+  }
+
+  int get offsetInFile {
+    return _lib._objc_msgSend_145(_id, _lib._sel_offsetInFile1);
+  }
+
+  int seekToEndOfFile() {
+    return _lib._objc_msgSend_145(_id, _lib._sel_seekToEndOfFile1);
+  }
+
+  void seekToFileOffset_(int offset) {
+    _lib._objc_msgSend_645(_id, _lib._sel_seekToFileOffset_1, offset);
+  }
+
+  void truncateFileAtOffset_(int offset) {
+    _lib._objc_msgSend_645(_id, _lib._sel_truncateFileAtOffset_1, offset);
+  }
+
+  void synchronizeFile() {
+    _lib._objc_msgSend_1(_id, _lib._sel_synchronizeFile1);
+  }
+
+  void closeFile() {
+    _lib._objc_msgSend_1(_id, _lib._sel_closeFile1);
+  }
+
+  static NSFileHandle new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSFileHandle1, _lib._sel_new1);
+    return NSFileHandle._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSFileHandle alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSFileHandle1, _lib._sel_alloc1);
+    return NSFileHandle._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSFileHandle1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSFileHandle1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSFileHandle1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSFileHandle1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSFileHandle1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSFileHandle1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSFileHandle1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSFileHandle_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSFileHandle_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSFileHandle_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSFileHandle_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSFileHandle_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSFileHandle_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSFileHandle_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSFileHandle_closureRegistry[block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSFileHandle extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSFileHandle._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSFileHandle.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSFileHandle_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSFileHandle.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSFileHandle_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSFileHandle_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSFileHandle.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSFileHandle_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSFileHandle_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+typedef NSURLFileResourceType = ffi.Pointer<ObjCObject>;
+typedef NSURLThumbnailDictionaryItem = ffi.Pointer<ObjCObject>;
+typedef NSURLFileProtectionType = ffi.Pointer<ObjCObject>;
+typedef NSURLUbiquitousItemDownloadingStatus = ffi.Pointer<ObjCObject>;
+typedef NSURLUbiquitousSharedItemRole = ffi.Pointer<ObjCObject>;
+typedef NSURLUbiquitousSharedItemPermissions = ffi.Pointer<ObjCObject>;
+typedef NSFileAttributeKey = ffi.Pointer<ObjCObject>;
+typedef NSFileAttributeType = ffi.Pointer<ObjCObject>;
+typedef NSFileProtectionType = ffi.Pointer<ObjCObject>;
+
+abstract class NSPointerFunctionsOptions {
+  static const int NSPointerFunctionsStrongMemory = 0;
+  static const int NSPointerFunctionsZeroingWeakMemory = 1;
+  static const int NSPointerFunctionsOpaqueMemory = 2;
+  static const int NSPointerFunctionsMallocMemory = 3;
+  static const int NSPointerFunctionsMachVirtualMemory = 4;
+  static const int NSPointerFunctionsWeakMemory = 5;
+  static const int NSPointerFunctionsObjectPersonality = 0;
+  static const int NSPointerFunctionsOpaquePersonality = 256;
+  static const int NSPointerFunctionsObjectPointerPersonality = 512;
+  static const int NSPointerFunctionsCStringPersonality = 768;
+  static const int NSPointerFunctionsStructPersonality = 1024;
+  static const int NSPointerFunctionsIntegerPersonality = 1280;
+  static const int NSPointerFunctionsCopyIn = 65536;
+}
+
+/// (void *) Hash table operations
+final class NSHashEnumerator extends ffi.Struct {
+  @NSUInteger()
+  external int _pi;
+
+  @NSUInteger()
+  external int _si;
+
+  external ffi.Pointer<ffi.Void> _bs;
+}
+
+class NSHashTable extends NSObject {
+  NSHashTable._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSHashTable] that points to the same underlying object as [other].
+  static NSHashTable castFrom<T extends _ObjCWrapper>(T other) {
+    return NSHashTable._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSHashTable] that wraps the given raw object pointer.
+  static NSHashTable castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSHashTable._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSHashTable].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSHashTable1);
+  }
+
+  NSHashTable initWithOptions_capacity_(int options, int initialCapacity) {
+    final _ret = _lib._objc_msgSend_646(
+        _id, _lib._sel_initWithOptions_capacity_1, options, initialCapacity);
+    return NSHashTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSHashTable initWithPointerFunctions_capacity_(
+      NSPointerFunctions? functions, int initialCapacity) {
+    final _ret = _lib._objc_msgSend_661(
+        _id,
+        _lib._sel_initWithPointerFunctions_capacity_1,
+        functions?._id ?? ffi.nullptr,
+        initialCapacity);
+    return NSHashTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSHashTable hashTableWithOptions_(
+      PedometerBindings _lib, int options) {
+    final _ret = _lib._objc_msgSend_662(
+        _lib._class_NSHashTable1, _lib._sel_hashTableWithOptions_1, options);
+    return NSHashTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject hashTableWithWeakObjects(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSHashTable1, _lib._sel_hashTableWithWeakObjects1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSHashTable weakObjectsHashTable(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_663(
+        _lib._class_NSHashTable1, _lib._sel_weakObjectsHashTable1);
+    return NSHashTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSPointerFunctions? get pointerFunctions {
+    final _ret = _lib._objc_msgSend_664(_id, _lib._sel_pointerFunctions1);
+    return _ret.address == 0
+        ? null
+        : NSPointerFunctions._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  NSObject member_(NSObject object) {
+    final _ret = _lib._objc_msgSend_16(_id, _lib._sel_member_1, object._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator objectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_objectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  void addObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_addObject_1, object._id);
+  }
+
+  void removeObject_(NSObject object) {
+    _lib._objc_msgSend_15(_id, _lib._sel_removeObject_1, object._id);
+  }
+
+  void removeAllObjects() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllObjects1);
+  }
+
+  NSArray? get allObjects {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_allObjects1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject get anyObject {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_anyObject1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool containsObject_(NSObject anObject) {
+    return _lib._objc_msgSend_0(_id, _lib._sel_containsObject_1, anObject._id);
+  }
+
+  bool intersectsHashTable_(NSHashTable? other) {
+    return _lib._objc_msgSend_665(
+        _id, _lib._sel_intersectsHashTable_1, other?._id ?? ffi.nullptr);
+  }
+
+  bool isEqualToHashTable_(NSHashTable? other) {
+    return _lib._objc_msgSend_665(
+        _id, _lib._sel_isEqualToHashTable_1, other?._id ?? ffi.nullptr);
+  }
+
+  bool isSubsetOfHashTable_(NSHashTable? other) {
+    return _lib._objc_msgSend_665(
+        _id, _lib._sel_isSubsetOfHashTable_1, other?._id ?? ffi.nullptr);
+  }
+
+  void intersectHashTable_(NSHashTable? other) {
+    _lib._objc_msgSend_666(
+        _id, _lib._sel_intersectHashTable_1, other?._id ?? ffi.nullptr);
+  }
+
+  void unionHashTable_(NSHashTable? other) {
+    _lib._objc_msgSend_666(
+        _id, _lib._sel_unionHashTable_1, other?._id ?? ffi.nullptr);
+  }
+
+  void minusHashTable_(NSHashTable? other) {
+    _lib._objc_msgSend_666(
+        _id, _lib._sel_minusHashTable_1, other?._id ?? ffi.nullptr);
+  }
+
+  NSSet? get setRepresentation {
+    final _ret = _lib._objc_msgSend_244(_id, _lib._sel_setRepresentation1);
+    return _ret.address == 0
+        ? null
+        : NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSHashTable new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSHashTable1, _lib._sel_new1);
+    return NSHashTable._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSHashTable alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSHashTable1, _lib._sel_alloc1);
+    return NSHashTable._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSHashTable1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSHashTable1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSHashTable1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSHashTable1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSHashTable1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSHashTable1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSHashTable1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSPointerFunctions extends NSObject {
+  NSPointerFunctions._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSPointerFunctions] that points to the same underlying object as [other].
+  static NSPointerFunctions castFrom<T extends _ObjCWrapper>(T other) {
+    return NSPointerFunctions._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSPointerFunctions] that wraps the given raw object pointer.
+  static NSPointerFunctions castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSPointerFunctions._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSPointerFunctions].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSPointerFunctions1);
+  }
+
+  NSPointerFunctions initWithOptions_(int options) {
+    final _ret =
+        _lib._objc_msgSend_647(_id, _lib._sel_initWithOptions_1, options);
+    return NSPointerFunctions._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPointerFunctions pointerFunctionsWithOptions_(
+      PedometerBindings _lib, int options) {
+    final _ret = _lib._objc_msgSend_648(_lib._class_NSPointerFunctions1,
+        _lib._sel_pointerFunctionsWithOptions_1, options);
+    return NSPointerFunctions._(_ret, _lib, retain: true, release: true);
+  }
+
+  ffi.Pointer<
+          ffi.NativeFunction<
+              NSUInteger Function(
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+      get hashFunction {
+    return _lib._objc_msgSend_649(_id, _lib._sel_hashFunction1);
+  }
+
+  set hashFunction(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  NSUInteger Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+          value) {
+    return _lib._objc_msgSend_650(_id, _lib._sel_setHashFunction_1, value);
+  }
+
+  ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+      get isEqualFunction {
+    return _lib._objc_msgSend_651(_id, _lib._sel_isEqualFunction1);
+  }
+
+  set isEqualFunction(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Bool Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+          value) {
+    return _lib._objc_msgSend_652(_id, _lib._sel_setIsEqualFunction_1, value);
+  }
+
+  ffi.Pointer<ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>
+      get sizeFunction {
+    return _lib._objc_msgSend_653(_id, _lib._sel_sizeFunction1);
+  }
+
+  set sizeFunction(
+      ffi.Pointer<
+              ffi.NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>
+          value) {
+    return _lib._objc_msgSend_654(_id, _lib._sel_setSizeFunction_1, value);
+  }
+
+  ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Pointer<ObjCObject> Function(ffi.Pointer<ffi.Void>)>>
+      get descriptionFunction {
+    return _lib._objc_msgSend_655(_id, _lib._sel_descriptionFunction1);
+  }
+
+  set descriptionFunction(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ObjCObject> Function(ffi.Pointer<ffi.Void>)>>
+          value) {
+    return _lib._objc_msgSend_656(
+        _id, _lib._sel_setDescriptionFunction_1, value);
+  }
+
+  ffi.Pointer<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ffi.Void>,
+                  ffi.Pointer<
+                      ffi.NativeFunction<
+                          NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+      get relinquishFunction {
+    return _lib._objc_msgSend_657(_id, _lib._sel_relinquishFunction1);
+  }
+
+  set relinquishFunction(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>)>>
+          value) {
+    return _lib._objc_msgSend_658(
+        _id, _lib._sel_setRelinquishFunction_1, value);
+  }
+
+  ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ffi.Void> Function(
+              ffi.Pointer<ffi.Void>,
+              ffi.Pointer<
+                  ffi
+                  .NativeFunction<NSUInteger Function(ffi.Pointer<ffi.Void>)>>,
+              ffi.Bool)>> get acquireFunction {
+    return _lib._objc_msgSend_659(_id, _lib._sel_acquireFunction1);
+  }
+
+  set acquireFunction(
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Pointer<ffi.Void> Function(
+                      ffi.Pointer<ffi.Void>,
+                      ffi.Pointer<
+                          ffi.NativeFunction<
+                              NSUInteger Function(ffi.Pointer<ffi.Void>)>>,
+                      ffi.Bool)>>
+          value) {
+    return _lib._objc_msgSend_660(_id, _lib._sel_setAcquireFunction_1, value);
+  }
+
+  bool get usesStrongWriteBarrier {
+    return _lib._objc_msgSend_12(_id, _lib._sel_usesStrongWriteBarrier1);
+  }
+
+  set usesStrongWriteBarrier(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setUsesStrongWriteBarrier_1, value);
+  }
+
+  bool get usesWeakReadAndWriteBarriers {
+    return _lib._objc_msgSend_12(_id, _lib._sel_usesWeakReadAndWriteBarriers1);
+  }
+
+  set usesWeakReadAndWriteBarriers(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setUsesWeakReadAndWriteBarriers_1, value);
+  }
+
+  static NSPointerFunctions new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSPointerFunctions1, _lib._sel_new1);
+    return NSPointerFunctions._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSPointerFunctions alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSPointerFunctions1, _lib._sel_alloc1);
+    return NSPointerFunctions._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSPointerFunctions1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSPointerFunctions1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSPointerFunctions1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSPointerFunctions1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSPointerFunctions1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSPointerFunctions1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSPointerFunctions1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Legacy
+final class NSHashTableCallBacks extends ffi.Struct {
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> hash;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>> isEqual;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> retain;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> release;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> describe;
+}
+
+typedef NSHTTPCookiePropertyKey = ffi.Pointer<ObjCObject>;
+typedef NSHTTPCookieStringPolicy = ffi.Pointer<ObjCObject>;
+
+/// !
+/// @enum NSHTTPCookieAcceptPolicy
+/// @abstract Values for the different cookie accept policies
+/// @constant NSHTTPCookieAcceptPolicyAlways Accept all cookies
+/// @constant NSHTTPCookieAcceptPolicyNever Reject all cookies
+/// @constant NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain Accept cookies
+/// only from the main document domain
+abstract class NSHTTPCookieAcceptPolicy {
+  static const int NSHTTPCookieAcceptPolicyAlways = 0;
+  static const int NSHTTPCookieAcceptPolicyNever = 1;
+  static const int NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain = 2;
+}
+
+/// !
+/// @class NSHTTPCookieStorage
+/// @discussion NSHTTPCookieStorage implements a singleton object (shared
+/// instance) which manages the shared cookie store.  It has methods
+/// to allow clients to set and remove cookies, and get the current
+/// set of cookies.  It also has convenience methods to parse and
+/// generate cookie-related HTTP header fields.
+class NSHTTPCookieStorage extends NSObject {
+  NSHTTPCookieStorage._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSHTTPCookieStorage] that points to the same underlying object as [other].
+  static NSHTTPCookieStorage castFrom<T extends _ObjCWrapper>(T other) {
+    return NSHTTPCookieStorage._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSHTTPCookieStorage] that wraps the given raw object pointer.
+  static NSHTTPCookieStorage castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSHTTPCookieStorage._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSHTTPCookieStorage].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSHTTPCookieStorage1);
+  }
+
+  /// !
+  /// @property sharedHTTPCookieStorage
+  /// @abstract Get the shared cookie storage in the default location.
+  /// @result The shared cookie storage
+  /// @discussion Starting in OS X 10.11, each app has its own sharedHTTPCookieStorage singleton,
+  /// which will not be shared with other applications.
+  static NSHTTPCookieStorage? getSharedHTTPCookieStorage(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_667(
+        _lib._class_NSHTTPCookieStorage1, _lib._sel_sharedHTTPCookieStorage1);
+    return _ret.address == 0
+        ? null
+        : NSHTTPCookieStorage._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method sharedCookieStorageForGroupContainerIdentifier:
+  /// @abstract Get the cookie storage for the container associated with the specified application group identifier
+  /// @param identifier The application group identifier
+  /// @result A cookie storage with a persistent store in the application group container
+  /// @discussion By default, applications and associated app extensions have different data containers, which means
+  /// that the sharedHTTPCookieStorage singleton will refer to different persistent cookie stores in an application and
+  /// any app extensions that it contains. This method allows clients to create a persistent cookie storage that can be
+  /// shared among all applications and extensions with access to the same application group. Subsequent calls to this
+  /// method with the same identifier will return the same cookie storage instance.
+  static NSHTTPCookieStorage sharedCookieStorageForGroupContainerIdentifier_(
+      PedometerBindings _lib, NSString? identifier) {
+    final _ret = _lib._objc_msgSend_668(
+        _lib._class_NSHTTPCookieStorage1,
+        _lib._sel_sharedCookieStorageForGroupContainerIdentifier_1,
+        identifier?._id ?? ffi.nullptr);
+    return NSHTTPCookieStorage._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get all the cookies
+  /// @result An NSArray of NSHTTPCookies
+  NSArray? get cookies {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_cookies1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method setCookie:
+  /// @abstract Set a cookie
+  /// @discussion The cookie will override an existing cookie with the
+  /// same name, domain and path, if any.
+  void setCookie_(NSHTTPCookie? cookie) {
+    _lib._objc_msgSend_671(
+        _id, _lib._sel_setCookie_1, cookie?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method deleteCookie:
+  /// @abstract Delete the specified cookie
+  void deleteCookie_(NSHTTPCookie? cookie) {
+    _lib._objc_msgSend_671(
+        _id, _lib._sel_deleteCookie_1, cookie?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method removeCookiesSince:
+  /// @abstract Delete all cookies from the cookie storage since the provided date.
+  void removeCookiesSinceDate_(NSDate? date) {
+    _lib._objc_msgSend_457(
+        _id, _lib._sel_removeCookiesSinceDate_1, date?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method cookiesForURL:
+  /// @abstract Returns an array of cookies to send to the given URL.
+  /// @param URL The URL for which to get cookies.
+  /// @result an NSArray of NSHTTPCookie objects.
+  /// @discussion The cookie manager examines the cookies it stores and
+  /// includes those which should be sent to the given URL. You can use
+  /// <tt>+[NSCookie requestHeaderFieldsWithCookies:]</tt> to turn this array
+  /// into a set of header fields to add to a request.
+  NSArray cookiesForURL_(NSURL? URL) {
+    final _ret = _lib._objc_msgSend_115(
+        _id, _lib._sel_cookiesForURL_1, URL?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method setCookies:forURL:mainDocumentURL:
+  /// @abstract Adds an array cookies to the cookie store, following the
+  /// cookie accept policy.
+  /// @param cookies The cookies to set.
+  /// @param URL The URL from which the cookies were sent.
+  /// @param mainDocumentURL The main document URL to be used as a base for the "same
+  /// domain as main document" policy.
+  /// @discussion For mainDocumentURL, the caller should pass the URL for
+  /// an appropriate main document, if known. For example, when loading
+  /// a web page, the URL of the main html document for the top-level
+  /// frame should be passed. To save cookies based on a set of response
+  /// headers, you can use <tt>+[NSCookie
+  /// cookiesWithResponseHeaderFields:forURL:]</tt> on a header field
+  /// dictionary and then use this method to store the resulting cookies
+  /// in accordance with policy settings.
+  void setCookies_forURL_mainDocumentURL_(
+      NSArray? cookies, NSURL? URL, NSURL? mainDocumentURL) {
+    _lib._objc_msgSend_672(
+        _id,
+        _lib._sel_setCookies_forURL_mainDocumentURL_1,
+        cookies?._id ?? ffi.nullptr,
+        URL?._id ?? ffi.nullptr,
+        mainDocumentURL?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract The cookie accept policy preference of the
+  /// receiver.
+  int get cookieAcceptPolicy {
+    return _lib._objc_msgSend_673(_id, _lib._sel_cookieAcceptPolicy1);
+  }
+
+  /// !
+  /// @abstract The cookie accept policy preference of the
+  /// receiver.
+  set cookieAcceptPolicy(int value) {
+    return _lib._objc_msgSend_674(
+        _id, _lib._sel_setCookieAcceptPolicy_1, value);
+  }
+
+  /// !
+  /// @method sortedCookiesUsingDescriptors:
+  /// @abstract Returns an array of all cookies in the store, sorted according to the key value and sorting direction of the NSSortDescriptors specified in the parameter.
+  /// @param sortOrder an array of NSSortDescriptors which represent the preferred sort order of the resulting array.
+  /// @discussion proper sorting of cookies may require extensive string conversion, which can be avoided by allowing the system to perform the sorting.  This API is to be preferred over the more generic -[NSHTTPCookieStorage cookies] API, if sorting is going to be performed.
+  NSArray sortedCookiesUsingDescriptors_(NSArray? sortOrder) {
+    final _ret = _lib._objc_msgSend_55(
+        _id,
+        _lib._sel_sortedCookiesUsingDescriptors_1,
+        sortOrder?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  void storeCookies_forTask_(NSArray? cookies, NSURLSessionTask? task) {
+    _lib._objc_msgSend_692(_id, _lib._sel_storeCookies_forTask_1,
+        cookies?._id ?? ffi.nullptr, task?._id ?? ffi.nullptr);
+  }
+
+  void getCookiesForTask_completionHandler_(
+      NSURLSessionTask? task, ObjCBlock_ffiVoid_NSArray completionHandler) {
+    _lib._objc_msgSend_693(_id, _lib._sel_getCookiesForTask_completionHandler_1,
+        task?._id ?? ffi.nullptr, completionHandler._id);
+  }
+
+  static NSHTTPCookieStorage new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSHTTPCookieStorage1, _lib._sel_new1);
+    return NSHTTPCookieStorage._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSHTTPCookieStorage alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSHTTPCookieStorage1, _lib._sel_alloc1);
+    return NSHTTPCookieStorage._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSHTTPCookieStorage1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSHTTPCookieStorage1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSHTTPCookieStorage1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSHTTPCookieStorage1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSHTTPCookieStorage1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSHTTPCookieStorage1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSHTTPCookieStorage1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @class NSHTTPCookie
+/// @abstract NSHTTPCookie represents an http cookie.
+/// @discussion A NSHTTPCookie instance represents a single http cookie. It is
+/// an immutable object initialized from a dictionary that contains
+/// the various cookie attributes. It has accessors to get the various
+/// attributes of a cookie.
+class NSHTTPCookie extends NSObject {
+  NSHTTPCookie._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSHTTPCookie] that points to the same underlying object as [other].
+  static NSHTTPCookie castFrom<T extends _ObjCWrapper>(T other) {
+    return NSHTTPCookie._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSHTTPCookie] that wraps the given raw object pointer.
+  static NSHTTPCookie castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSHTTPCookie._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSHTTPCookie].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSHTTPCookie1);
+  }
+
+  /// !
+  /// @method initWithProperties:
+  /// @abstract Initialize a NSHTTPCookie object with a dictionary of
+  /// parameters
+  /// @param properties The dictionary of properties to be used to
+  /// initialize this cookie.
+  /// @discussion Supported dictionary keys and value types for the
+  /// given dictionary are as follows.
+  ///
+  /// All properties can handle an NSString value, but some can also
+  /// handle other types.
+  ///
+  /// <table border="1" cellspacing="2" cellpadding="4">
+  /// <tr>
+  /// <th>Property key constant</th>
+  /// <th>Type of value</th>
+  /// <th>Required</th>
+  /// <th>Description</th>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieComment</td>
+  /// <td>NSString</td>
+  /// <td>NO</td>
+  /// <td>Comment for the cookie. Only valid for version 1 cookies and
+  /// later. Default is nil.</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieCommentURL</td>
+  /// <td>NSURL or NSString</td>
+  /// <td>NO</td>
+  /// <td>Comment URL for the cookie. Only valid for version 1 cookies
+  /// and later. Default is nil.</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieDomain</td>
+  /// <td>NSString</td>
+  /// <td>Special, a value for either NSHTTPCookieOriginURL or
+  /// NSHTTPCookieDomain must be specified.</td>
+  /// <td>Domain for the cookie. Inferred from the value for
+  /// NSHTTPCookieOriginURL if not provided.</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieDiscard</td>
+  /// <td>NSString</td>
+  /// <td>NO</td>
+  /// <td>A string stating whether the cookie should be discarded at
+  /// the end of the session. String value must be either "TRUE" or
+  /// "FALSE". Default is "FALSE", unless this is cookie is version
+  /// 1 or greater and a value for NSHTTPCookieMaximumAge is not
+  /// specified, in which case it is assumed "TRUE".</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieExpires</td>
+  /// <td>NSDate or NSString</td>
+  /// <td>NO</td>
+  /// <td>Expiration date for the cookie. Used only for version 0
+  /// cookies. Ignored for version 1 or greater.</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieMaximumAge</td>
+  /// <td>NSString</td>
+  /// <td>NO</td>
+  /// <td>A string containing an integer value stating how long in
+  /// seconds the cookie should be kept, at most. Only valid for
+  /// version 1 cookies and later. Default is "0".</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieName</td>
+  /// <td>NSString</td>
+  /// <td>YES</td>
+  /// <td>Name of the cookie</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieOriginURL</td>
+  /// <td>NSURL or NSString</td>
+  /// <td>Special, a value for either NSHTTPCookieOriginURL or
+  /// NSHTTPCookieDomain must be specified.</td>
+  /// <td>URL that set this cookie. Used as default for other fields
+  /// as noted.</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookiePath</td>
+  /// <td>NSString</td>
+  /// <td>NO</td>
+  /// <td>Path for the cookie. Inferred from the value for
+  /// NSHTTPCookieOriginURL if not provided. Default is "/".</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookiePort</td>
+  /// <td>NSString</td>
+  /// <td>NO</td>
+  /// <td>comma-separated integer values specifying the ports for the
+  /// cookie. Only valid for version 1 cookies and later. Default is
+  /// empty string ("").</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieSecure</td>
+  /// <td>NSString</td>
+  /// <td>NO</td>
+  /// <td>A string stating whether the cookie should be transmitted
+  /// only over secure channels. String value must be either "TRUE"
+  /// or "FALSE". Default is "FALSE".</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieValue</td>
+  /// <td>NSString</td>
+  /// <td>YES</td>
+  /// <td>Value of the cookie</td>
+  /// </tr>
+  /// <tr>
+  /// <td>NSHTTPCookieVersion</td>
+  /// <td>NSString</td>
+  /// <td>NO</td>
+  /// <td>Specifies the version of the cookie. Must be either "0" or
+  /// "1". Default is "0".</td>
+  /// </tr>
+  /// </table>
+  /// <p>
+  /// All other keys are ignored.
+  /// @result An initialized NSHTTPCookie, or nil if the set of
+  /// dictionary keys is invalid, for example because a required key is
+  /// missing, or a recognized key maps to an illegal value.
+  NSHTTPCookie initWithProperties_(NSDictionary? properties) {
+    final _ret = _lib._objc_msgSend_140(
+        _id, _lib._sel_initWithProperties_1, properties?._id ?? ffi.nullptr);
+    return NSHTTPCookie._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method cookieWithProperties:
+  /// @abstract Allocates and initializes an NSHTTPCookie with the given
+  /// dictionary.
+  /// @discussion See the NSHTTPCookie <tt>-initWithProperties:</tt>
+  /// method for more information on the constraints imposed on the
+  /// dictionary, and for descriptions of the supported keys and values.
+  /// @param properties The dictionary to use to initialize this cookie.
+  /// @result A newly-created and autoreleased NSHTTPCookie instance, or
+  /// nil if the set of dictionary keys is invalid, for example because
+  /// a required key is missing, or a recognized key maps to an illegal
+  /// value.
+  static NSHTTPCookie cookieWithProperties_(
+      PedometerBindings _lib, NSDictionary? properties) {
+    final _ret = _lib._objc_msgSend_669(_lib._class_NSHTTPCookie1,
+        _lib._sel_cookieWithProperties_1, properties?._id ?? ffi.nullptr);
+    return NSHTTPCookie._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method requestHeaderFieldsWithCookies:
+  /// @abstract Return a dictionary of header fields that can be used to add the
+  /// specified cookies to the request.
+  /// @param cookies The cookies to turn into request headers.
+  /// @result An NSDictionary where the keys are header field names, and the values
+  /// are the corresponding header field values.
+  static NSDictionary requestHeaderFieldsWithCookies_(
+      PedometerBindings _lib, NSArray? cookies) {
+    final _ret = _lib._objc_msgSend_427(
+        _lib._class_NSHTTPCookie1,
+        _lib._sel_requestHeaderFieldsWithCookies_1,
+        cookies?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method cookiesWithResponseHeaderFields:forURL:
+  /// @abstract Return an array of cookies parsed from the specified response header fields and URL.
+  /// @param headerFields The response header fields to check for cookies.
+  /// @param URL The URL that the cookies came from - relevant to how the cookies are interpreted.
+  /// @result An NSArray of NSHTTPCookie objects
+  /// @discussion This method will ignore irrelevant header fields so
+  /// you can pass a dictionary containing data other than cookie data.
+  static NSArray cookiesWithResponseHeaderFields_forURL_(
+      PedometerBindings _lib, NSDictionary? headerFields, NSURL? URL) {
+    final _ret = _lib._objc_msgSend_670(
+        _lib._class_NSHTTPCookie1,
+        _lib._sel_cookiesWithResponseHeaderFields_forURL_1,
+        headerFields?._id ?? ffi.nullptr,
+        URL?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns a dictionary representation of the receiver.
+  /// @discussion This method returns a dictionary representation of the
+  /// NSHTTPCookie which can be saved and passed to
+  /// <tt>-initWithProperties:</tt> or <tt>+cookieWithProperties:</tt>
+  /// later to reconstitute an equivalent cookie.
+  /// <p>See the NSHTTPCookie <tt>-initWithProperties:</tt> method for
+  /// more information on the constraints imposed on the dictionary, and
+  /// for descriptions of the supported keys and values.
+  /// @result The dictionary representation of the receiver.
+  NSDictionary? get properties {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_properties1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the version of the receiver.
+  /// @discussion Version 0 maps to "old-style" Netscape cookies.
+  /// Version 1 maps to RFC2965 cookies. There may be future versions.
+  /// @result the version of the receiver.
+  int get version {
+    return _lib._objc_msgSend_10(_id, _lib._sel_version1);
+  }
+
+  /// !
+  /// @abstract Returns the name of the receiver.
+  /// @result the name of the receiver.
+  NSString? get name {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_name1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the value of the receiver.
+  /// @result the value of the receiver.
+  NSString? get value {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_value1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the expires date of the receiver.
+  /// @result the expires date of the receiver.
+  /// @discussion The expires date is the date when the cookie should be
+  /// deleted. The result will be nil if there is no specific expires
+  /// date. This will be the case only for "session-only" cookies.
+  /// @result The expires date of the receiver.
+  NSDate? get expiresDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_expiresDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns whether the receiver is session-only.
+  /// @result YES if this receiver should be discarded at the end of the
+  /// session (regardless of expiration date), NO if receiver need not
+  /// be discarded at the end of the session.
+  bool get sessionOnly {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isSessionOnly1);
+  }
+
+  /// !
+  /// @abstract Returns the domain of the receiver.
+  /// @discussion This value specifies URL domain to which the cookie
+  /// should be sent. A domain with a leading dot means the cookie
+  /// should be sent to subdomains as well, assuming certain other
+  /// restrictions are valid. See RFC 2965 for more detail.
+  /// @result The domain of the receiver.
+  NSString? get domain {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_domain1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the path of the receiver.
+  /// @discussion This value specifies the URL path under the cookie's
+  /// domain for which this cookie should be sent. The cookie will also
+  /// be sent for children of that path, so "/" is the most general.
+  /// @result The path of the receiver.
+  NSString? get path {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_path1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns whether the receiver should be sent only over
+  /// secure channels
+  /// @discussion Cookies may be marked secure by a server (or by a javascript).
+  /// Cookies marked as such must only be sent via an encrypted connection to
+  /// trusted servers (i.e. via SSL or TLS), and should not be delivered to any
+  /// javascript applications to prevent cross-site scripting vulnerabilities.
+  /// @result YES if this cookie should be sent only over secure channels,
+  /// NO otherwise.
+  bool get secure {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isSecure1);
+  }
+
+  /// !
+  /// @abstract Returns whether the receiver should only be sent to HTTP servers
+  /// per RFC 2965
+  /// @discussion Cookies may be marked as HTTPOnly by a server (or by a javascript).
+  /// Cookies marked as such must only be sent via HTTP Headers in HTTP Requests
+  /// for URL's that match both the path and domain of the respective Cookies.
+  /// Specifically these cookies should not be delivered to any javascript
+  /// applications to prevent cross-site scripting vulnerabilities.
+  /// @result YES if this cookie should only be sent via HTTP headers,
+  /// NO otherwise.
+  bool get HTTPOnly {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isHTTPOnly1);
+  }
+
+  /// !
+  /// @abstract Returns the comment of the receiver.
+  /// @discussion This value specifies a string which is suitable for
+  /// presentation to the user explaining the contents and purpose of this
+  /// cookie. It may be nil.
+  /// @result The comment of the receiver, or nil if the receiver has no
+  /// comment.
+  NSString? get comment {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_comment1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the comment URL of the receiver.
+  /// @discussion This value specifies a URL which is suitable for
+  /// presentation to the user as a link for further information about
+  /// this cookie. It may be nil.
+  /// @result The comment URL of the receiver, or nil if the receiver
+  /// has no comment URL.
+  NSURL? get commentURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_commentURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the list ports to which the receiver should be
+  /// sent.
+  /// @discussion This value specifies an NSArray of NSNumbers
+  /// (containing integers) which specify the only ports to which this
+  /// cookie should be sent.
+  /// @result The list ports to which the receiver should be sent. The
+  /// array may be nil, in which case this cookie can be sent to any
+  /// port.
+  NSArray? get portList {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_portList1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the value of the same site attribute on the cookie.
+  /// @discussion Cookies can be marked with an attribute Strict or Lax.
+  /// Cookies marked with "strict" (NSHTTPCookieSameSiteStrict) are not sent along with cross-site requests.
+  /// Cookies marked with "lax" (NSHTTPCookieSameSiteLax) sent along cross-site requests provided the
+  /// cross-site requests are top-level-requests (one that changes the url in the address bar).
+  /// The attribute value is canonicalized and stored. Any value other than the default (strict and lax) will be ignored.
+  /// @result strict or lax. The result could also be nil, in which case the
+  /// cookie will be sent along with all cross-site requests.
+  NSHTTPCookieStringPolicy get sameSitePolicy {
+    return _lib._objc_msgSend_20(_id, _lib._sel_sameSitePolicy1);
+  }
+
+  static NSHTTPCookie new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSHTTPCookie1, _lib._sel_new1);
+    return NSHTTPCookie._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSHTTPCookie alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSHTTPCookie1, _lib._sel_alloc1);
+    return NSHTTPCookie._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSHTTPCookie1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSHTTPCookie1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSHTTPCookie1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSHTTPCookie1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSHTTPCookie1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSHTTPCookie1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSHTTPCookie1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSURLSessionTask extends NSObject {
+  NSURLSessionTask._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionTask] that points to the same underlying object as [other].
+  static NSURLSessionTask castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSessionTask._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionTask] that wraps the given raw object pointer.
+  static NSURLSessionTask castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionTask._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionTask].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionTask1);
+  }
+
+  int get taskIdentifier {
+    return _lib._objc_msgSend_10(_id, _lib._sel_taskIdentifier1);
+  }
+
+  NSURLRequest? get originalRequest {
+    final _ret = _lib._objc_msgSend_687(_id, _lib._sel_originalRequest1);
+    return _ret.address == 0
+        ? null
+        : NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLRequest? get currentRequest {
+    final _ret = _lib._objc_msgSend_687(_id, _lib._sel_currentRequest1);
+    return _ret.address == 0
+        ? null
+        : NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLResponse? get response {
+    final _ret = _lib._objc_msgSend_689(_id, _lib._sel_response1);
+    return _ret.address == 0
+        ? null
+        : NSURLResponse._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject? get delegate {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set delegate(NSObject? value) {
+    return _lib._objc_msgSend_343(
+        _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSProgress? get progress {
+    final _ret = _lib._objc_msgSend_467(_id, _lib._sel_progress1);
+    return _ret.address == 0
+        ? null
+        : NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate? get earliestBeginDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_earliestBeginDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  set earliestBeginDate(NSDate? value) {
+    return _lib._objc_msgSend_600(
+        _id, _lib._sel_setEarliestBeginDate_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get countOfBytesClientExpectsToSend {
+    return _lib._objc_msgSend_474(
+        _id, _lib._sel_countOfBytesClientExpectsToSend1);
+  }
+
+  set countOfBytesClientExpectsToSend(int value) {
+    return _lib._objc_msgSend_475(
+        _id, _lib._sel_setCountOfBytesClientExpectsToSend_1, value);
+  }
+
+  int get countOfBytesClientExpectsToReceive {
+    return _lib._objc_msgSend_474(
+        _id, _lib._sel_countOfBytesClientExpectsToReceive1);
+  }
+
+  set countOfBytesClientExpectsToReceive(int value) {
+    return _lib._objc_msgSend_475(
+        _id, _lib._sel_setCountOfBytesClientExpectsToReceive_1, value);
+  }
+
+  int get countOfBytesSent {
+    return _lib._objc_msgSend_474(_id, _lib._sel_countOfBytesSent1);
+  }
+
+  int get countOfBytesReceived {
+    return _lib._objc_msgSend_474(_id, _lib._sel_countOfBytesReceived1);
+  }
+
+  int get countOfBytesExpectedToSend {
+    return _lib._objc_msgSend_474(_id, _lib._sel_countOfBytesExpectedToSend1);
+  }
+
+  int get countOfBytesExpectedToReceive {
+    return _lib._objc_msgSend_474(
+        _id, _lib._sel_countOfBytesExpectedToReceive1);
+  }
+
+  NSString? get taskDescription {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_taskDescription1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set taskDescription(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setTaskDescription_1, value?._id ?? ffi.nullptr);
+  }
+
+  void cancel() {
+    _lib._objc_msgSend_1(_id, _lib._sel_cancel1);
+  }
+
+  int get state {
+    return _lib._objc_msgSend_690(_id, _lib._sel_state1);
+  }
+
+  NSError? get error {
+    final _ret = _lib._objc_msgSend_247(_id, _lib._sel_error1);
+    return _ret.address == 0
+        ? null
+        : NSError._(_ret, _lib, retain: true, release: true);
+  }
+
+  void suspend() {
+    _lib._objc_msgSend_1(_id, _lib._sel_suspend1);
+  }
+
+  void resume() {
+    _lib._objc_msgSend_1(_id, _lib._sel_resume1);
+  }
+
+  double get priority {
+    return _lib._objc_msgSend_178(_id, _lib._sel_priority1);
+  }
+
+  set priority(double value) {
+    return _lib._objc_msgSend_691(_id, _lib._sel_setPriority_1, value);
+  }
+
+  bool get prefersIncrementalDelivery {
+    return _lib._objc_msgSend_12(_id, _lib._sel_prefersIncrementalDelivery1);
+  }
+
+  set prefersIncrementalDelivery(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setPrefersIncrementalDelivery_1, value);
+  }
+
+  @override
+  NSURLSessionTask init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionTask new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLSessionTask1, _lib._sel_new1);
+    return NSURLSessionTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLSessionTask alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLSessionTask1, _lib._sel_alloc1);
+    return NSURLSessionTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionTask1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionTask1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionTask1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLSessionTask1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionTask1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @class NSURLRequest
+///
+/// @abstract An NSURLRequest object represents a URL load request in a
+/// manner independent of protocol and URL scheme.
+///
+/// @discussion NSURLRequest encapsulates two basic data elements about
+/// a URL load request:
+/// <ul>
+/// <li>The URL to load.
+/// <li>The policy to use when consulting the URL content cache made
+/// available by the implementation.
+/// </ul>
+/// In addition, NSURLRequest is designed to be extended to support
+/// protocol-specific data by adding categories to access a property
+/// object provided in an interface targeted at protocol implementors.
+/// <ul>
+/// <li>Protocol implementors should direct their attention to the
+/// NSURLRequestExtensibility category on NSURLRequest for more
+/// information on how to provide extensions on NSURLRequest to
+/// support protocol-specific request information.
+/// <li>Clients of this API who wish to create NSURLRequest objects to
+/// load URL content should consult the protocol-specific NSURLRequest
+/// categories that are available. The NSHTTPURLRequest category on
+/// NSURLRequest is an example.
+/// </ul>
+/// <p>
+/// Objects of this class are used to create NSURLConnection instances,
+/// which can are used to perform the load of a URL, or as input to the
+/// NSURLConnection class method which performs synchronous loads.
+class NSURLRequest extends NSObject {
+  NSURLRequest._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLRequest] that points to the same underlying object as [other].
+  static NSURLRequest castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLRequest._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSURLRequest] that wraps the given raw object pointer.
+  static NSURLRequest castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLRequest._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLRequest].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURLRequest1);
+  }
+
+  /// !
+  /// @method requestWithURL:
+  /// @abstract Allocates and initializes an NSURLRequest with the given
+  /// URL.
+  /// @discussion Default values are used for cache policy
+  /// (NSURLRequestUseProtocolCachePolicy) and timeout interval (60
+  /// seconds).
+  /// @param URL The URL for the request.
+  /// @result A newly-created and autoreleased NSURLRequest instance.
+  static NSURLRequest requestWithURL_(PedometerBindings _lib, NSURL? URL) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSURLRequest1,
+        _lib._sel_requestWithURL_1, URL?._id ?? ffi.nullptr);
+    return NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @property supportsSecureCoding
+  /// @abstract Indicates that NSURLRequest implements the NSSecureCoding protocol.
+  /// @result A BOOL value set to YES.
+  static bool getSupportsSecureCoding(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSURLRequest1, _lib._sel_supportsSecureCoding1);
+  }
+
+  /// !
+  /// @method requestWithURL:cachePolicy:timeoutInterval:
+  /// @abstract Allocates and initializes a NSURLRequest with the given
+  /// URL and cache policy.
+  /// @param URL The URL for the request.
+  /// @param cachePolicy The cache policy for the request.
+  /// @param timeoutInterval The timeout interval for the request. See the
+  /// commentary for the <tt>timeoutInterval</tt> for more information on
+  /// timeout intervals.
+  /// @result A newly-created and autoreleased NSURLRequest instance.
+  static NSURLRequest requestWithURL_cachePolicy_timeoutInterval_(
+      PedometerBindings _lib,
+      NSURL? URL,
+      int cachePolicy,
+      double timeoutInterval) {
+    final _ret = _lib._objc_msgSend_675(
+        _lib._class_NSURLRequest1,
+        _lib._sel_requestWithURL_cachePolicy_timeoutInterval_1,
+        URL?._id ?? ffi.nullptr,
+        cachePolicy,
+        timeoutInterval);
+    return NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method initWithURL:
+  /// @abstract Initializes an NSURLRequest with the given URL.
+  /// @discussion Default values are used for cache policy
+  /// (NSURLRequestUseProtocolCachePolicy) and timeout interval (60
+  /// seconds).
+  /// @param URL The URL for the request.
+  /// @result An initialized NSURLRequest.
+  NSURLRequest initWithURL_(NSURL? URL) {
+    final _ret = _lib._objc_msgSend_204(
+        _id, _lib._sel_initWithURL_1, URL?._id ?? ffi.nullptr);
+    return NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method initWithURL:
+  /// @abstract Initializes an NSURLRequest with the given URL and
+  /// cache policy.
+  /// @discussion This is the designated initializer for the
+  /// NSURLRequest class.
+  /// @param URL The URL for the request.
+  /// @param cachePolicy The cache policy for the request.
+  /// @param timeoutInterval The timeout interval for the request. See the
+  /// commentary for the <tt>timeoutInterval</tt> for more information on
+  /// timeout intervals.
+  /// @result An initialized NSURLRequest.
+  NSURLRequest initWithURL_cachePolicy_timeoutInterval_(
+      NSURL? URL, int cachePolicy, double timeoutInterval) {
+    final _ret = _lib._objc_msgSend_675(
+        _id,
+        _lib._sel_initWithURL_cachePolicy_timeoutInterval_1,
+        URL?._id ?? ffi.nullptr,
+        cachePolicy,
+        timeoutInterval);
+    return NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the URL of the receiver.
+  /// @result The URL of the receiver.
+  NSURL? get URL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_URL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the cache policy of the receiver.
+  /// @result The cache policy of the receiver.
+  int get cachePolicy {
+    return _lib._objc_msgSend_676(_id, _lib._sel_cachePolicy1);
+  }
+
+  /// !
+  /// @abstract Returns the timeout interval of the receiver.
+  /// @discussion The timeout interval specifies the limit on the idle
+  /// interval allotted to a request in the process of loading. The "idle
+  /// interval" is defined as the period of time that has passed since the
+  /// last instance of load activity occurred for a request that is in the
+  /// process of loading. Hence, when an instance of load activity occurs
+  /// (e.g. bytes are received from the network for a request), the idle
+  /// interval for a request is reset to 0. If the idle interval ever
+  /// becomes greater than or equal to the timeout interval, the request
+  /// is considered to have timed out. This timeout interval is measured
+  /// in seconds.
+  /// @result The timeout interval of the receiver.
+  double get timeoutInterval {
+    return _lib._objc_msgSend_146(_id, _lib._sel_timeoutInterval1);
+  }
+
+  /// !
+  /// @abstract The main document URL associated with this load.
+  /// @discussion This URL is used for the cookie "same domain as main
+  /// document" policy, and attributing the request as a sub-resource
+  /// of a user-specified URL. There may also be other future uses.
+  /// See setMainDocumentURL:
+  /// @result The main document URL.
+  NSURL? get mainDocumentURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_mainDocumentURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the NSURLRequestNetworkServiceType associated with this request.
+  /// @discussion  This will return NSURLNetworkServiceTypeDefault for requests that have
+  /// not explicitly set a networkServiceType (using the setNetworkServiceType method).
+  /// @result The NSURLRequestNetworkServiceType associated with this request.
+  int get networkServiceType {
+    return _lib._objc_msgSend_677(_id, _lib._sel_networkServiceType1);
+  }
+
+  /// !
+  /// @abstract returns whether a connection created with this request is allowed to use
+  /// the built in cellular radios (if present).
+  /// @result YES if the receiver is allowed to use the built in cellular radios to
+  /// satisfy the request, NO otherwise.
+  bool get allowsCellularAccess {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsCellularAccess1);
+  }
+
+  /// !
+  /// @abstract returns whether a connection created with this request is allowed to use
+  /// network interfaces which have been marked as expensive.
+  /// @result YES if the receiver is allowed to use an interface marked as expensive to
+  /// satisfy the request, NO otherwise.
+  bool get allowsExpensiveNetworkAccess {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsExpensiveNetworkAccess1);
+  }
+
+  /// !
+  /// @abstract returns whether a connection created with this request is allowed to use
+  /// network interfaces which have been marked as constrained.
+  /// @result YES if the receiver is allowed to use an interface marked as constrained to
+  /// satisfy the request, NO otherwise.
+  bool get allowsConstrainedNetworkAccess {
+    return _lib._objc_msgSend_12(
+        _id, _lib._sel_allowsConstrainedNetworkAccess1);
+  }
+
+  /// !
+  /// @abstract returns whether we assume that server supports HTTP/3. Enables QUIC
+  /// racing without HTTP/3 service discovery.
+  /// @result YES if server endpoint is known to support HTTP/3. Defaults to NO.
+  /// The default may be YES in a future OS update.
+  bool get assumesHTTP3Capable {
+    return _lib._objc_msgSend_12(_id, _lib._sel_assumesHTTP3Capable1);
+  }
+
+  /// !
+  /// @abstract Returns the NSURLRequestAttribution associated with this request.
+  /// @discussion This will return NSURLRequestAttributionDeveloper for requests that
+  /// have not explicitly set an attribution.
+  /// @result The NSURLRequestAttribution associated with this request.
+  int get attribution {
+    return _lib._objc_msgSend_678(_id, _lib._sel_attribution1);
+  }
+
+  /// !
+  /// @abstract sets whether a request is required to do DNSSEC validation during DNS lookup.
+  /// @discussion YES, if the DNS lookup for this request should require DNSSEC validation,
+  /// No otherwise. Defaults to NO.
+  bool get requiresDNSSECValidation {
+    return _lib._objc_msgSend_12(_id, _lib._sel_requiresDNSSECValidation1);
+  }
+
+  /// !
+  /// @abstract Returns the HTTP request method of the receiver.
+  /// @result the HTTP request method of the receiver.
+  NSString? get HTTPMethod {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_HTTPMethod1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns a dictionary containing all the HTTP header fields
+  /// of the receiver.
+  /// @result a dictionary containing all the HTTP header fields of the
+  /// receiver.
+  NSDictionary? get allHTTPHeaderFields {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_allHTTPHeaderFields1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method valueForHTTPHeaderField:
+  /// @abstract Returns the value which corresponds to the given header
+  /// field. Note that, in keeping with the HTTP RFC, HTTP header field
+  /// names are case-insensitive.
+  /// @param field the header field name to use for the lookup
+  /// (case-insensitive).
+  /// @result the value associated with the given header field, or nil if
+  /// there is no value associated with the given header field.
+  NSString valueForHTTPHeaderField_(NSString? field) {
+    final _ret = _lib._objc_msgSend_56(
+        _id, _lib._sel_valueForHTTPHeaderField_1, field?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the request body data of the receiver.
+  /// @discussion This data is sent as the message body of the request, as
+  /// in done in an HTTP POST request.
+  /// @result The request body data of the receiver.
+  NSData? get HTTPBody {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_HTTPBody1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the request body stream of the receiver
+  /// if any has been set
+  /// @discussion The stream is returned for examination only; it is
+  /// not safe for the caller to manipulate the stream in any way.  Also
+  /// note that the HTTPBodyStream and HTTPBody are mutually exclusive - only
+  /// one can be set on a given request.  Also note that the body stream is
+  /// preserved across copies, but is LOST when the request is coded via the
+  /// NSCoding protocol
+  /// @result The request body stream of the receiver.
+  NSInputStream? get HTTPBodyStream {
+    final _ret = _lib._objc_msgSend_686(_id, _lib._sel_HTTPBodyStream1);
+    return _ret.address == 0
+        ? null
+        : NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Determine whether default cookie handling will happen for
+  /// this request.
+  /// @discussion NOTE: This value is not used prior to 10.3
+  /// @result YES if cookies will be sent with and set for this request;
+  /// otherwise NO.
+  bool get HTTPShouldHandleCookies {
+    return _lib._objc_msgSend_12(_id, _lib._sel_HTTPShouldHandleCookies1);
+  }
+
+  /// !
+  /// @abstract Reports whether the receiver is not expected to wait for the
+  /// previous response before transmitting.
+  /// @result YES if the receiver should transmit before the previous response
+  /// is received.  NO if the receiver should wait for the previous response
+  /// before transmitting.
+  bool get HTTPShouldUsePipelining {
+    return _lib._objc_msgSend_12(_id, _lib._sel_HTTPShouldUsePipelining1);
+  }
+
+  static NSURLRequest new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLRequest1, _lib._sel_new1);
+    return NSURLRequest._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLRequest alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLRequest1, _lib._sel_alloc1);
+    return NSURLRequest._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLRequest1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLRequest1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSURLRequest1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLRequest1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLRequest1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSURLRequest1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLRequest1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @enum NSURLRequestCachePolicy
+///
+/// @discussion The NSURLRequestCachePolicy enum defines constants that
+/// can be used to specify the type of interactions that take place with
+/// the caching system when the URL loading system processes a request.
+/// Specifically, these constants cover interactions that have to do
+/// with whether already-existing cache data is returned to satisfy a
+/// URL load request.
+///
+/// @constant NSURLRequestUseProtocolCachePolicy Specifies that the
+/// caching logic defined in the protocol implementation, if any, is
+/// used for a particular URL load request. This is the default policy
+/// for URL load requests.
+///
+/// @constant NSURLRequestReloadIgnoringLocalCacheData Specifies that the
+/// data for the URL load should be loaded from the origin source. No
+/// existing local cache data, regardless of its freshness or validity,
+/// should be used to satisfy a URL load request.
+///
+/// @constant NSURLRequestReloadIgnoringLocalAndRemoteCacheData Specifies that
+/// not only should the local cache data be ignored, but that proxies and
+/// other intermediates should be instructed to disregard their caches
+/// so far as the protocol allows.
+///
+/// @constant NSURLRequestReloadIgnoringCacheData Older name for
+/// NSURLRequestReloadIgnoringLocalCacheData.
+///
+/// @constant NSURLRequestReturnCacheDataElseLoad Specifies that the
+/// existing cache data should be used to satisfy a URL load request,
+/// regardless of its age or expiration date. However, if there is no
+/// existing data in the cache corresponding to a URL load request,
+/// the URL is loaded from the origin source.
+///
+/// @constant NSURLRequestReturnCacheDataDontLoad Specifies that the
+/// existing cache data should be used to satisfy a URL load request,
+/// regardless of its age or expiration date. However, if there is no
+/// existing data in the cache corresponding to a URL load request, no
+/// attempt is made to load the URL from the origin source, and the
+/// load is considered to have failed. This constant specifies a
+/// behavior that is similar to an "offline" mode.
+///
+/// @constant NSURLRequestReloadRevalidatingCacheData Specifies that
+/// the existing cache data may be used provided the origin source
+/// confirms its validity, otherwise the URL is loaded from the
+/// origin source.
+abstract class NSURLRequestCachePolicy {
+  static const int NSURLRequestUseProtocolCachePolicy = 0;
+  static const int NSURLRequestReloadIgnoringLocalCacheData = 1;
+  static const int NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4;
+  static const int NSURLRequestReloadIgnoringCacheData = 1;
+  static const int NSURLRequestReturnCacheDataElseLoad = 2;
+  static const int NSURLRequestReturnCacheDataDontLoad = 3;
+  static const int NSURLRequestReloadRevalidatingCacheData = 5;
+}
+
+/// !
+/// @enum NSURLRequestNetworkServiceType
+///
+/// @discussion The NSURLRequestNetworkServiceType enum defines constants that
+/// can be used to specify the service type to associate with this request.  The
+/// service type is used to provide the networking layers a hint of the purpose
+/// of the request.
+///
+/// @constant NSURLNetworkServiceTypeDefault Is the default value for an NSURLRequest
+/// when created.  This value should be left unchanged for the vast majority of requests.
+///
+/// @constant NSURLNetworkServiceTypeVoIP Specifies that the request is for voice over IP
+/// control traffic.
+///
+/// @constant NSURLNetworkServiceTypeVideo Specifies that the request is for video
+/// traffic.
+///
+/// @constant NSURLNetworkServiceTypeBackground Specifies that the request is for background
+/// traffic (such as a file download).
+///
+/// @constant NSURLNetworkServiceTypeVoice Specifies that the request is for voice data.
+///
+/// @constant NSURLNetworkServiceTypeResponsiveData Specifies that the request is for responsive (time sensitive) data.
+///
+/// @constant NSURLNetworkServiceTypeAVStreaming Specifies that the request is streaming audio/video data.
+///
+/// @constant NSURLNetworkServiceTypeResponsiveAV Specifies that the request is for responsive (time sensitive) audio/video data.
+///
+/// @constant NSURLNetworkServiceTypeCallSignaling Specifies that the request is for call signaling.
+abstract class NSURLRequestNetworkServiceType {
+  static const int NSURLNetworkServiceTypeDefault = 0;
+  static const int NSURLNetworkServiceTypeVoIP = 1;
+  static const int NSURLNetworkServiceTypeVideo = 2;
+  static const int NSURLNetworkServiceTypeBackground = 3;
+  static const int NSURLNetworkServiceTypeVoice = 4;
+  static const int NSURLNetworkServiceTypeResponsiveData = 6;
+  static const int NSURLNetworkServiceTypeAVStreaming = 8;
+  static const int NSURLNetworkServiceTypeResponsiveAV = 9;
+  static const int NSURLNetworkServiceTypeCallSignaling = 11;
+}
+
+/// !
+/// @enum NSURLRequestAttribution
+///
+/// @discussion The NSURLRequestAttribution enum is used to indicate whether the
+/// user or developer specified the URL.
+///
+/// @constant NSURLRequestAttributionDeveloper Indicates that the URL was specified
+/// by the developer. This is the default value for an NSURLRequest when created.
+///
+/// @constant NSURLRequestAttributionUser Indicates that the URL was specified by
+/// the user.
+abstract class NSURLRequestAttribution {
+  static const int NSURLRequestAttributionDeveloper = 0;
+  static const int NSURLRequestAttributionUser = 1;
+}
+
+class NSInputStream extends NSStream {
+  NSInputStream._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSInputStream] that points to the same underlying object as [other].
+  static NSInputStream castFrom<T extends _ObjCWrapper>(T other) {
+    return NSInputStream._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSInputStream] that wraps the given raw object pointer.
+  static NSInputStream castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSInputStream._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSInputStream].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInputStream1);
+  }
+
+  int read_maxLength_(ffi.Pointer<ffi.Uint8> buffer, int len) {
+    return _lib._objc_msgSend_680(_id, _lib._sel_read_maxLength_1, buffer, len);
+  }
+
+  bool getBuffer_length_(
+      ffi.Pointer<ffi.Pointer<ffi.Uint8>> buffer, ffi.Pointer<NSUInteger> len) {
+    return _lib._objc_msgSend_685(
+        _id, _lib._sel_getBuffer_length_1, buffer, len);
+  }
+
+  bool get hasBytesAvailable {
+    return _lib._objc_msgSend_12(_id, _lib._sel_hasBytesAvailable1);
+  }
+
+  NSInputStream initWithData_(NSData? data) {
+    final _ret = _lib._objc_msgSend_206(
+        _id, _lib._sel_initWithData_1, data?._id ?? ffi.nullptr);
+    return NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSInputStream initWithURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(
+        _id, _lib._sel_initWithURL_1, url?._id ?? ffi.nullptr);
+    return NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSInputStream initWithFileAtPath_(NSString? path) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithFileAtPath_1, path?._id ?? ffi.nullptr);
+    return NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSInputStream inputStreamWithData_(
+      PedometerBindings _lib, NSData? data) {
+    final _ret = _lib._objc_msgSend_206(_lib._class_NSInputStream1,
+        _lib._sel_inputStreamWithData_1, data?._id ?? ffi.nullptr);
+    return NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSInputStream inputStreamWithFileAtPath_(
+      PedometerBindings _lib, NSString? path) {
+    final _ret = _lib._objc_msgSend_30(_lib._class_NSInputStream1,
+        _lib._sel_inputStreamWithFileAtPath_1, path?._id ?? ffi.nullptr);
+    return NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSInputStream inputStreamWithURL_(PedometerBindings _lib, NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSInputStream1,
+        _lib._sel_inputStreamWithURL_1, url?._id ?? ffi.nullptr);
+    return NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void getStreamsToHostWithName_port_inputStream_outputStream_(
+      PedometerBindings _lib,
+      NSString? hostname,
+      int port,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream) {
+    _lib._objc_msgSend_683(
+        _lib._class_NSInputStream1,
+        _lib._sel_getStreamsToHostWithName_port_inputStream_outputStream_1,
+        hostname?._id ?? ffi.nullptr,
+        port,
+        inputStream,
+        outputStream);
+  }
+
+  static void getBoundStreamsWithBufferSize_inputStream_outputStream_(
+      PedometerBindings _lib,
+      int bufferSize,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream) {
+    _lib._objc_msgSend_684(
+        _lib._class_NSInputStream1,
+        _lib._sel_getBoundStreamsWithBufferSize_inputStream_outputStream_1,
+        bufferSize,
+        inputStream,
+        outputStream);
+  }
+
+  static NSInputStream new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSInputStream1, _lib._sel_new1);
+    return NSInputStream._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSInputStream alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSInputStream1, _lib._sel_alloc1);
+    return NSInputStream._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSInputStream1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSInputStream1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSInputStream1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSInputStream1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSInputStream1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSInputStream1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSInputStream1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSStream extends NSObject {
+  NSStream._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSStream] that points to the same underlying object as [other].
+  static NSStream castFrom<T extends _ObjCWrapper>(T other) {
+    return NSStream._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSStream] that wraps the given raw object pointer.
+  static NSStream castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSStream._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSStream].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSStream1);
+  }
+
+  void open() {
+    _lib._objc_msgSend_1(_id, _lib._sel_open1);
+  }
+
+  void close() {
+    _lib._objc_msgSend_1(_id, _lib._sel_close1);
+  }
+
+  NSObject? get delegate {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set delegate(NSObject? value) {
+    return _lib._objc_msgSend_343(
+        _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSObject propertyForKey_(NSStreamPropertyKey key) {
+    final _ret = _lib._objc_msgSend_30(_id, _lib._sel_propertyForKey_1, key);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool setProperty_forKey_(NSObject property, NSStreamPropertyKey key) {
+    return _lib._objc_msgSend_441(
+        _id, _lib._sel_setProperty_forKey_1, property._id, key);
+  }
+
+  void scheduleInRunLoop_forMode_(NSRunLoop? aRunLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_scheduleInRunLoop_forMode_1,
+        aRunLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  void removeFromRunLoop_forMode_(NSRunLoop? aRunLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_removeFromRunLoop_forMode_1,
+        aRunLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  int get streamStatus {
+    return _lib._objc_msgSend_679(_id, _lib._sel_streamStatus1);
+  }
+
+  NSError? get streamError {
+    final _ret = _lib._objc_msgSend_247(_id, _lib._sel_streamError1);
+    return _ret.address == 0
+        ? null
+        : NSError._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void getStreamsToHostWithName_port_inputStream_outputStream_(
+      PedometerBindings _lib,
+      NSString? hostname,
+      int port,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream) {
+    _lib._objc_msgSend_683(
+        _lib._class_NSStream1,
+        _lib._sel_getStreamsToHostWithName_port_inputStream_outputStream_1,
+        hostname?._id ?? ffi.nullptr,
+        port,
+        inputStream,
+        outputStream);
+  }
+
+  static void getBoundStreamsWithBufferSize_inputStream_outputStream_(
+      PedometerBindings _lib,
+      int bufferSize,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream) {
+    _lib._objc_msgSend_684(
+        _lib._class_NSStream1,
+        _lib._sel_getBoundStreamsWithBufferSize_inputStream_outputStream_1,
+        bufferSize,
+        inputStream,
+        outputStream);
+  }
+
+  static NSStream new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSStream1, _lib._sel_new1);
+    return NSStream._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSStream alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSStream1, _lib._sel_alloc1);
+    return NSStream._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSStream1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSStream1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSStream1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSStream1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSStream1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSStream1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSStream1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSStreamPropertyKey = ffi.Pointer<ObjCObject>;
+
+abstract class NSStreamStatus {
+  static const int NSStreamStatusNotOpen = 0;
+  static const int NSStreamStatusOpening = 1;
+  static const int NSStreamStatusOpen = 2;
+  static const int NSStreamStatusReading = 3;
+  static const int NSStreamStatusWriting = 4;
+  static const int NSStreamStatusAtEnd = 5;
+  static const int NSStreamStatusClosed = 6;
+  static const int NSStreamStatusError = 7;
+}
+
+class NSOutputStream extends NSStream {
+  NSOutputStream._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSOutputStream] that points to the same underlying object as [other].
+  static NSOutputStream castFrom<T extends _ObjCWrapper>(T other) {
+    return NSOutputStream._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSOutputStream] that wraps the given raw object pointer.
+  static NSOutputStream castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSOutputStream._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSOutputStream].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSOutputStream1);
+  }
+
+  int write_maxLength_(ffi.Pointer<ffi.Uint8> buffer, int len) {
+    return _lib._objc_msgSend_680(
+        _id, _lib._sel_write_maxLength_1, buffer, len);
+  }
+
+  bool get hasSpaceAvailable {
+    return _lib._objc_msgSend_12(_id, _lib._sel_hasSpaceAvailable1);
+  }
+
+  NSOutputStream initToMemory() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_initToMemory1);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOutputStream initToBuffer_capacity_(
+      ffi.Pointer<ffi.Uint8> buffer, int capacity) {
+    final _ret = _lib._objc_msgSend_681(
+        _id, _lib._sel_initToBuffer_capacity_1, buffer, capacity);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOutputStream initWithURL_append_(NSURL? url, bool shouldAppend) {
+    final _ret = _lib._objc_msgSend_682(_id, _lib._sel_initWithURL_append_1,
+        url?._id ?? ffi.nullptr, shouldAppend);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOutputStream initToFileAtPath_append_(NSString? path, bool shouldAppend) {
+    final _ret = _lib._objc_msgSend_29(_id, _lib._sel_initToFileAtPath_append_1,
+        path?._id ?? ffi.nullptr, shouldAppend);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOutputStream outputStreamToMemory(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSOutputStream1, _lib._sel_outputStreamToMemory1);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOutputStream outputStreamToBuffer_capacity_(
+      PedometerBindings _lib, ffi.Pointer<ffi.Uint8> buffer, int capacity) {
+    final _ret = _lib._objc_msgSend_681(_lib._class_NSOutputStream1,
+        _lib._sel_outputStreamToBuffer_capacity_1, buffer, capacity);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOutputStream outputStreamToFileAtPath_append_(
+      PedometerBindings _lib, NSString? path, bool shouldAppend) {
+    final _ret = _lib._objc_msgSend_29(
+        _lib._class_NSOutputStream1,
+        _lib._sel_outputStreamToFileAtPath_append_1,
+        path?._id ?? ffi.nullptr,
+        shouldAppend);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOutputStream outputStreamWithURL_append_(
+      PedometerBindings _lib, NSURL? url, bool shouldAppend) {
+    final _ret = _lib._objc_msgSend_682(
+        _lib._class_NSOutputStream1,
+        _lib._sel_outputStreamWithURL_append_1,
+        url?._id ?? ffi.nullptr,
+        shouldAppend);
+    return NSOutputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  static void getStreamsToHostWithName_port_inputStream_outputStream_(
+      PedometerBindings _lib,
+      NSString? hostname,
+      int port,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream) {
+    _lib._objc_msgSend_683(
+        _lib._class_NSOutputStream1,
+        _lib._sel_getStreamsToHostWithName_port_inputStream_outputStream_1,
+        hostname?._id ?? ffi.nullptr,
+        port,
+        inputStream,
+        outputStream);
+  }
+
+  static void getBoundStreamsWithBufferSize_inputStream_outputStream_(
+      PedometerBindings _lib,
+      int bufferSize,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream) {
+    _lib._objc_msgSend_684(
+        _lib._class_NSOutputStream1,
+        _lib._sel_getBoundStreamsWithBufferSize_inputStream_outputStream_1,
+        bufferSize,
+        inputStream,
+        outputStream);
+  }
+
+  static NSOutputStream new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOutputStream1, _lib._sel_new1);
+    return NSOutputStream._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSOutputStream alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOutputStream1, _lib._sel_alloc1);
+    return NSOutputStream._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSOutputStream1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSOutputStream1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSOutputStream1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSOutputStream1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSOutputStream1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSOutputStream1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSOutputStream1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @class NSURLResponse
+///
+/// @abstract An NSURLResponse object represents a URL load response in a
+/// manner independent of protocol and URL scheme.
+///
+/// @discussion NSURLResponse encapsulates the metadata associated
+/// with a URL load. Note that NSURLResponse objects do not contain
+/// the actual bytes representing the content of a URL. See
+/// NSURLConnection and NSURLConnectionDelegate for more information
+/// about receiving the content data for a URL load.
+class NSURLResponse extends NSObject {
+  NSURLResponse._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLResponse] that points to the same underlying object as [other].
+  static NSURLResponse castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLResponse._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSURLResponse] that wraps the given raw object pointer.
+  static NSURLResponse castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLResponse._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLResponse].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURLResponse1);
+  }
+
+  /// !
+  /// @method initWithURL:MIMEType:expectedContentLength:textEncodingName:
+  /// @abstract Initialize an NSURLResponse with the provided values.
+  /// @param URL the URL
+  /// @param MIMEType the MIME content type of the response
+  /// @param length the expected content length of the associated data
+  /// @param name the name of the text encoding for the associated data, if applicable, else nil
+  /// @result The initialized NSURLResponse.
+  /// @discussion This is the designated initializer for NSURLResponse.
+  NSURLResponse initWithURL_MIMEType_expectedContentLength_textEncodingName_(
+      NSURL? URL, NSString? MIMEType, int length, NSString? name) {
+    final _ret = _lib._objc_msgSend_688(
+        _id,
+        _lib._sel_initWithURL_MIMEType_expectedContentLength_textEncodingName_1,
+        URL?._id ?? ffi.nullptr,
+        MIMEType?._id ?? ffi.nullptr,
+        length,
+        name?._id ?? ffi.nullptr);
+    return NSURLResponse._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the URL of the receiver.
+  /// @result The URL of the receiver.
+  NSURL? get URL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_URL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the MIME type of the receiver.
+  /// @discussion The MIME type is based on the information provided
+  /// from an origin source. However, that value may be changed or
+  /// corrected by a protocol implementation if it can be determined
+  /// that the origin server or source reported the information
+  /// incorrectly or imprecisely. An attempt to guess the MIME type may
+  /// be made if the origin source did not report any such information.
+  /// @result The MIME type of the receiver.
+  NSString? get MIMEType {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_MIMEType1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the expected content length of the receiver.
+  /// @discussion Some protocol implementations report a content length
+  /// as part of delivering load metadata, but not all protocols
+  /// guarantee the amount of data that will be delivered in actuality.
+  /// Hence, this method returns an expected amount. Clients should use
+  /// this value as an advisory, and should be prepared to deal with
+  /// either more or less data.
+  /// @result The expected content length of the receiver, or -1 if
+  /// there is no expectation that can be arrived at regarding expected
+  /// content length.
+  int get expectedContentLength {
+    return _lib._objc_msgSend_177(_id, _lib._sel_expectedContentLength1);
+  }
+
+  /// !
+  /// @abstract Returns the name of the text encoding of the receiver.
+  /// @discussion This name will be the actual string reported by the
+  /// origin source during the course of performing a protocol-specific
+  /// URL load. Clients can inspect this string and convert it to an
+  /// NSStringEncoding or CFStringEncoding using the methods and
+  /// functions made available in the appropriate framework.
+  /// @result The name of the text encoding of the receiver, or nil if no
+  /// text encoding was specified.
+  NSString? get textEncodingName {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_textEncodingName1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns a suggested filename if the resource were saved to disk.
+  /// @discussion The method first checks if the server has specified a filename using the
+  /// content disposition header. If no valid filename is specified using that mechanism,
+  /// this method checks the last path component of the URL. If no valid filename can be
+  /// obtained using the last path component, this method uses the URL's host as the filename.
+  /// If the URL's host can't be converted to a valid filename, the filename "unknown" is used.
+  /// In most cases, this method appends the proper file extension based on the MIME type.
+  /// This method always returns a valid filename.
+  /// @result A suggested filename to use if saving the resource to disk.
+  NSString? get suggestedFilename {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_suggestedFilename1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLResponse new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLResponse1, _lib._sel_new1);
+    return NSURLResponse._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLResponse alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLResponse1, _lib._sel_alloc1);
+    return NSURLResponse._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLResponse1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLResponse1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSURLResponse1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLResponse1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLResponse1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSURLResponse1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLResponse1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSURLSessionTaskState {
+  static const int NSURLSessionTaskStateRunning = 0;
+  static const int NSURLSessionTaskStateSuspended = 1;
+  static const int NSURLSessionTaskStateCanceling = 2;
+  static const int NSURLSessionTaskStateCompleted = 3;
+}
+
+void _ObjCBlock_ffiVoid_NSArray_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSArray_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSArray_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSArray_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSArray_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSArray_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSArray_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSArray_closureRegistry[block.ref.target.address] as void
+      Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSArray extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSArray._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSArray.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSArray_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSArray.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSArray_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSArray_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSArray.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSArray_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSArray_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+class NSIndexPath extends NSObject {
+  NSIndexPath._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSIndexPath] that points to the same underlying object as [other].
+  static NSIndexPath castFrom<T extends _ObjCWrapper>(T other) {
+    return NSIndexPath._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSIndexPath] that wraps the given raw object pointer.
+  static NSIndexPath castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSIndexPath._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSIndexPath].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSIndexPath1);
+  }
+
+  static NSIndexPath indexPathWithIndex_(PedometerBindings _lib, int index) {
+    final _ret = _lib._objc_msgSend_52(
+        _lib._class_NSIndexPath1, _lib._sel_indexPathWithIndex_1, index);
+    return NSIndexPath._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSIndexPath indexPathWithIndexes_length_(
+      PedometerBindings _lib, ffi.Pointer<NSUInteger> indexes, int length) {
+    final _ret = _lib._objc_msgSend_694(_lib._class_NSIndexPath1,
+        _lib._sel_indexPathWithIndexes_length_1, indexes, length);
+    return NSIndexPath._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexPath initWithIndexes_length_(
+      ffi.Pointer<NSUInteger> indexes, int length) {
+    final _ret = _lib._objc_msgSend_694(
+        _id, _lib._sel_initWithIndexes_length_1, indexes, length);
+    return NSIndexPath._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexPath initWithIndex_(int index) {
+    final _ret = _lib._objc_msgSend_52(_id, _lib._sel_initWithIndex_1, index);
+    return NSIndexPath._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexPath indexPathByAddingIndex_(int index) {
+    final _ret =
+        _lib._objc_msgSend_695(_id, _lib._sel_indexPathByAddingIndex_1, index);
+    return NSIndexPath._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSIndexPath indexPathByRemovingLastIndex() {
+    final _ret =
+        _lib._objc_msgSend_696(_id, _lib._sel_indexPathByRemovingLastIndex1);
+    return NSIndexPath._(_ret, _lib, retain: true, release: true);
+  }
+
+  int indexAtPosition_(int position) {
+    return _lib._objc_msgSend_79(_id, _lib._sel_indexAtPosition_1, position);
+  }
+
+  int get length {
+    return _lib._objc_msgSend_10(_id, _lib._sel_length1);
+  }
+
+  /// !
+  /// @abstract Copies the indexes stored in this index path from the positions specified by positionRange into indexes.
+  /// @param indexes Buffer of at least as many NSUIntegers as specified by the length of positionRange. On return, this memory will hold the index path's indexes.
+  /// @param positionRange A range of valid positions within this index path.  If the location plus the length of positionRange is greater than the length of this index path, this method raises an NSRangeException.
+  /// @discussion
+  /// It is the developer’s responsibility to allocate the memory for the C array.
+  void getIndexes_range_(
+      ffi.Pointer<NSUInteger> indexes, NSRange positionRange) {
+    _lib._objc_msgSend_697(
+        _id, _lib._sel_getIndexes_range_1, indexes, positionRange);
+  }
+
+  int compare_(NSIndexPath? otherObject) {
+    return _lib._objc_msgSend_698(
+        _id, _lib._sel_compare_1, otherObject?._id ?? ffi.nullptr);
+  }
+
+  /// This method is unsafe because it could potentially cause buffer overruns. You should use -getIndexes:range: instead.
+  void getIndexes_(ffi.Pointer<NSUInteger> indexes) {
+    _lib._objc_msgSend_699(_id, _lib._sel_getIndexes_1, indexes);
+  }
+
+  static NSIndexPath new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSIndexPath1, _lib._sel_new1);
+    return NSIndexPath._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSIndexPath alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSIndexPath1, _lib._sel_alloc1);
+    return NSIndexPath._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSIndexPath1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSIndexPath1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSIndexPath1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSIndexPath1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSIndexPath1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSIndexPath1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSIndexPath1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSInflectionRule extends NSObject {
+  NSInflectionRule._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSInflectionRule] that points to the same underlying object as [other].
+  static NSInflectionRule castFrom<T extends _ObjCWrapper>(T other) {
+    return NSInflectionRule._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSInflectionRule] that wraps the given raw object pointer.
+  static NSInflectionRule castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSInflectionRule._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSInflectionRule].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSInflectionRule1);
+  }
+
+  @override
+  NSObject init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSInflectionRule? getAutomaticRule(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_700(
+        _lib._class_NSInflectionRule1, _lib._sel_automaticRule1);
+    return _ret.address == 0
+        ? null
+        : NSInflectionRule._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool canInflectLanguage_(PedometerBindings _lib, NSString? language) {
+    return _lib._objc_msgSend_51(_lib._class_NSInflectionRule1,
+        _lib._sel_canInflectLanguage_1, language?._id ?? ffi.nullptr);
+  }
+
+  static bool getCanInflectPreferredLocalization(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSInflectionRule1,
+        _lib._sel_canInflectPreferredLocalization1);
+  }
+
+  static NSInflectionRule new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSInflectionRule1, _lib._sel_new1);
+    return NSInflectionRule._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSInflectionRule alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSInflectionRule1, _lib._sel_alloc1);
+    return NSInflectionRule._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSInflectionRule1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSInflectionRule1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSInflectionRule1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSInflectionRule1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSInflectionRule1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSInflectionRule1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSInflectionRule1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSJSONReadingOptions {
+  static const int NSJSONReadingMutableContainers = 1;
+  static const int NSJSONReadingMutableLeaves = 2;
+  static const int NSJSONReadingFragmentsAllowed = 4;
+  static const int NSJSONReadingJSON5Allowed = 8;
+  static const int NSJSONReadingTopLevelDictionaryAssumed = 16;
+  static const int NSJSONReadingAllowFragments = 4;
+}
+
+abstract class NSJSONWritingOptions {
+  static const int NSJSONWritingPrettyPrinted = 1;
+  static const int NSJSONWritingSortedKeys = 2;
+  static const int NSJSONWritingFragmentsAllowed = 4;
+  static const int NSJSONWritingWithoutEscapingSlashes = 8;
+}
+
+typedef NSKeyValueOperator = ffi.Pointer<ObjCObject>;
+typedef NSKeyValueChangeKey = ffi.Pointer<ObjCObject>;
+
+abstract class NSPropertyListMutabilityOptions {
+  static const int NSPropertyListImmutable = 0;
+  static const int NSPropertyListMutableContainers = 1;
+  static const int NSPropertyListMutableContainersAndLeaves = 2;
+}
+
+/// void * Map table operations
+final class NSMapEnumerator extends ffi.Struct {
+  @NSUInteger()
+  external int _pi;
+
+  @NSUInteger()
+  external int _si;
+
+  external ffi.Pointer<ffi.Void> _bs;
+}
+
+class NSMapTable extends NSObject {
+  NSMapTable._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMapTable] that points to the same underlying object as [other].
+  static NSMapTable castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMapTable._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSMapTable] that wraps the given raw object pointer.
+  static NSMapTable castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMapTable._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMapTable].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMapTable1);
+  }
+
+  NSMapTable initWithKeyOptions_valueOptions_capacity_(
+      int keyOptions, int valueOptions, int initialCapacity) {
+    final _ret = _lib._objc_msgSend_701(
+        _id,
+        _lib._sel_initWithKeyOptions_valueOptions_capacity_1,
+        keyOptions,
+        valueOptions,
+        initialCapacity);
+    return NSMapTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSMapTable initWithKeyPointerFunctions_valuePointerFunctions_capacity_(
+      NSPointerFunctions? keyFunctions,
+      NSPointerFunctions? valueFunctions,
+      int initialCapacity) {
+    final _ret = _lib._objc_msgSend_702(
+        _id,
+        _lib._sel_initWithKeyPointerFunctions_valuePointerFunctions_capacity_1,
+        keyFunctions?._id ?? ffi.nullptr,
+        valueFunctions?._id ?? ffi.nullptr,
+        initialCapacity);
+    return NSMapTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMapTable mapTableWithKeyOptions_valueOptions_(
+      PedometerBindings _lib, int keyOptions, int valueOptions) {
+    final _ret = _lib._objc_msgSend_703(
+        _lib._class_NSMapTable1,
+        _lib._sel_mapTableWithKeyOptions_valueOptions_1,
+        keyOptions,
+        valueOptions);
+    return NSMapTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject mapTableWithStrongToStrongObjects(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMapTable1, _lib._sel_mapTableWithStrongToStrongObjects1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject mapTableWithWeakToStrongObjects(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMapTable1, _lib._sel_mapTableWithWeakToStrongObjects1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject mapTableWithStrongToWeakObjects(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMapTable1, _lib._sel_mapTableWithStrongToWeakObjects1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject mapTableWithWeakToWeakObjects(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMapTable1, _lib._sel_mapTableWithWeakToWeakObjects1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMapTable strongToStrongObjectsMapTable(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_704(
+        _lib._class_NSMapTable1, _lib._sel_strongToStrongObjectsMapTable1);
+    return NSMapTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMapTable weakToStrongObjectsMapTable(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_704(
+        _lib._class_NSMapTable1, _lib._sel_weakToStrongObjectsMapTable1);
+    return NSMapTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMapTable strongToWeakObjectsMapTable(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_704(
+        _lib._class_NSMapTable1, _lib._sel_strongToWeakObjectsMapTable1);
+    return NSMapTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMapTable weakToWeakObjectsMapTable(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_704(
+        _lib._class_NSMapTable1, _lib._sel_weakToWeakObjectsMapTable1);
+    return NSMapTable._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSPointerFunctions? get keyPointerFunctions {
+    final _ret = _lib._objc_msgSend_664(_id, _lib._sel_keyPointerFunctions1);
+    return _ret.address == 0
+        ? null
+        : NSPointerFunctions._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSPointerFunctions? get valuePointerFunctions {
+    final _ret = _lib._objc_msgSend_664(_id, _lib._sel_valuePointerFunctions1);
+    return _ret.address == 0
+        ? null
+        : NSPointerFunctions._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject objectForKey_(NSObject aKey) {
+    final _ret = _lib._objc_msgSend_16(_id, _lib._sel_objectForKey_1, aKey._id);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void removeObjectForKey_(NSObject aKey) {
+    _lib._objc_msgSend_15(_id, _lib._sel_removeObjectForKey_1, aKey._id);
+  }
+
+  void setObject_forKey_(NSObject anObject, NSObject aKey) {
+    _lib._objc_msgSend_452(
+        _id, _lib._sel_setObject_forKey_1, anObject._id, aKey._id);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  NSEnumerator keyEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_keyEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSEnumerator objectEnumerator() {
+    final _ret = _lib._objc_msgSend_64(_id, _lib._sel_objectEnumerator1);
+    return NSEnumerator._(_ret, _lib, retain: true, release: true);
+  }
+
+  void removeAllObjects() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllObjects1);
+  }
+
+  NSDictionary dictionaryRepresentation() {
+    final _ret =
+        _lib._objc_msgSend_319(_id, _lib._sel_dictionaryRepresentation1);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMapTable new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSMapTable1, _lib._sel_new1);
+    return NSMapTable._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMapTable alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMapTable1, _lib._sel_alloc1);
+    return NSMapTable._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMapTable1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMapTable1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSMapTable1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMapTable1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMapTable1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSMapTable1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMapTable1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// Legacy
+final class NSMapTableKeyCallBacks extends ffi.Struct {
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          NSUInteger Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> hash;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Bool Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>,
+              ffi.Pointer<ffi.Void>)>> isEqual;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> retain;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> release;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> describe;
+
+  external ffi.Pointer<ffi.Void> notAKeyMarker;
+}
+
+final class NSMapTableValueCallBacks extends ffi.Struct {
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> retain;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Void Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> release;
+
+  external ffi.Pointer<
+      ffi.NativeFunction<
+          ffi.Pointer<ObjCObject> Function(
+              ffi.Pointer<ObjCObject>, ffi.Pointer<ffi.Void>)>> describe;
+}
+
+abstract class NSGrammaticalGender {
+  static const int NSGrammaticalGenderNotSet = 0;
+  static const int NSGrammaticalGenderFeminine = 1;
+  static const int NSGrammaticalGenderMasculine = 2;
+  static const int NSGrammaticalGenderNeuter = 3;
+}
+
+abstract class NSGrammaticalPartOfSpeech {
+  static const int NSGrammaticalPartOfSpeechNotSet = 0;
+  static const int NSGrammaticalPartOfSpeechDeterminer = 1;
+  static const int NSGrammaticalPartOfSpeechPronoun = 2;
+  static const int NSGrammaticalPartOfSpeechLetter = 3;
+  static const int NSGrammaticalPartOfSpeechAdverb = 4;
+  static const int NSGrammaticalPartOfSpeechParticle = 5;
+  static const int NSGrammaticalPartOfSpeechAdjective = 6;
+  static const int NSGrammaticalPartOfSpeechAdposition = 7;
+  static const int NSGrammaticalPartOfSpeechVerb = 8;
+  static const int NSGrammaticalPartOfSpeechNoun = 9;
+  static const int NSGrammaticalPartOfSpeechConjunction = 10;
+  static const int NSGrammaticalPartOfSpeechNumeral = 11;
+  static const int NSGrammaticalPartOfSpeechInterjection = 12;
+  static const int NSGrammaticalPartOfSpeechPreposition = 13;
+  static const int NSGrammaticalPartOfSpeechAbbreviation = 14;
+}
+
+abstract class NSGrammaticalNumber {
+  static const int NSGrammaticalNumberNotSet = 0;
+  static const int NSGrammaticalNumberSingular = 1;
+  static const int NSGrammaticalNumberZero = 2;
+  static const int NSGrammaticalNumberPlural = 3;
+  static const int NSGrammaticalNumberPluralTwo = 4;
+  static const int NSGrammaticalNumberPluralFew = 5;
+  static const int NSGrammaticalNumberPluralMany = 6;
+}
+
+class NSMorphology extends NSObject {
+  NSMorphology._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMorphology] that points to the same underlying object as [other].
+  static NSMorphology castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMorphology._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSMorphology] that wraps the given raw object pointer.
+  static NSMorphology castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMorphology._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMorphology].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMorphology1);
+  }
+
+  int get grammaticalGender {
+    return _lib._objc_msgSend_705(_id, _lib._sel_grammaticalGender1);
+  }
+
+  set grammaticalGender(int value) {
+    return _lib._objc_msgSend_706(_id, _lib._sel_setGrammaticalGender_1, value);
+  }
+
+  int get partOfSpeech {
+    return _lib._objc_msgSend_707(_id, _lib._sel_partOfSpeech1);
+  }
+
+  set partOfSpeech(int value) {
+    return _lib._objc_msgSend_708(_id, _lib._sel_setPartOfSpeech_1, value);
+  }
+
+  int get number {
+    return _lib._objc_msgSend_709(_id, _lib._sel_number1);
+  }
+
+  set number(int value) {
+    return _lib._objc_msgSend_710(_id, _lib._sel_setNumber_1, value);
+  }
+
+  NSMorphologyCustomPronoun customPronounForLanguage_(NSString? language) {
+    final _ret = _lib._objc_msgSend_711(_id,
+        _lib._sel_customPronounForLanguage_1, language?._id ?? ffi.nullptr);
+    return NSMorphologyCustomPronoun._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool setCustomPronoun_forLanguage_error_(NSMorphologyCustomPronoun? features,
+      NSString? language, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    return _lib._objc_msgSend_712(
+        _id,
+        _lib._sel_setCustomPronoun_forLanguage_error_1,
+        features?._id ?? ffi.nullptr,
+        language?._id ?? ffi.nullptr,
+        error);
+  }
+
+  bool get unspecified {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isUnspecified1);
+  }
+
+  static NSMorphology? getUserMorphology(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_713(
+        _lib._class_NSMorphology1, _lib._sel_userMorphology1);
+    return _ret.address == 0
+        ? null
+        : NSMorphology._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMorphology new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMorphology1, _lib._sel_new1);
+    return NSMorphology._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMorphology alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMorphology1, _lib._sel_alloc1);
+    return NSMorphology._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMorphology1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMorphology1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSMorphology1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMorphology1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMorphology1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSMorphology1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMorphology1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSMorphologyCustomPronoun extends NSObject {
+  NSMorphologyCustomPronoun._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMorphologyCustomPronoun] that points to the same underlying object as [other].
+  static NSMorphologyCustomPronoun castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMorphologyCustomPronoun._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSMorphologyCustomPronoun] that wraps the given raw object pointer.
+  static NSMorphologyCustomPronoun castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMorphologyCustomPronoun._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMorphologyCustomPronoun].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMorphologyCustomPronoun1);
+  }
+
+  static bool isSupportedForLanguage_(
+      PedometerBindings _lib, NSString? language) {
+    return _lib._objc_msgSend_51(_lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_isSupportedForLanguage_1, language?._id ?? ffi.nullptr);
+  }
+
+  static NSArray requiredKeysForLanguage_(
+      PedometerBindings _lib, NSString? language) {
+    final _ret = _lib._objc_msgSend_114(_lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_requiredKeysForLanguage_1, language?._id ?? ffi.nullptr);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get subjectForm {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_subjectForm1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set subjectForm(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setSubjectForm_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSString? get objectForm {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_objectForm1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set objectForm(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setObjectForm_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSString? get possessiveForm {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_possessiveForm1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set possessiveForm(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setPossessiveForm_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSString? get possessiveAdjectiveForm {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_possessiveAdjectiveForm1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set possessiveAdjectiveForm(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setPossessiveAdjectiveForm_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSString? get reflexiveForm {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_reflexiveForm1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set reflexiveForm(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setReflexiveForm_1, value?._id ?? ffi.nullptr);
+  }
+
+  static NSMorphologyCustomPronoun new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMorphologyCustomPronoun1, _lib._sel_new1);
+    return NSMorphologyCustomPronoun._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static NSMorphologyCustomPronoun alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMorphologyCustomPronoun1, _lib._sel_alloc1);
+    return NSMorphologyCustomPronoun._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSMorphologyCustomPronoun1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSPostingStyle {
+  static const int NSPostWhenIdle = 1;
+  static const int NSPostASAP = 2;
+  static const int NSPostNow = 3;
+}
+
+abstract class NSNotificationCoalescing {
+  static const int NSNotificationNoCoalescing = 0;
+  static const int NSNotificationCoalescingOnName = 1;
+  static const int NSNotificationCoalescingOnSender = 2;
+}
+
+abstract class NSOperationQueuePriority {
+  static const int NSOperationQueuePriorityVeryLow = -8;
+  static const int NSOperationQueuePriorityLow = -4;
+  static const int NSOperationQueuePriorityNormal = 0;
+  static const int NSOperationQueuePriorityHigh = 4;
+  static const int NSOperationQueuePriorityVeryHigh = 8;
+}
+
+class NSOperationQueue extends NSObject {
+  NSOperationQueue._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSOperationQueue] that points to the same underlying object as [other].
+  static NSOperationQueue castFrom<T extends _ObjCWrapper>(T other) {
+    return NSOperationQueue._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSOperationQueue] that wraps the given raw object pointer.
+  static NSOperationQueue castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSOperationQueue._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSOperationQueue].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSOperationQueue1);
+  }
+
+  /// @property progress
+  /// @discussion     The `progress` property represents a total progress of the operations executed in the queue. By default NSOperationQueue
+  /// does not report progress until the `totalUnitCount` of the progress is set. When the `totalUnitCount` property of the progress is set the
+  /// queue then opts into participating in progress reporting. When enabled, each operation will contribute 1 unit of completion to the
+  /// overall progress of the queue for operations that are finished by the end of main (operations that override start and do not invoke super
+  /// will not contribute to progress). Special attention to race conditions should be made when updating the `totalUnitCount` of the progress
+  /// as well as care should be taken to avoid 'backwards progress'. For example; when a NSOperationQueue's progress is 5/10, representing 50%
+  /// completed, and there are 90 more operations about to be added and the `totalUnitCount` that would then make the progress report as 5/100
+  /// which represents 5%. In this example it would mean that any progress bar would jump from displaying 50% back to 5%, which might not be
+  /// desirable. In the cases where the `totalUnitCount` needs to be adjusted it is suggested to do this for thread-safety in a barrier by
+  /// using the `addBarrierBlock:` API. This ensures that no un-expected execution state occurs adjusting into a potentially backwards moving
+  /// progress scenario.
+  ///
+  /// @example
+  /// NSOperationQueue *queue = [[NSOperationQueue alloc] init];
+  /// queue.progress.totalUnitCount = 10;
+  NSProgress? get progress {
+    final _ret = _lib._objc_msgSend_467(_id, _lib._sel_progress1);
+    return _ret.address == 0
+        ? null
+        : NSProgress._(_ret, _lib, retain: true, release: true);
+  }
+
+  void addOperation_(NSOperation? op) {
+    _lib._objc_msgSend_714(
+        _id, _lib._sel_addOperation_1, op?._id ?? ffi.nullptr);
+  }
+
+  void addOperations_waitUntilFinished_(NSArray? ops, bool wait) {
+    _lib._objc_msgSend_717(_id, _lib._sel_addOperations_waitUntilFinished_1,
+        ops?._id ?? ffi.nullptr, wait);
+  }
+
+  void addOperationWithBlock_(ObjCBlock_ffiVoid block) {
+    _lib._objc_msgSend_450(_id, _lib._sel_addOperationWithBlock_1, block._id);
+  }
+
+  /// @method addBarrierBlock:
+  /// @param barrier      A block to execute
+  /// @discussion         The `addBarrierBlock:` method executes the block when the NSOperationQueue has finished all enqueued operations and
+  /// prevents any subsequent operations to be executed until the barrier has been completed. This acts similarly to the
+  /// `dispatch_barrier_async` function.
+  void addBarrierBlock_(ObjCBlock_ffiVoid barrier) {
+    _lib._objc_msgSend_450(_id, _lib._sel_addBarrierBlock_1, barrier._id);
+  }
+
+  int get maxConcurrentOperationCount {
+    return _lib._objc_msgSend_70(_id, _lib._sel_maxConcurrentOperationCount1);
+  }
+
+  set maxConcurrentOperationCount(int value) {
+    return _lib._objc_msgSend_575(
+        _id, _lib._sel_setMaxConcurrentOperationCount_1, value);
+  }
+
+  bool get suspended {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isSuspended1);
+  }
+
+  set suspended(bool value) {
+    return _lib._objc_msgSend_445(_id, _lib._sel_setSuspended_1, value);
+  }
+
+  NSString? get name {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_name1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set name(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setName_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get qualityOfService {
+    return _lib._objc_msgSend_460(_id, _lib._sel_qualityOfService1);
+  }
+
+  set qualityOfService(int value) {
+    return _lib._objc_msgSend_461(_id, _lib._sel_setQualityOfService_1, value);
+  }
+
+  dispatch_queue_t get underlyingQueue {
+    return _lib._objc_msgSend_718(_id, _lib._sel_underlyingQueue1);
+  }
+
+  set underlyingQueue(dispatch_queue_t value) {
+    return _lib._objc_msgSend_719(_id, _lib._sel_setUnderlyingQueue_1, value);
+  }
+
+  void cancelAllOperations() {
+    _lib._objc_msgSend_1(_id, _lib._sel_cancelAllOperations1);
+  }
+
+  void waitUntilAllOperationsAreFinished() {
+    _lib._objc_msgSend_1(_id, _lib._sel_waitUntilAllOperationsAreFinished1);
+  }
+
+  static NSOperationQueue? getCurrentQueue(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_720(
+        _lib._class_NSOperationQueue1, _lib._sel_currentQueue1);
+    return _ret.address == 0
+        ? null
+        : NSOperationQueue._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSOperationQueue? getMainQueue(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_720(
+        _lib._class_NSOperationQueue1, _lib._sel_mainQueue1);
+    return _ret.address == 0
+        ? null
+        : NSOperationQueue._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get operations {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_operations1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get operationCount {
+    return _lib._objc_msgSend_10(_id, _lib._sel_operationCount1);
+  }
+
+  static NSOperationQueue new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOperationQueue1, _lib._sel_new1);
+    return NSOperationQueue._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSOperationQueue alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOperationQueue1, _lib._sel_alloc1);
+    return NSOperationQueue._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSOperationQueue1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSOperationQueue1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSOperationQueue1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSOperationQueue1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSOperationQueue1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSOperationQueue1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSOperationQueue1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSOperation extends NSObject {
+  NSOperation._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSOperation] that points to the same underlying object as [other].
+  static NSOperation castFrom<T extends _ObjCWrapper>(T other) {
+    return NSOperation._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSOperation] that wraps the given raw object pointer.
+  static NSOperation castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSOperation._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSOperation].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSOperation1);
+  }
+
+  void start() {
+    _lib._objc_msgSend_1(_id, _lib._sel_start1);
+  }
+
+  void main() {
+    _lib._objc_msgSend_1(_id, _lib._sel_main1);
+  }
+
+  bool get cancelled {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isCancelled1);
+  }
+
+  void cancel() {
+    _lib._objc_msgSend_1(_id, _lib._sel_cancel1);
+  }
+
+  bool get executing {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isExecuting1);
+  }
+
+  bool get finished {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isFinished1);
+  }
+
+  bool get concurrent {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isConcurrent1);
+  }
+
+  bool get asynchronous {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isAsynchronous1);
+  }
+
+  bool get ready {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isReady1);
+  }
+
+  void addDependency_(NSOperation? op) {
+    _lib._objc_msgSend_714(
+        _id, _lib._sel_addDependency_1, op?._id ?? ffi.nullptr);
+  }
+
+  void removeDependency_(NSOperation? op) {
+    _lib._objc_msgSend_714(
+        _id, _lib._sel_removeDependency_1, op?._id ?? ffi.nullptr);
+  }
+
+  NSArray? get dependencies {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_dependencies1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get queuePriority {
+    return _lib._objc_msgSend_715(_id, _lib._sel_queuePriority1);
+  }
+
+  set queuePriority(int value) {
+    return _lib._objc_msgSend_716(_id, _lib._sel_setQueuePriority_1, value);
+  }
+
+  ObjCBlock_ffiVoid get completionBlock {
+    final _ret = _lib._objc_msgSend_476(_id, _lib._sel_completionBlock1);
+    return ObjCBlock_ffiVoid._(_ret, _lib);
+  }
+
+  set completionBlock(ObjCBlock_ffiVoid value) {
+    return _lib._objc_msgSend_477(
+        _id, _lib._sel_setCompletionBlock_1, value._id);
+  }
+
+  void waitUntilFinished() {
+    _lib._objc_msgSend_1(_id, _lib._sel_waitUntilFinished1);
+  }
+
+  double get threadPriority {
+    return _lib._objc_msgSend_146(_id, _lib._sel_threadPriority1);
+  }
+
+  set threadPriority(double value) {
+    return _lib._objc_msgSend_459(_id, _lib._sel_setThreadPriority_1, value);
+  }
+
+  int get qualityOfService {
+    return _lib._objc_msgSend_460(_id, _lib._sel_qualityOfService1);
+  }
+
+  set qualityOfService(int value) {
+    return _lib._objc_msgSend_461(_id, _lib._sel_setQualityOfService_1, value);
+  }
+
+  NSString? get name {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_name1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set name(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setName_1, value?._id ?? ffi.nullptr);
+  }
+
+  static NSOperation new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSOperation1, _lib._sel_new1);
+    return NSOperation._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSOperation alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSOperation1, _lib._sel_alloc1);
+    return NSOperation._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSOperation1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSOperation1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSOperation1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSOperation1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSOperation1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSOperation1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSOperation1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSPointerArray extends NSObject {
+  NSPointerArray._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSPointerArray] that points to the same underlying object as [other].
+  static NSPointerArray castFrom<T extends _ObjCWrapper>(T other) {
+    return NSPointerArray._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSPointerArray] that wraps the given raw object pointer.
+  static NSPointerArray castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSPointerArray._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSPointerArray].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSPointerArray1);
+  }
+
+  NSPointerArray initWithOptions_(int options) {
+    final _ret =
+        _lib._objc_msgSend_647(_id, _lib._sel_initWithOptions_1, options);
+    return NSPointerArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSPointerArray initWithPointerFunctions_(NSPointerFunctions? functions) {
+    final _ret = _lib._objc_msgSend_721(_id,
+        _lib._sel_initWithPointerFunctions_1, functions?._id ?? ffi.nullptr);
+    return NSPointerArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPointerArray pointerArrayWithOptions_(
+      PedometerBindings _lib, int options) {
+    final _ret = _lib._objc_msgSend_722(_lib._class_NSPointerArray1,
+        _lib._sel_pointerArrayWithOptions_1, options);
+    return NSPointerArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPointerArray pointerArrayWithPointerFunctions_(
+      PedometerBindings _lib, NSPointerFunctions? functions) {
+    final _ret = _lib._objc_msgSend_723(
+        _lib._class_NSPointerArray1,
+        _lib._sel_pointerArrayWithPointerFunctions_1,
+        functions?._id ?? ffi.nullptr);
+    return NSPointerArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSPointerFunctions? get pointerFunctions {
+    final _ret = _lib._objc_msgSend_664(_id, _lib._sel_pointerFunctions1);
+    return _ret.address == 0
+        ? null
+        : NSPointerFunctions._(_ret, _lib, retain: true, release: true);
+  }
+
+  ffi.Pointer<ffi.Void> pointerAtIndex_(int index) {
+    return _lib._objc_msgSend_724(_id, _lib._sel_pointerAtIndex_1, index);
+  }
+
+  void addPointer_(ffi.Pointer<ffi.Void> pointer) {
+    _lib._objc_msgSend_47(_id, _lib._sel_addPointer_1, pointer);
+  }
+
+  void removePointerAtIndex_(int index) {
+    _lib._objc_msgSend_391(_id, _lib._sel_removePointerAtIndex_1, index);
+  }
+
+  void insertPointer_atIndex_(ffi.Pointer<ffi.Void> item, int index) {
+    _lib._objc_msgSend_21(_id, _lib._sel_insertPointer_atIndex_1, item, index);
+  }
+
+  void replacePointerAtIndex_withPointer_(
+      int index, ffi.Pointer<ffi.Void> item) {
+    _lib._objc_msgSend_725(
+        _id, _lib._sel_replacePointerAtIndex_withPointer_1, index, item);
+  }
+
+  void compact() {
+    _lib._objc_msgSend_1(_id, _lib._sel_compact1);
+  }
+
+  int get count {
+    return _lib._objc_msgSend_10(_id, _lib._sel_count1);
+  }
+
+  set count(int value) {
+    return _lib._objc_msgSend_435(_id, _lib._sel_setCount_1, value);
+  }
+
+  static NSPointerArray strongObjectsPointerArray(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_726(
+        _lib._class_NSPointerArray1, _lib._sel_strongObjectsPointerArray1);
+    return NSPointerArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPointerArray weakObjectsPointerArray(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_726(
+        _lib._class_NSPointerArray1, _lib._sel_weakObjectsPointerArray1);
+    return NSPointerArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get allObjects {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_allObjects1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSPointerArray new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSPointerArray1, _lib._sel_new1);
+    return NSPointerArray._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSPointerArray alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSPointerArray1, _lib._sel_alloc1);
+    return NSPointerArray._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSPointerArray1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSPointerArray1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSPointerArray1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSPointerArray1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSPointerArray1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSPointerArray1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSPointerArray1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSMachPortOptions {
+  static const int NSMachPortDeallocateNone = 0;
+  static const int NSMachPortDeallocateSendRight = 1;
+  static const int NSMachPortDeallocateReceiveRight = 2;
+}
+
+final class NSOperatingSystemVersion extends ffi.Struct {
+  @NSInteger()
+  external int majorVersion;
+
+  @NSInteger()
+  external int minorVersion;
+
+  @NSInteger()
+  external int patchVersion;
+}
+
+abstract class NSActivityOptions {
+  static const int NSActivityIdleDisplaySleepDisabled = 1099511627776;
+  static const int NSActivityIdleSystemSleepDisabled = 1048576;
+  static const int NSActivitySuddenTerminationDisabled = 16384;
+  static const int NSActivityAutomaticTerminationDisabled = 32768;
+  static const int NSActivityAnimationTrackingEnabled = 35184372088832;
+  static const int NSActivityTrackingEnabled = 70368744177664;
+  static const int NSActivityUserInitiated = 16777215;
+  static const int NSActivityUserInitiatedAllowingIdleSystemSleep = 15728639;
+  static const int NSActivityBackground = 255;
+  static const int NSActivityLatencyCritical = 1095216660480;
+  static const int NSActivityUserInteractive = 1095233437695;
+}
+
+class NSProcessInfo extends NSObject {
+  NSProcessInfo._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSProcessInfo] that points to the same underlying object as [other].
+  static NSProcessInfo castFrom<T extends _ObjCWrapper>(T other) {
+    return NSProcessInfo._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSProcessInfo] that wraps the given raw object pointer.
+  static NSProcessInfo castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSProcessInfo._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSProcessInfo].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSProcessInfo1);
+  }
+
+  static NSProcessInfo? getProcessInfo(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_727(
+        _lib._class_NSProcessInfo1, _lib._sel_processInfo1);
+    return _ret.address == 0
+        ? null
+        : NSProcessInfo._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary? get environment {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_environment1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get arguments {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_arguments1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get hostName {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_hostName1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get processName {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_processName1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set processName(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setProcessName_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get processIdentifier {
+    return _lib._objc_msgSend_176(_id, _lib._sel_processIdentifier1);
+  }
+
+  NSString? get globallyUniqueString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_globallyUniqueString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int operatingSystem() {
+    return _lib._objc_msgSend_10(_id, _lib._sel_operatingSystem1);
+  }
+
+  NSString operatingSystemName() {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_operatingSystemName1);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get operatingSystemVersionString {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_operatingSystemVersionString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  void getOperatingSystemVersion(ffi.Pointer<NSOperatingSystemVersion> stret) {
+    _lib._objc_msgSend_728(stret, _id, _lib._sel_operatingSystemVersion1);
+  }
+
+  int get processorCount {
+    return _lib._objc_msgSend_10(_id, _lib._sel_processorCount1);
+  }
+
+  int get activeProcessorCount {
+    return _lib._objc_msgSend_10(_id, _lib._sel_activeProcessorCount1);
+  }
+
+  int get physicalMemory {
+    return _lib._objc_msgSend_145(_id, _lib._sel_physicalMemory1);
+  }
+
+  bool isOperatingSystemAtLeastVersion_(NSOperatingSystemVersion version) {
+    return _lib._objc_msgSend_729(
+        _id, _lib._sel_isOperatingSystemAtLeastVersion_1, version);
+  }
+
+  double get systemUptime {
+    return _lib._objc_msgSend_146(_id, _lib._sel_systemUptime1);
+  }
+
+  void disableSuddenTermination() {
+    _lib._objc_msgSend_1(_id, _lib._sel_disableSuddenTermination1);
+  }
+
+  void enableSuddenTermination() {
+    _lib._objc_msgSend_1(_id, _lib._sel_enableSuddenTermination1);
+  }
+
+  void disableAutomaticTermination_(NSString? reason) {
+    _lib._objc_msgSend_187(_id, _lib._sel_disableAutomaticTermination_1,
+        reason?._id ?? ffi.nullptr);
+  }
+
+  void enableAutomaticTermination_(NSString? reason) {
+    _lib._objc_msgSend_187(_id, _lib._sel_enableAutomaticTermination_1,
+        reason?._id ?? ffi.nullptr);
+  }
+
+  bool get automaticTerminationSupportEnabled {
+    return _lib._objc_msgSend_12(
+        _id, _lib._sel_automaticTerminationSupportEnabled1);
+  }
+
+  set automaticTerminationSupportEnabled(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAutomaticTerminationSupportEnabled_1, value);
+  }
+
+  NSObject beginActivityWithOptions_reason_(int options, NSString? reason) {
+    final _ret = _lib._objc_msgSend_730(
+        _id,
+        _lib._sel_beginActivityWithOptions_reason_1,
+        options,
+        reason?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  void endActivity_(NSObject? activity) {
+    _lib._objc_msgSend_15(
+        _id, _lib._sel_endActivity_1, activity?._id ?? ffi.nullptr);
+  }
+
+  void performActivityWithOptions_reason_usingBlock_(
+      int options, NSString? reason, ObjCBlock_ffiVoid block) {
+    _lib._objc_msgSend_731(
+        _id,
+        _lib._sel_performActivityWithOptions_reason_usingBlock_1,
+        options,
+        reason?._id ?? ffi.nullptr,
+        block._id);
+  }
+
+  void performExpiringActivityWithReason_usingBlock_(
+      NSString? reason, ObjCBlock_ffiVoid_bool block) {
+    _lib._objc_msgSend_732(
+        _id,
+        _lib._sel_performExpiringActivityWithReason_usingBlock_1,
+        reason?._id ?? ffi.nullptr,
+        block._id);
+  }
+
+  NSString? get userName {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_userName1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get fullUserName {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_fullUserName1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get thermalState {
+    return _lib._objc_msgSend_733(_id, _lib._sel_thermalState1);
+  }
+
+  bool get lowPowerModeEnabled {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isLowPowerModeEnabled1);
+  }
+
+  bool get macCatalystApp {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isMacCatalystApp1);
+  }
+
+  bool get iOSAppOnMac {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isiOSAppOnMac1);
+  }
+
+  static NSProcessInfo new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSProcessInfo1, _lib._sel_new1);
+    return NSProcessInfo._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSProcessInfo alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSProcessInfo1, _lib._sel_alloc1);
+    return NSProcessInfo._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSProcessInfo1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSProcessInfo1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSProcessInfo1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSProcessInfo1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSProcessInfo1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSProcessInfo1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSProcessInfo1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_bool_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, bool arg0) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function(ffi.Bool arg0)>>()
+      .asFunction<void Function(bool arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_bool_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_bool_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_bool_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_bool_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_bool_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, bool arg0) {
+  (_ObjCBlock_ffiVoid_bool_closureRegistry[block.ref.target.address] as void
+      Function(bool))(arg0);
+}
+
+class ObjCBlock_ffiVoid_bool extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_bool._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_bool.fromFunctionPointer(PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Bool arg0)>> ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block, ffi.Bool arg0)>(
+                        _ObjCBlock_ffiVoid_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_bool.fromFunction(
+      PedometerBindings lib, void Function(bool arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block, ffi.Bool arg0)>(
+                        _ObjCBlock_ffiVoid_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_bool_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_bool.listener(
+      PedometerBindings lib, void Function(bool arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Bool arg0)>.listener(
+                        _ObjCBlock_ffiVoid_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_bool_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(ffi.Pointer<_ObjCBlock> block, ffi.Bool arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(bool arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block, ffi.Bool arg0)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block, bool arg0)>()(_id, arg0);
+  }
+}
+
+abstract class NSProcessInfoThermalState {
+  static const int NSProcessInfoThermalStateNominal = 0;
+  static const int NSProcessInfoThermalStateFair = 1;
+  static const int NSProcessInfoThermalStateSerious = 2;
+  static const int NSProcessInfoThermalStateCritical = 3;
+}
+
+abstract class NSTextCheckingType {
+  static const int NSTextCheckingTypeOrthography = 1;
+  static const int NSTextCheckingTypeSpelling = 2;
+  static const int NSTextCheckingTypeGrammar = 4;
+  static const int NSTextCheckingTypeDate = 8;
+  static const int NSTextCheckingTypeAddress = 16;
+  static const int NSTextCheckingTypeLink = 32;
+  static const int NSTextCheckingTypeQuote = 64;
+  static const int NSTextCheckingTypeDash = 128;
+  static const int NSTextCheckingTypeReplacement = 256;
+  static const int NSTextCheckingTypeCorrection = 512;
+  static const int NSTextCheckingTypeRegularExpression = 1024;
+  static const int NSTextCheckingTypePhoneNumber = 2048;
+  static const int NSTextCheckingTypeTransitInformation = 4096;
+}
+
+class NSTextCheckingResult extends NSObject {
+  NSTextCheckingResult._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSTextCheckingResult] that points to the same underlying object as [other].
+  static NSTextCheckingResult castFrom<T extends _ObjCWrapper>(T other) {
+    return NSTextCheckingResult._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSTextCheckingResult] that wraps the given raw object pointer.
+  static NSTextCheckingResult castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSTextCheckingResult._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSTextCheckingResult].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSTextCheckingResult1);
+  }
+
+  int get resultType {
+    return _lib._objc_msgSend_734(_id, _lib._sel_resultType1);
+  }
+
+  NSRange get range {
+    return _lib._objc_msgSend_49(_id, _lib._sel_range1);
+  }
+
+  NSOrthography? get orthography {
+    final _ret = _lib._objc_msgSend_735(_id, _lib._sel_orthography1);
+    return _ret.address == 0
+        ? null
+        : NSOrthography._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get grammarDetails {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_grammarDetails1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate? get date {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_date1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSTimeZone? get timeZone {
+    final _ret = _lib._objc_msgSend_561(_id, _lib._sel_timeZone1);
+    return _ret.address == 0
+        ? null
+        : NSTimeZone._(_ret, _lib, retain: true, release: true);
+  }
+
+  double get duration {
+    return _lib._objc_msgSend_146(_id, _lib._sel_duration1);
+  }
+
+  NSDictionary? get components {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_components1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURL? get URL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_URL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get replacementString {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_replacementString1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get alternativeStrings {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_alternativeStrings1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSRegularExpression? get regularExpression {
+    final _ret = _lib._objc_msgSend_747(_id, _lib._sel_regularExpression1);
+    return _ret.address == 0
+        ? null
+        : NSRegularExpression._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get phoneNumber {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_phoneNumber1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get numberOfRanges {
+    return _lib._objc_msgSend_10(_id, _lib._sel_numberOfRanges1);
+  }
+
+  NSRange rangeAtIndex_(int idx) {
+    return _lib._objc_msgSend_277(_id, _lib._sel_rangeAtIndex_1, idx);
+  }
+
+  NSRange rangeWithName_(NSString? name) {
+    return _lib._objc_msgSend_256(
+        _id, _lib._sel_rangeWithName_1, name?._id ?? ffi.nullptr);
+  }
+
+  NSTextCheckingResult resultByAdjustingRangesWithOffset_(int offset) {
+    final _ret = _lib._objc_msgSend_748(
+        _id, _lib._sel_resultByAdjustingRangesWithOffset_1, offset);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDictionary? get addressComponents {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_addressComponents1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult orthographyCheckingResultWithRange_orthography_(
+      PedometerBindings _lib, NSRange range, NSOrthography? orthography) {
+    final _ret = _lib._objc_msgSend_749(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_orthographyCheckingResultWithRange_orthography_1,
+        range,
+        orthography?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult spellCheckingResultWithRange_(
+      PedometerBindings _lib, NSRange range) {
+    final _ret = _lib._objc_msgSend_750(_lib._class_NSTextCheckingResult1,
+        _lib._sel_spellCheckingResultWithRange_1, range);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult grammarCheckingResultWithRange_details_(
+      PedometerBindings _lib, NSRange range, NSArray? details) {
+    final _ret = _lib._objc_msgSend_751(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_grammarCheckingResultWithRange_details_1,
+        range,
+        details?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult dateCheckingResultWithRange_date_(
+      PedometerBindings _lib, NSRange range, NSDate? date) {
+    final _ret = _lib._objc_msgSend_752(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_dateCheckingResultWithRange_date_1,
+        range,
+        date?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult
+      dateCheckingResultWithRange_date_timeZone_duration_(
+          PedometerBindings _lib,
+          NSRange range,
+          NSDate? date,
+          NSTimeZone? timeZone,
+          double duration) {
+    final _ret = _lib._objc_msgSend_753(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_dateCheckingResultWithRange_date_timeZone_duration_1,
+        range,
+        date?._id ?? ffi.nullptr,
+        timeZone?._id ?? ffi.nullptr,
+        duration);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult addressCheckingResultWithRange_components_(
+      PedometerBindings _lib, NSRange range, NSDictionary? components) {
+    final _ret = _lib._objc_msgSend_754(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_addressCheckingResultWithRange_components_1,
+        range,
+        components?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult linkCheckingResultWithRange_URL_(
+      PedometerBindings _lib, NSRange range, NSURL? url) {
+    final _ret = _lib._objc_msgSend_755(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_linkCheckingResultWithRange_URL_1,
+        range,
+        url?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult quoteCheckingResultWithRange_replacementString_(
+      PedometerBindings _lib, NSRange range, NSString? replacementString) {
+    final _ret = _lib._objc_msgSend_756(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_quoteCheckingResultWithRange_replacementString_1,
+        range,
+        replacementString?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult dashCheckingResultWithRange_replacementString_(
+      PedometerBindings _lib, NSRange range, NSString? replacementString) {
+    final _ret = _lib._objc_msgSend_756(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_dashCheckingResultWithRange_replacementString_1,
+        range,
+        replacementString?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult
+      replacementCheckingResultWithRange_replacementString_(
+          PedometerBindings _lib, NSRange range, NSString? replacementString) {
+    final _ret = _lib._objc_msgSend_756(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_replacementCheckingResultWithRange_replacementString_1,
+        range,
+        replacementString?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult
+      correctionCheckingResultWithRange_replacementString_(
+          PedometerBindings _lib, NSRange range, NSString? replacementString) {
+    final _ret = _lib._objc_msgSend_756(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_correctionCheckingResultWithRange_replacementString_1,
+        range,
+        replacementString?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult
+      correctionCheckingResultWithRange_replacementString_alternativeStrings_(
+          PedometerBindings _lib,
+          NSRange range,
+          NSString? replacementString,
+          NSArray? alternativeStrings) {
+    final _ret = _lib._objc_msgSend_757(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_correctionCheckingResultWithRange_replacementString_alternativeStrings_1,
+        range,
+        replacementString?._id ?? ffi.nullptr,
+        alternativeStrings?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult
+      regularExpressionCheckingResultWithRanges_count_regularExpression_(
+          PedometerBindings _lib,
+          NSRangePointer ranges,
+          int count,
+          NSRegularExpression? regularExpression) {
+    final _ret = _lib._objc_msgSend_758(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_regularExpressionCheckingResultWithRanges_count_regularExpression_1,
+        ranges,
+        count,
+        regularExpression?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult phoneNumberCheckingResultWithRange_phoneNumber_(
+      PedometerBindings _lib, NSRange range, NSString? phoneNumber) {
+    final _ret = _lib._objc_msgSend_756(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_phoneNumberCheckingResultWithRange_phoneNumber_1,
+        range,
+        phoneNumber?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult
+      transitInformationCheckingResultWithRange_components_(
+          PedometerBindings _lib, NSRange range, NSDictionary? components) {
+    final _ret = _lib._objc_msgSend_754(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_transitInformationCheckingResultWithRange_components_1,
+        range,
+        components?._id ?? ffi.nullptr);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSTextCheckingResult new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSTextCheckingResult1, _lib._sel_new1);
+    return NSTextCheckingResult._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSTextCheckingResult alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSTextCheckingResult1, _lib._sel_alloc1);
+    return NSTextCheckingResult._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSTextCheckingResult1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSTextCheckingResult1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSTextCheckingResult1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSTextCheckingResult1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSTextCheckingResult1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSRegularExpression extends NSObject {
+  NSRegularExpression._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSRegularExpression] that points to the same underlying object as [other].
+  static NSRegularExpression castFrom<T extends _ObjCWrapper>(T other) {
+    return NSRegularExpression._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSRegularExpression] that wraps the given raw object pointer.
+  static NSRegularExpression castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSRegularExpression._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSRegularExpression].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSRegularExpression1);
+  }
+
+  static NSRegularExpression regularExpressionWithPattern_options_error_(
+      PedometerBindings _lib,
+      NSString? pattern,
+      int options,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_736(
+        _lib._class_NSRegularExpression1,
+        _lib._sel_regularExpressionWithPattern_options_error_1,
+        pattern?._id ?? ffi.nullptr,
+        options,
+        error);
+    return NSRegularExpression._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSRegularExpression initWithPattern_options_error_(NSString? pattern,
+      int options, ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_737(
+        _id,
+        _lib._sel_initWithPattern_options_error_1,
+        pattern?._id ?? ffi.nullptr,
+        options,
+        error);
+    return NSRegularExpression._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get pattern {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_pattern1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get options {
+    return _lib._objc_msgSend_738(_id, _lib._sel_options1);
+  }
+
+  int get numberOfCaptureGroups {
+    return _lib._objc_msgSend_10(_id, _lib._sel_numberOfCaptureGroups1);
+  }
+
+  static NSString escapedPatternForString_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_56(_lib._class_NSRegularExpression1,
+        _lib._sel_escapedPatternForString_1, string?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  void enumerateMatchesInString_options_range_usingBlock_(
+      NSString? string,
+      int options,
+      NSRange range,
+      ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool block) {
+    _lib._objc_msgSend_739(
+        _id,
+        _lib._sel_enumerateMatchesInString_options_range_usingBlock_1,
+        string?._id ?? ffi.nullptr,
+        options,
+        range,
+        block._id);
+  }
+
+  NSArray matchesInString_options_range_(
+      NSString? string, int options, NSRange range) {
+    final _ret = _lib._objc_msgSend_740(
+        _id,
+        _lib._sel_matchesInString_options_range_1,
+        string?._id ?? ffi.nullptr,
+        options,
+        range);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  int numberOfMatchesInString_options_range_(
+      NSString? string, int options, NSRange range) {
+    return _lib._objc_msgSend_741(
+        _id,
+        _lib._sel_numberOfMatchesInString_options_range_1,
+        string?._id ?? ffi.nullptr,
+        options,
+        range);
+  }
+
+  NSTextCheckingResult firstMatchInString_options_range_(
+      NSString? string, int options, NSRange range) {
+    final _ret = _lib._objc_msgSend_742(
+        _id,
+        _lib._sel_firstMatchInString_options_range_1,
+        string?._id ?? ffi.nullptr,
+        options,
+        range);
+    return NSTextCheckingResult._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSRange rangeOfFirstMatchInString_options_range_(
+      NSString? string, int options, NSRange range) {
+    return _lib._objc_msgSend_743(
+        _id,
+        _lib._sel_rangeOfFirstMatchInString_options_range_1,
+        string?._id ?? ffi.nullptr,
+        options,
+        range);
+  }
+
+  NSString stringByReplacingMatchesInString_options_range_withTemplate_(
+      NSString? string, int options, NSRange range, NSString? templ) {
+    final _ret = _lib._objc_msgSend_744(
+        _id,
+        _lib._sel_stringByReplacingMatchesInString_options_range_withTemplate_1,
+        string?._id ?? ffi.nullptr,
+        options,
+        range,
+        templ?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int replaceMatchesInString_options_range_withTemplate_(
+      NSMutableString? string, int options, NSRange range, NSString? templ) {
+    return _lib._objc_msgSend_745(
+        _id,
+        _lib._sel_replaceMatchesInString_options_range_withTemplate_1,
+        string?._id ?? ffi.nullptr,
+        options,
+        range,
+        templ?._id ?? ffi.nullptr);
+  }
+
+  NSString replacementStringForResult_inString_offset_template_(
+      NSTextCheckingResult? result,
+      NSString? string,
+      int offset,
+      NSString? templ) {
+    final _ret = _lib._objc_msgSend_746(
+        _id,
+        _lib._sel_replacementStringForResult_inString_offset_template_1,
+        result?._id ?? ffi.nullptr,
+        string?._id ?? ffi.nullptr,
+        offset,
+        templ?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSString escapedTemplateForString_(
+      PedometerBindings _lib, NSString? string) {
+    final _ret = _lib._objc_msgSend_56(_lib._class_NSRegularExpression1,
+        _lib._sel_escapedTemplateForString_1, string?._id ?? ffi.nullptr);
+    return NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSRegularExpression new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSRegularExpression1, _lib._sel_new1);
+    return NSRegularExpression._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSRegularExpression alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSRegularExpression1, _lib._sel_alloc1);
+    return NSRegularExpression._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSRegularExpression1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSRegularExpression1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSRegularExpression1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSRegularExpression1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSRegularExpression1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSRegularExpression1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSRegularExpression1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSRegularExpressionOptions {
+  static const int NSRegularExpressionCaseInsensitive = 1;
+  static const int NSRegularExpressionAllowCommentsAndWhitespace = 2;
+  static const int NSRegularExpressionIgnoreMetacharacters = 4;
+  static const int NSRegularExpressionDotMatchesLineSeparators = 8;
+  static const int NSRegularExpressionAnchorsMatchLines = 16;
+  static const int NSRegularExpressionUseUnixLineSeparators = 32;
+  static const int NSRegularExpressionUseUnicodeWordBoundaries = 64;
+}
+
+abstract class NSMatchingOptions {
+  static const int NSMatchingReportProgress = 1;
+  static const int NSMatchingReportCompletion = 2;
+  static const int NSMatchingAnchored = 4;
+  static const int NSMatchingWithTransparentBounds = 8;
+  static const int NSMatchingWithoutAnchoringBounds = 16;
+}
+
+void
+    _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        ffi.Pointer<ObjCObject> arg0,
+        int arg1,
+        ffi.Pointer<ffi.Bool> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, ffi.Int32 arg1,
+                  ffi.Pointer<ffi.Bool> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureRegistry[
+      id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void
+    _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        ffi.Pointer<ObjCObject> arg0,
+        int arg1,
+        ffi.Pointer<ffi.Bool> arg2) {
+  (_ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, int,
+          ffi.Pointer<ffi.Bool>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Int32 arg1, ffi.Pointer<ffi.Bool> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Int32 arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Int32 arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>(
+                        _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, int arg1,
+              ffi.Pointer<ffi.Bool> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Int32 arg1,
+                                ffi.Pointer<ffi.Bool> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Int32 arg1,
+          ffi.Pointer<ffi.Bool> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ObjCObject> arg0, int arg1, ffi.Pointer<ffi.Bool> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Int32 arg1,
+                    ffi.Pointer<ffi.Bool> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                int arg1,
+                ffi.Pointer<ffi.Bool> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+abstract class NSMatchingFlags {
+  static const int NSMatchingProgress = 1;
+  static const int NSMatchingCompleted = 2;
+  static const int NSMatchingHitEnd = 4;
+  static const int NSMatchingRequiredEnd = 8;
+  static const int NSMatchingInternalError = 16;
+}
+
+typedef NSTextCheckingKey = ffi.Pointer<ObjCObject>;
+
+abstract class NSStreamEvent {
+  static const int NSStreamEventNone = 0;
+  static const int NSStreamEventOpenCompleted = 1;
+  static const int NSStreamEventHasBytesAvailable = 2;
+  static const int NSStreamEventHasSpaceAvailable = 4;
+  static const int NSStreamEventErrorOccurred = 8;
+  static const int NSStreamEventEndEncountered = 16;
+}
+
+typedef NSStreamSocketSecurityLevel = ffi.Pointer<ObjCObject>;
+typedef NSStreamSOCKSProxyConfiguration = ffi.Pointer<ObjCObject>;
+typedef NSStreamSOCKSProxyVersion = ffi.Pointer<ObjCObject>;
+typedef NSStreamNetworkServiceTypeValue = ffi.Pointer<ObjCObject>;
+
+/// !
+/// @enum NSURLCacheStoragePolicy
+///
+/// @discussion The NSURLCacheStoragePolicy enum defines constants that
+/// can be used to specify the type of storage that is allowable for an
+/// NSCachedURLResponse object that is to be stored in an NSURLCache.
+///
+/// @constant NSURLCacheStorageAllowed Specifies that storage in an
+/// NSURLCache is allowed without restriction.
+///
+/// @constant NSURLCacheStorageAllowedInMemoryOnly Specifies that
+/// storage in an NSURLCache is allowed; however storage should be
+/// done in memory only, no disk storage should be done.
+///
+/// @constant NSURLCacheStorageNotAllowed Specifies that storage in an
+/// NSURLCache is not allowed in any fashion, either in memory or on
+/// disk.
+abstract class NSURLCacheStoragePolicy {
+  static const int NSURLCacheStorageAllowed = 0;
+  static const int NSURLCacheStorageAllowedInMemoryOnly = 1;
+  static const int NSURLCacheStorageNotAllowed = 2;
+}
+
+class NSURLCache extends NSObject {
+  NSURLCache._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLCache] that points to the same underlying object as [other].
+  static NSURLCache castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLCache._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSURLCache] that wraps the given raw object pointer.
+  static NSURLCache castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLCache._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLCache].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURLCache1);
+  }
+
+  /// !
+  /// @property sharedURLCache
+  /// @abstract Returns the shared NSURLCache instance or
+  /// sets the NSURLCache instance shared by all clients of
+  /// the current process. This will be the new object returned when
+  /// calls to the <tt>sharedURLCache</tt> method are made.
+  /// @discussion Unless set explicitly through a call to
+  /// <tt>+setSharedURLCache:</tt>, this method returns an NSURLCache
+  /// instance created with the following default values:
+  /// <ul>
+  /// <li>Memory capacity: 4 megabytes (4 * 1024 * 1024 bytes)
+  /// <li>Disk capacity: 20 megabytes (20 * 1024 * 1024 bytes)
+  /// <li>Disk path: <nobr>(user home directory)/Library/Caches/(application bundle id)</nobr>
+  /// </ul>
+  /// <p>Users who do not have special caching requirements or
+  /// constraints should find the default shared cache instance
+  /// acceptable. If this default shared cache instance is not
+  /// acceptable, <tt>+setSharedURLCache:</tt> can be called to set a
+  /// different NSURLCache instance to be returned from this method.
+  /// Callers should take care to ensure that the setter is called
+  /// at a time when no other caller has a reference to the previously-set
+  /// shared URL cache. This is to prevent storing cache data from
+  /// becoming unexpectedly unretrievable.
+  /// @result the shared NSURLCache instance.
+  static NSURLCache? getSharedURLCache(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_759(
+        _lib._class_NSURLCache1, _lib._sel_sharedURLCache1);
+    return _ret.address == 0
+        ? null
+        : NSURLCache._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @property sharedURLCache
+  /// @abstract Returns the shared NSURLCache instance or
+  /// sets the NSURLCache instance shared by all clients of
+  /// the current process. This will be the new object returned when
+  /// calls to the <tt>sharedURLCache</tt> method are made.
+  /// @discussion Unless set explicitly through a call to
+  /// <tt>+setSharedURLCache:</tt>, this method returns an NSURLCache
+  /// instance created with the following default values:
+  /// <ul>
+  /// <li>Memory capacity: 4 megabytes (4 * 1024 * 1024 bytes)
+  /// <li>Disk capacity: 20 megabytes (20 * 1024 * 1024 bytes)
+  /// <li>Disk path: <nobr>(user home directory)/Library/Caches/(application bundle id)</nobr>
+  /// </ul>
+  /// <p>Users who do not have special caching requirements or
+  /// constraints should find the default shared cache instance
+  /// acceptable. If this default shared cache instance is not
+  /// acceptable, <tt>+setSharedURLCache:</tt> can be called to set a
+  /// different NSURLCache instance to be returned from this method.
+  /// Callers should take care to ensure that the setter is called
+  /// at a time when no other caller has a reference to the previously-set
+  /// shared URL cache. This is to prevent storing cache data from
+  /// becoming unexpectedly unretrievable.
+  /// @result the shared NSURLCache instance.
+  static void setSharedURLCache(PedometerBindings _lib, NSURLCache? value) {
+    return _lib._objc_msgSend_760(_lib._class_NSURLCache1,
+        _lib._sel_setSharedURLCache_1, value?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method initWithMemoryCapacity:diskCapacity:diskPath:
+  /// @abstract Initializes an NSURLCache with the given capacity and
+  /// path.
+  /// @discussion The returned NSURLCache is backed by disk, so
+  /// developers can be more liberal with space when choosing the
+  /// capacity for this kind of cache. A disk cache measured in the tens
+  /// of megabytes should be acceptable in most cases.
+  /// @param memoryCapacity the capacity, measured in bytes, for the cache in memory.
+  /// @param diskCapacity the capacity, measured in bytes, for the cache on disk.
+  /// @param path the path on disk where the cache data is stored.
+  /// @result an initialized NSURLCache, with the given capacity, backed
+  /// by disk.
+  NSURLCache initWithMemoryCapacity_diskCapacity_diskPath_(
+      int memoryCapacity, int diskCapacity, NSString? path) {
+    final _ret = _lib._objc_msgSend_761(
+        _id,
+        _lib._sel_initWithMemoryCapacity_diskCapacity_diskPath_1,
+        memoryCapacity,
+        diskCapacity,
+        path?._id ?? ffi.nullptr);
+    return NSURLCache._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method initWithMemoryCapacity:diskCapacity:directoryURL:
+  /// @abstract Initializes an NSURLCache with the given capacity and directory.
+  /// @param memoryCapacity the capacity, measured in bytes, for the cache in memory. Or 0 to disable memory cache.
+  /// @param diskCapacity the capacity, measured in bytes, for the cache on disk. Or 0 to disable disk cache.
+  /// @param directoryURL the path to a directory on disk where the cache data is stored. Or nil for default directory.
+  /// @result an initialized NSURLCache, with the given capacity, optionally backed by disk.
+  NSURLCache initWithMemoryCapacity_diskCapacity_directoryURL_(
+      int memoryCapacity, int diskCapacity, NSURL? directoryURL) {
+    final _ret = _lib._objc_msgSend_762(
+        _id,
+        _lib._sel_initWithMemoryCapacity_diskCapacity_directoryURL_1,
+        memoryCapacity,
+        diskCapacity,
+        directoryURL?._id ?? ffi.nullptr);
+    return NSURLCache._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method cachedResponseForRequest:
+  /// @abstract Returns the NSCachedURLResponse stored in the cache with
+  /// the given request.
+  /// @discussion The method returns nil if there is no
+  /// NSCachedURLResponse stored using the given request.
+  /// @param request the NSURLRequest to use as a key for the lookup.
+  /// @result The NSCachedURLResponse stored in the cache with the given
+  /// request, or nil if there is no NSCachedURLResponse stored with the
+  /// given request.
+  NSCachedURLResponse cachedResponseForRequest_(NSURLRequest? request) {
+    final _ret = _lib._objc_msgSend_766(
+        _id, _lib._sel_cachedResponseForRequest_1, request?._id ?? ffi.nullptr);
+    return NSCachedURLResponse._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method storeCachedResponse:forRequest:
+  /// @abstract Stores the given NSCachedURLResponse in the cache using
+  /// the given request.
+  /// @param cachedResponse The cached response to store.
+  /// @param request the NSURLRequest to use as a key for the storage.
+  void storeCachedResponse_forRequest_(
+      NSCachedURLResponse? cachedResponse, NSURLRequest? request) {
+    _lib._objc_msgSend_767(_id, _lib._sel_storeCachedResponse_forRequest_1,
+        cachedResponse?._id ?? ffi.nullptr, request?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method removeCachedResponseForRequest:
+  /// @abstract Removes the NSCachedURLResponse from the cache that is
+  /// stored using the given request.
+  /// @discussion No action is taken if there is no NSCachedURLResponse
+  /// stored with the given request.
+  /// @param request the NSURLRequest to use as a key for the lookup.
+  void removeCachedResponseForRequest_(NSURLRequest? request) {
+    _lib._objc_msgSend_768(_id, _lib._sel_removeCachedResponseForRequest_1,
+        request?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method removeAllCachedResponses
+  /// @abstract Clears the given cache, removing all NSCachedURLResponse
+  /// objects that it stores.
+  void removeAllCachedResponses() {
+    _lib._objc_msgSend_1(_id, _lib._sel_removeAllCachedResponses1);
+  }
+
+  /// !
+  /// @method removeCachedResponsesSince:
+  /// @abstract Clears the given cache of any cached responses since the provided date.
+  void removeCachedResponsesSinceDate_(NSDate? date) {
+    _lib._objc_msgSend_457(_id, _lib._sel_removeCachedResponsesSinceDate_1,
+        date?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract In-memory capacity of the receiver.
+  /// @discussion At the time this call is made, the in-memory cache will truncate its contents to the size given, if necessary.
+  /// @result The in-memory capacity, measured in bytes, for the receiver.
+  int get memoryCapacity {
+    return _lib._objc_msgSend_10(_id, _lib._sel_memoryCapacity1);
+  }
+
+  /// !
+  /// @abstract In-memory capacity of the receiver.
+  /// @discussion At the time this call is made, the in-memory cache will truncate its contents to the size given, if necessary.
+  /// @result The in-memory capacity, measured in bytes, for the receiver.
+  set memoryCapacity(int value) {
+    return _lib._objc_msgSend_435(_id, _lib._sel_setMemoryCapacity_1, value);
+  }
+
+  /// !
+  /// @abstract The on-disk capacity of the receiver.
+  /// @discussion The on-disk capacity, measured in bytes, for the receiver. On mutation the on-disk cache will truncate its contents to the size given, if necessary.
+  int get diskCapacity {
+    return _lib._objc_msgSend_10(_id, _lib._sel_diskCapacity1);
+  }
+
+  /// !
+  /// @abstract The on-disk capacity of the receiver.
+  /// @discussion The on-disk capacity, measured in bytes, for the receiver. On mutation the on-disk cache will truncate its contents to the size given, if necessary.
+  set diskCapacity(int value) {
+    return _lib._objc_msgSend_435(_id, _lib._sel_setDiskCapacity_1, value);
+  }
+
+  /// !
+  /// @abstract Returns the current amount of space consumed by the
+  /// in-memory cache of the receiver.
+  /// @discussion This size, measured in bytes, indicates the current
+  /// usage of the in-memory cache.
+  /// @result the current usage of the in-memory cache of the receiver.
+  int get currentMemoryUsage {
+    return _lib._objc_msgSend_10(_id, _lib._sel_currentMemoryUsage1);
+  }
+
+  /// !
+  /// @abstract Returns the current amount of space consumed by the
+  /// on-disk cache of the receiver.
+  /// @discussion This size, measured in bytes, indicates the current
+  /// usage of the on-disk cache.
+  /// @result the current usage of the on-disk cache of the receiver.
+  int get currentDiskUsage {
+    return _lib._objc_msgSend_10(_id, _lib._sel_currentDiskUsage1);
+  }
+
+  void storeCachedResponse_forDataTask_(
+      NSCachedURLResponse? cachedResponse, NSURLSessionDataTask? dataTask) {
+    _lib._objc_msgSend_769(_id, _lib._sel_storeCachedResponse_forDataTask_1,
+        cachedResponse?._id ?? ffi.nullptr, dataTask?._id ?? ffi.nullptr);
+  }
+
+  void getCachedResponseForDataTask_completionHandler_(
+      NSURLSessionDataTask? dataTask,
+      ObjCBlock_ffiVoid_NSCachedURLResponse completionHandler) {
+    _lib._objc_msgSend_770(
+        _id,
+        _lib._sel_getCachedResponseForDataTask_completionHandler_1,
+        dataTask?._id ?? ffi.nullptr,
+        completionHandler._id);
+  }
+
+  void removeCachedResponseForDataTask_(NSURLSessionDataTask? dataTask) {
+    _lib._objc_msgSend_771(_id, _lib._sel_removeCachedResponseForDataTask_1,
+        dataTask?._id ?? ffi.nullptr);
+  }
+
+  static NSURLCache new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLCache1, _lib._sel_new1);
+    return NSURLCache._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLCache alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLCache1, _lib._sel_alloc1);
+    return NSURLCache._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLCache1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLCache1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSURLCache1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLCache1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLCache1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSURLCache1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLCache1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @class NSCachedURLResponse
+/// NSCachedURLResponse is a class whose objects functions as a wrapper for
+/// objects that are stored in the framework's caching system.
+/// It is used to maintain characteristics and attributes of a cached
+/// object.
+class NSCachedURLResponse extends NSObject {
+  NSCachedURLResponse._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSCachedURLResponse] that points to the same underlying object as [other].
+  static NSCachedURLResponse castFrom<T extends _ObjCWrapper>(T other) {
+    return NSCachedURLResponse._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSCachedURLResponse] that wraps the given raw object pointer.
+  static NSCachedURLResponse castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSCachedURLResponse._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSCachedURLResponse].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSCachedURLResponse1);
+  }
+
+  /// !
+  /// @method initWithResponse:data
+  /// @abstract Initializes an NSCachedURLResponse with the given
+  /// response and data.
+  /// @discussion A default NSURLCacheStoragePolicy is used for
+  /// NSCachedURLResponse objects initialized with this method:
+  /// NSURLCacheStorageAllowed.
+  /// @param response a NSURLResponse object.
+  /// @param data an NSData object representing the URL content
+  /// corresponding to the given response.
+  /// @result an initialized NSCachedURLResponse.
+  NSCachedURLResponse initWithResponse_data_(
+      NSURLResponse? response, NSData? data) {
+    final _ret = _lib._objc_msgSend_763(_id, _lib._sel_initWithResponse_data_1,
+        response?._id ?? ffi.nullptr, data?._id ?? ffi.nullptr);
+    return NSCachedURLResponse._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method initWithResponse:data:userInfo:storagePolicy:
+  /// @abstract Initializes an NSCachedURLResponse with the given
+  /// response, data, user-info dictionary, and storage policy.
+  /// @param response a NSURLResponse object.
+  /// @param data an NSData object representing the URL content
+  /// corresponding to the given response.
+  /// @param userInfo a dictionary user-specified information to be
+  /// stored with the NSCachedURLResponse.
+  /// @param storagePolicy an NSURLCacheStoragePolicy constant.
+  /// @result an initialized NSCachedURLResponse.
+  NSCachedURLResponse initWithResponse_data_userInfo_storagePolicy_(
+      NSURLResponse? response,
+      NSData? data,
+      NSDictionary? userInfo,
+      int storagePolicy) {
+    final _ret = _lib._objc_msgSend_764(
+        _id,
+        _lib._sel_initWithResponse_data_userInfo_storagePolicy_1,
+        response?._id ?? ffi.nullptr,
+        data?._id ?? ffi.nullptr,
+        userInfo?._id ?? ffi.nullptr,
+        storagePolicy);
+    return NSCachedURLResponse._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the response wrapped by this instance.
+  /// @result The response wrapped by this instance.
+  NSURLResponse? get response {
+    final _ret = _lib._objc_msgSend_689(_id, _lib._sel_response1);
+    return _ret.address == 0
+        ? null
+        : NSURLResponse._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the data of the receiver.
+  /// @result The data of the receiver.
+  NSData? get data {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_data1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the userInfo dictionary of the receiver.
+  /// @result The userInfo dictionary of the receiver.
+  NSDictionary? get userInfo {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_userInfo1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the NSURLCacheStoragePolicy constant of the receiver.
+  /// @result The NSURLCacheStoragePolicy constant of the receiver.
+  int get storagePolicy {
+    return _lib._objc_msgSend_765(_id, _lib._sel_storagePolicy1);
+  }
+
+  static NSCachedURLResponse new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSCachedURLResponse1, _lib._sel_new1);
+    return NSCachedURLResponse._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSCachedURLResponse alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSCachedURLResponse1, _lib._sel_alloc1);
+    return NSCachedURLResponse._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSCachedURLResponse1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSCachedURLResponse1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSCachedURLResponse1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSCachedURLResponse1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSCachedURLResponse1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSCachedURLResponse1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSCachedURLResponse1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSURLSessionDataTask extends NSURLSessionTask {
+  NSURLSessionDataTask._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionDataTask] that points to the same underlying object as [other].
+  static NSURLSessionDataTask castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSessionDataTask._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionDataTask] that wraps the given raw object pointer.
+  static NSURLSessionDataTask castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionDataTask._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionDataTask].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionDataTask1);
+  }
+
+  @override
+  NSURLSessionDataTask init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionDataTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionDataTask new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLSessionDataTask1, _lib._sel_new1);
+    return NSURLSessionDataTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLSessionDataTask alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionDataTask1, _lib._sel_alloc1);
+    return NSURLSessionDataTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionDataTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionDataTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionDataTask1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionDataTask1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionDataTask1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLSessionDataTask1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionDataTask1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSCachedURLResponse_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSCachedURLResponse_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSCachedURLResponse_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSCachedURLResponse_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSCachedURLResponse_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSCachedURLResponse_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSCachedURLResponse_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSCachedURLResponse_closureRegistry[block
+      .ref.target.address] as void Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSCachedURLResponse extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSCachedURLResponse._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSCachedURLResponse.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSCachedURLResponse_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSCachedURLResponse.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSCachedURLResponse_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSCachedURLResponse_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSCachedURLResponse.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSCachedURLResponse_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSCachedURLResponse_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+/// !
+/// @class NSURLConnection
+///
+/// @abstract An NSURLConnection object provides support to perform
+/// asynchronous loads of a URL request, providing data to a
+/// client supplied delegate.
+///
+/// @discussion The interface for NSURLConnection is very sparse, providing
+/// only the controls to start and cancel asynchronous loads of a
+/// URL request.<p>
+///
+/// An NSURLConnection may be used for loading of resource data
+/// directly to memory, in which case an
+/// NSURLConnectionDataDelegate should be supplied, or for
+/// downloading of resource data directly to a file, in which case
+/// an NSURLConnectionDownloadDelegate is used.  The delegate is
+/// retained by the NSURLConnection until a terminal condition is
+/// encountered.  These two delegates are logically subclasses of
+/// the base protocol, NSURLConnectionDelegate.<p>
+///
+/// A terminal condition produced by the loader will result in a
+/// connection:didFailWithError: in the case of an error, or
+/// connectionDidFinishLoading: or connectionDidFinishDownloading:
+/// delegate message.<p>
+///
+/// The -cancel message hints to the loader that a resource load
+/// should be abandoned but does not guarantee that more delegate
+/// messages will not be delivered.  If -cancel does cause the
+/// load to be abandoned, the delegate will be released without
+/// further messages.  In general, a caller should be prepared for
+/// -cancel to have no effect, and internally ignore any delegate
+/// callbacks until the delegate is released.
+///
+/// Scheduling of an NSURLConnection specifies the context in
+/// which delegate callbacks will be made, but the actual IO may
+/// occur on a separate thread and should be considered an
+/// implementation detail.<p>
+///
+/// When created, an NSURLConnection performs a deep-copy of the
+/// NSURLRequest.  This copy is available through the
+/// -originalRequest method.  As the connection performs the load,
+/// this request may change as a result of protocol
+/// canonicalization or due to following redirects.
+/// -currentRequest can be used to retrieve this value.<p>
+///
+/// An NSURLConnections created with the
+/// +connectionWithRequest:delegate: or -initWithRequest:delegate:
+/// methods are scheduled on the current runloop immediately, and
+/// it is not necessary to send the -start message to begin the
+/// resource load.<p>
+///
+/// NSURLConnections created with
+/// -initWithRequest:delegate:startImmediately: are not
+/// automatically scheduled.  Use -scheduleWithRunLoop:forMode: or
+/// -setDelegateQueue: to specify the context for delegate
+/// callbacks, and -start to begin the load.  If you do not
+/// explicitly schedule the connection before -start, it will be
+/// scheduled on the current runloop and mode automatically.<p>
+///
+/// The NSURLConnectionSynchronousLoading category adds
+/// +sendSynchronousRequest:returningResponse:error, which blocks
+/// the current thread until the resource data is available or an
+/// error occurs.  It should be noted that using this method on an
+/// applications main run loop may result in an unacceptably long
+/// delay in a user interface and its use is strongly
+/// discourage.<p>
+///
+/// The NSURLConnectionQueuedLoading category implements
+/// +sendAsynchronousRequest:queue:completionHandler, providing
+/// similar simplicity but provides a mechanism where the current
+/// runloop is not blocked.<p>
+///
+/// Both of the immediate loading categories do not provide for
+/// customization of resource load, and do not allow the caller to
+/// respond to, e.g., authentication challenges.<p>
+class NSURLConnection extends NSObject {
+  NSURLConnection._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLConnection] that points to the same underlying object as [other].
+  static NSURLConnection castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLConnection._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLConnection] that wraps the given raw object pointer.
+  static NSURLConnection castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLConnection._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLConnection].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLConnection1);
+  }
+
+  NSURLConnection initWithRequest_delegate_startImmediately_(
+      NSURLRequest? request, NSObject delegate, bool startImmediately) {
+    final _ret = _lib._objc_msgSend_772(
+        _id,
+        _lib._sel_initWithRequest_delegate_startImmediately_1,
+        request?._id ?? ffi.nullptr,
+        delegate._id,
+        startImmediately);
+    return NSURLConnection._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLConnection initWithRequest_delegate_(
+      NSURLRequest? request, NSObject delegate) {
+    final _ret = _lib._objc_msgSend_773(
+        _id,
+        _lib._sel_initWithRequest_delegate_1,
+        request?._id ?? ffi.nullptr,
+        delegate._id);
+    return NSURLConnection._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLConnection connectionWithRequest_delegate_(
+      PedometerBindings _lib, NSURLRequest? request, NSObject delegate) {
+    final _ret = _lib._objc_msgSend_774(
+        _lib._class_NSURLConnection1,
+        _lib._sel_connectionWithRequest_delegate_1,
+        request?._id ?? ffi.nullptr,
+        delegate._id);
+    return NSURLConnection._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLRequest? get originalRequest {
+    final _ret = _lib._objc_msgSend_687(_id, _lib._sel_originalRequest1);
+    return _ret.address == 0
+        ? null
+        : NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLRequest? get currentRequest {
+    final _ret = _lib._objc_msgSend_687(_id, _lib._sel_currentRequest1);
+    return _ret.address == 0
+        ? null
+        : NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  void start() {
+    _lib._objc_msgSend_1(_id, _lib._sel_start1);
+  }
+
+  void cancel() {
+    _lib._objc_msgSend_1(_id, _lib._sel_cancel1);
+  }
+
+  void scheduleInRunLoop_forMode_(NSRunLoop? aRunLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_scheduleInRunLoop_forMode_1,
+        aRunLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  void unscheduleFromRunLoop_forMode_(NSRunLoop? aRunLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_unscheduleFromRunLoop_forMode_1,
+        aRunLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  void setDelegateQueue_(NSOperationQueue? queue) {
+    _lib._objc_msgSend_775(
+        _id, _lib._sel_setDelegateQueue_1, queue?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method         canHandleRequest:
+  ///
+  /// @abstract
+  /// Performs a "preflight" operation that performs
+  /// some speculative checks to see if a connection can
+  /// be initialized, and the associated I/O that is
+  /// started in the initializer methods can begin.
+  ///
+  /// @discussion
+  /// The result of this method is valid only as long as
+  /// no protocols are registered or unregistered, and
+  /// as long as the request is not mutated (if the
+  /// request is mutable). Hence, clients should be
+  /// prepared to handle failures even if they have
+  /// performed request preflighting by calling this
+  /// method.
+  ///
+  /// @param
+  /// request     The request to preflight.
+  ///
+  /// @result         YES if it is likely that the given request can be used to
+  /// initialize a connection and the associated I/O can be
+  /// started, NO otherwise.
+  static bool canHandleRequest_(PedometerBindings _lib, NSURLRequest? request) {
+    return _lib._objc_msgSend_776(_lib._class_NSURLConnection1,
+        _lib._sel_canHandleRequest_1, request?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method      sendSynchronousRequest:returningResponse:error:
+  ///
+  /// @abstract
+  /// Performs a synchronous load of the given request,
+  /// returning an NSURLResponse in the given out
+  /// parameter.
+  ///
+  /// @discussion
+  /// A synchronous load for the given request is built on
+  /// top of the asynchronous loading code made available
+  /// by the class.  The calling thread is blocked while
+  /// the asynchronous loading system performs the URL load
+  /// on a thread spawned specifically for this load
+  /// request. No special threading or run loop
+  /// configuration is necessary in the calling thread in
+  /// order to perform a synchronous load. For instance,
+  /// the calling thread need not be running its run loop.
+  ///
+  /// @param
+  /// request   The request to load. Note that the request is
+  /// deep-copied as part of the initialization
+  /// process. Changes made to the request argument after
+  /// this method returns do not affect the request that is
+  /// used for the loading process.
+  ///
+  /// @param
+  /// response  An out parameter which is filled in with the
+  /// response generated by performing the load.
+  ///
+  /// @param
+  /// error     Out parameter (may be NULL) used if an error occurs
+  /// while processing the request. Will not be modified if the
+  /// load succeeds.
+  ///
+  /// @result      The content of the URL resulting from performing the load,
+  /// or nil if the load failed.
+  static NSData sendSynchronousRequest_returningResponse_error_(
+      PedometerBindings _lib,
+      NSURLRequest? request,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> response,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> error) {
+    final _ret = _lib._objc_msgSend_777(
+        _lib._class_NSURLConnection1,
+        _lib._sel_sendSynchronousRequest_returningResponse_error_1,
+        request?._id ?? ffi.nullptr,
+        response,
+        error);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method       sendAsynchronousRequest:queue:completionHandler:
+  ///
+  /// @abstract
+  /// Performs an asynchronous load of the given
+  /// request. When the request has completed or failed,
+  /// the block will be executed from the context of the
+  /// specified NSOperationQueue.
+  ///
+  /// @discussion
+  /// This is a convenience routine that allows for
+  /// asynchronous loading of a url-based resource.  If
+  /// the resource load is successful, the data parameter
+  /// to the callback will contain the resource data and
+  /// the error parameter will be nil.  If the resource
+  /// load fails, the data parameter will be nil and the
+  /// error will contain information about the failure.
+  ///
+  /// @param
+  /// request   The request to load. Note that the request is
+  /// deep-copied as part of the initialization
+  /// process. Changes made to the request argument after
+  /// this method returns do not affect the request that
+  /// is used for the loading process.
+  ///
+  /// @param
+  /// queue     An NSOperationQueue upon which    the handler block will
+  /// be dispatched.
+  ///
+  /// @param
+  /// handler   A block which receives the results of the resource load.
+  static void sendAsynchronousRequest_queue_completionHandler_(
+      PedometerBindings _lib,
+      NSURLRequest? request,
+      NSOperationQueue? queue,
+      ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError handler) {
+    _lib._objc_msgSend_778(
+        _lib._class_NSURLConnection1,
+        _lib._sel_sendAsynchronousRequest_queue_completionHandler_1,
+        request?._id ?? ffi.nullptr,
+        queue?._id ?? ffi.nullptr,
+        handler._id);
+  }
+
+  static NSURLConnection new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLConnection1, _lib._sel_new1);
+    return NSURLConnection._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLConnection alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLConnection1, _lib._sel_alloc1);
+    return NSURLConnection._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLConnection1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLConnection1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLConnection1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLConnection1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLConnection1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLConnection1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLConnection1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1,
+                  ffi.Pointer<ObjCObject> arg2)>>()
+      .asFunction<
+          void Function(
+              ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  (_ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1,
+                      ffi.Pointer<ObjCObject> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1,
+          ffi.Pointer<ObjCObject> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+      ffi.Pointer<ObjCObject> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1,
+                    ffi.Pointer<ObjCObject> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1,
+                ffi.Pointer<ObjCObject> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+final class __SecCertificate extends ffi.Opaque {}
+
+final class __SecIdentity extends ffi.Opaque {}
+
+final class __SecKey extends ffi.Opaque {}
+
+final class __SecPolicy extends ffi.Opaque {}
+
+final class __SecAccessControl extends ffi.Opaque {}
+
+final class __SecKeychain extends ffi.Opaque {}
+
+final class __SecKeychainItem extends ffi.Opaque {}
+
+final class __SecKeychainSearch extends ffi.Opaque {}
+
+/// !
+/// @struct SecKeychainAttribute
+/// @abstract Contains keychain attributes.
+/// @field tag A 4-byte attribute tag.
+/// @field length The length of the buffer pointed to by data.
+/// @field data A pointer to the attribute data.
+final class SecKeychainAttribute extends ffi.Struct {
+  @SecKeychainAttrType()
+  external int tag;
+
+  @UInt32()
+  external int length;
+
+  external ffi.Pointer<ffi.Void> data;
+}
+
+/// !
+/// @typedef SecKeychainAttrType
+/// @abstract Represents a keychain attribute type.
+typedef SecKeychainAttrType = OSType;
+
+/// !
+/// @typedef SecKeychainAttributeList
+/// @abstract Represents a list of keychain attributes.
+/// @field count An unsigned 32-bit integer that represents the number of keychain attributes in the array.
+/// @field attr A pointer to the first keychain attribute in the array.
+final class SecKeychainAttributeList extends ffi.Struct {
+  @UInt32()
+  external int count;
+
+  external ffi.Pointer<SecKeychainAttribute> attr;
+}
+
+final class __SecTrustedApplication extends ffi.Opaque {}
+
+final class __SecAccess extends ffi.Opaque {}
+
+final class __SecACL extends ffi.Opaque {}
+
+final class __SecPassword extends ffi.Opaque {}
+
+/// !
+/// @typedef SecKeychainAttributeInfo
+/// @abstract Represents an attribute.
+/// @field count The number of tag-format pairs in the respective arrays.
+/// @field tag A pointer to the first attribute tag in the array.
+/// @field format A pointer to the first CSSM_DB_ATTRIBUTE_FORMAT in the array.
+/// @discussion Each tag and format item form a pair.
+final class SecKeychainAttributeInfo extends ffi.Struct {
+  @UInt32()
+  external int count;
+
+  external ffi.Pointer<UInt32> tag;
+
+  external ffi.Pointer<UInt32> format;
+}
+
+typedef OSStatus = SInt32;
+
+/// !
+/// @typedef SecCertificateRef
+/// @abstract CFType representing a X.509 certificate.
+/// See SecCertificate.h for details.
+typedef SecCertificateRef = ffi.Pointer<__SecCertificate>;
+
+/// !
+/// @typedef SecKeyRef
+/// @abstract CFType representing a cryptographic key. See
+/// SecKey.h for details.
+typedef SecKeyRef = ffi.Pointer<__SecKey>;
+
+/// !
+/// @typedef SecIdentityRef
+/// @abstract CFType representing an identity, which contains
+/// a SecKeyRef and an associated SecCertificateRef. See
+/// SecIdentity.h for details.
+typedef SecIdentityRef = ffi.Pointer<__SecIdentity>;
+
+/// !
+/// @typedef SecAccessControlCreateFlags
+///
+/// @constant kSecAccessControlUserPresence
+/// User presence policy using biometry or Passcode. Biometry does not have to be available or enrolled. Item is still
+/// accessible by Touch ID even if fingers are added or removed. Item is still accessible by Face ID if user is re-enrolled.
+///
+/// @constant kSecAccessControlBiometryAny
+/// Constraint: Touch ID (any finger) or Face ID. Touch ID or Face ID must be available. With Touch ID
+/// at least one finger must be enrolled. With Face ID user has to be enrolled. Item is still accessible by Touch ID even
+/// if fingers are added or removed. Item is still accessible by Face ID if user is re-enrolled.
+///
+/// @constant kSecAccessControlTouchIDAny
+/// Deprecated, please use kSecAccessControlBiometryAny instead.
+///
+/// @constant kSecAccessControlBiometryCurrentSet
+/// Constraint: Touch ID from the set of currently enrolled fingers. Touch ID must be available and at least one finger must
+/// be enrolled. When fingers are added or removed, the item is invalidated. When Face ID is re-enrolled this item is invalidated.
+///
+/// @constant kSecAccessControlTouchIDCurrentSet
+/// Deprecated, please use kSecAccessControlBiometryCurrentSet instead.
+///
+/// @constant kSecAccessControlDevicePasscode
+/// Constraint: Device passcode
+///
+/// @constant kSecAccessControlWatch
+/// Constraint: Watch
+///
+/// @constant kSecAccessControlOr
+/// Constraint logic operation: when using more than one constraint, at least one of them must be satisfied.
+///
+/// @constant kSecAccessControlAnd
+/// Constraint logic operation: when using more than one constraint, all must be satisfied.
+///
+/// @constant kSecAccessControlPrivateKeyUsage
+/// Create access control for private key operations (i.e. sign operation)
+///
+/// @constant kSecAccessControlApplicationPassword
+/// Security: Application provided password for data encryption key generation. This is not a constraint but additional item
+/// encryption mechanism.
+abstract class SecAccessControlCreateFlags {
+  static const int kSecAccessControlUserPresence = 1;
+  static const int kSecAccessControlBiometryAny = 2;
+  static const int kSecAccessControlTouchIDAny = 2;
+  static const int kSecAccessControlBiometryCurrentSet = 8;
+  static const int kSecAccessControlTouchIDCurrentSet = 8;
+  static const int kSecAccessControlDevicePasscode = 16;
+  static const int kSecAccessControlWatch = 32;
+  static const int kSecAccessControlOr = 16384;
+  static const int kSecAccessControlAnd = 32768;
+  static const int kSecAccessControlPrivateKeyUsage = 1073741824;
+  static const int kSecAccessControlApplicationPassword = 2147483648;
+}
+
+/// !
+/// @typedef SecAccessControl
+/// @abstract CFType representing access control for an item.
+/// SecAccessControl.h for details.
+typedef SecAccessControlRef = ffi.Pointer<__SecAccessControl>;
+
+/// !
+/// @typedef SecPadding
+/// @abstract Supported padding types.
+abstract class SecPadding {
+  static const int kSecPaddingNone = 0;
+  static const int kSecPaddingPKCS1 = 1;
+  static const int kSecPaddingOAEP = 2;
+  static const int kSecPaddingSigRaw = 16384;
+  static const int kSecPaddingPKCS1MD2 = 32768;
+  static const int kSecPaddingPKCS1MD5 = 32769;
+  static const int kSecPaddingPKCS1SHA1 = 32770;
+  static const int kSecPaddingPKCS1SHA224 = 32771;
+  static const int kSecPaddingPKCS1SHA256 = 32772;
+  static const int kSecPaddingPKCS1SHA384 = 32773;
+  static const int kSecPaddingPKCS1SHA512 = 32774;
+}
+
+/// !
+/// @enum SecKeyAlgorithm
+/// @abstract Available algorithms for performing cryptographic operations with SecKey object.  String representation
+/// of constant can be used for logging or debugging purposes, because they contain human readable names of the algorithm.
+///
+/// @constant kSecKeyAlgorithmRSASignatureRaw
+/// Raw RSA sign/verify operation, size of input data must be the same as value returned by SecKeyGetBlockSize().
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw
+/// RSA sign/verify operation, assumes that input data is digest and OID and digest algorithm as specified in PKCS# v1.5.
+/// This algorithm is typically not used directly, instead use algorithm with specified digest, like
+/// kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256.
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1
+/// RSA signature with PKCS#1 padding, input data must be SHA-1 generated digest.
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224
+/// RSA signature with PKCS#1 padding, input data must be SHA-224 generated digest.
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256
+/// RSA signature with PKCS#1 padding, input data must be SHA-256 generated digest.
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384
+/// RSA signature with PKCS#1 padding, input data must be SHA-384 generated digest.
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512
+/// RSA signature with PKCS#1 padding, input data must be SHA-512 generated digest.
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1
+/// RSA signature with PKCS#1 padding, SHA-1 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224
+/// RSA signature with PKCS#1 padding, SHA-224 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256
+/// RSA signature with PKCS#1 padding, SHA-256 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384
+/// RSA signature with PKCS#1 padding, SHA-384 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512
+/// RSA signature with PKCS#1 padding, SHA-512 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPSSSHA1
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, input data must be SHA-1 generated digest.
+/// PSS padding is calculated using MGF1 with SHA1 and saltLength parameter is set to 20 (SHA-1 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPSSSHA224
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, input data must be SHA-224 generated digest.
+/// PSS padding is calculated using MGF1 with SHA224 and saltLength parameter is set to 28 (SHA-224 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPSSSHA256
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, input data must be SHA-256 generated digest.
+/// PSS padding is calculated using MGF1 with SHA256 and saltLength parameter is set to 32 (SHA-256 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPSSSHA384
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, input data must be SHA-384 generated digest.
+/// PSS padding is calculated using MGF1 with SHA384 and saltLength parameter is set to 48 (SHA-384 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureDigestPSSSHA512
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, input data must be SHA-512 generated digest.
+/// PSS padding is calculated using MGF1 with SHA512 and saltLength parameter is set to 64 (SHA-512 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePSSSHA1
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, SHA-1 digest is generated by called function automatically from input data of any size.
+/// PSS padding is calculated using MGF1 with SHA1 and saltLength parameter is set to 20 (SHA-1 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePSSSHA224
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, SHA-224 digest is generated by called function automatically from input data of any size.
+/// PSS padding is calculated using MGF1 with SHA224 and saltLength parameter is set to 28 (SHA-224 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePSSSHA256
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, SHA-256 digest is generated by called function automatically from input data of any size.
+/// PSS padding is calculated using MGF1 with SHA256 and saltLength parameter is set to 32 (SHA-256 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePSSSHA384
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, SHA-384 digest is generated by called function automatically from input data of any size.
+/// PSS padding is calculated using MGF1 with SHA384 and saltLength parameter is set to 48 (SHA-384 output size).
+///
+/// @constant kSecKeyAlgorithmRSASignatureMessagePSSSHA512
+/// RSA signature with RSASSA-PSS padding according to PKCS#1 v2.1, SHA-512 digest is generated by called function automatically from input data of any size.
+/// PSS padding is calculated using MGF1 with SHA512 and saltLength parameter is set to 64 (SHA-512 output size).
+///
+/// @constant kSecKeyAlgorithmECDSASignatureRFC4754
+/// ECDSA algorithm, signature is concatenated r and s, big endian, input data must be message digest generated by some hash function.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureDigestX962
+/// ECDSA algorithm, signature is in DER x9.62 encoding, input data must be message digest generated by some hash functions.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureDigestX962SHA1
+/// ECDSA algorithm, signature is in DER x9.62 encoding, input data must be message digest created by SHA1 algorithm.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureDigestX962SHA224
+/// ECDSA algorithm, signature is in DER x9.62 encoding, input data must be message digest created by SHA224 algorithm.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureDigestX962SHA256
+/// ECDSA algorithm, signature is in DER x9.62 encoding, input data must be message digest created by SHA256 algorithm.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureDigestX962SHA384
+/// ECDSA algorithm, signature is in DER x9.62 encoding, input data must be message digest created by SHA384 algorithm.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureDigestX962SHA512
+/// ECDSA algorithm, signature is in DER x9.62 encoding, input data must be message digest created by SHA512 algorithm.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureMessageX962SHA1
+/// ECDSA algorithm, signature is in DER x9.62 encoding, SHA-1 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureMessageX962SHA224
+/// ECDSA algorithm, signature is in DER x9.62 encoding, SHA-224 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureMessageX962SHA256
+/// ECDSA algorithm, signature is in DER x9.62 encoding, SHA-256 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureMessageX962SHA384
+/// ECDSA algorithm, signature is in DER x9.62 encoding, SHA-384 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmECDSASignatureMessageX962SHA512
+/// ECDSA algorithm, signature is in DER x9.62 encoding, SHA-512 digest is generated by called function automatically from input data of any size.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionRaw
+/// Raw RSA encryption or decryption, size of data must match RSA key modulus size.  Note that direct
+/// use of this algorithm without padding is cryptographically very weak, it is important to always introduce
+/// some kind of padding.  Input data size must be less or equal to the key block size and returned block has always
+/// the same size as block size, as returned by SecKeyGetBlockSize().
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionPKCS1
+/// RSA encryption or decryption, data is padded using PKCS#1 padding scheme.  This algorithm should be used only for
+/// backward compatibility with existing protocols and data. New implementations should choose cryptographically
+/// stronger algorithm instead (see kSecKeyAlgorithmRSAEncryptionOAEP).  Input data must be at most
+/// "key block size - 11" bytes long and returned block has always the same size as block size, as returned
+/// by SecKeyGetBlockSize().
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA1
+/// RSA encryption or decryption, data is padded using OAEP padding scheme internally using SHA1. Input data must be at most
+/// "key block size - 42" bytes long and returned block has always the same size as block size, as returned
+/// by SecKeyGetBlockSize().  Use kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM to be able to encrypt and decrypt arbitrary long data.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA224
+/// RSA encryption or decryption, data is padded using OAEP padding scheme internally using SHA224. Input data must be at most
+/// "key block size - 58" bytes long and returned block has always the same size as block size, as returned
+/// by SecKeyGetBlockSize().  Use kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM to be able to encrypt and decrypt arbitrary long data.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA256
+/// RSA encryption or decryption, data is padded using OAEP padding scheme internally using SHA256. Input data must be at most
+/// "key block size - 66" bytes long and returned block has always the same size as block size, as returned
+/// by SecKeyGetBlockSize().  Use kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM to be able to encrypt and decrypt arbitrary long data.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA384
+/// RSA encryption or decryption, data is padded using OAEP padding scheme internally using SHA384. Input data must be at most
+/// "key block size - 98" bytes long and returned block has always the same size as block size, as returned
+/// by SecKeyGetBlockSize().  Use kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM to be able to encrypt and decrypt arbitrary long data.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA512
+/// RSA encryption or decryption, data is padded using OAEP padding scheme internally using SHA512. Input data must be at most
+/// "key block size - 130" bytes long and returned block has always the same size as block size, as returned
+/// by SecKeyGetBlockSize().  Use kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM to be able to encrypt and decrypt arbitrary long data.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM
+/// Randomly generated AES session key is encrypted by RSA with OAEP padding.  User data are encrypted using session key in GCM
+/// mode with all-zero 16 bytes long IV (initialization vector).  Finally 16 byte AES-GCM tag is appended to ciphertext.
+/// 256bit AES key is used if RSA key is 4096bit or bigger, otherwise 128bit AES key is used.  Raw public key data is used
+/// as authentication data for AES-GCM encryption.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM
+/// Randomly generated AES session key is encrypted by RSA with OAEP padding.  User data are encrypted using session key in GCM
+/// mode with all-zero 16 bytes long IV (initialization vector).  Finally 16 byte AES-GCM tag is appended to ciphertext.
+/// 256bit AES key is used if RSA key is 4096bit or bigger, otherwise 128bit AES key is used.  Raw public key data is used
+/// as authentication data for AES-GCM encryption.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM
+/// Randomly generated AES session key is encrypted by RSA with OAEP padding.  User data are encrypted using session key in GCM
+/// mode with all-zero 16 bytes long IV (initialization vector).  Finally 16 byte AES-GCM tag is appended to ciphertext.
+/// 256bit AES key is used if RSA key is 4096bit or bigger, otherwise 128bit AES key is used.  Raw public key data is used
+/// as authentication data for AES-GCM encryption.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM
+/// Randomly generated AES session key is encrypted by RSA with OAEP padding.  User data are encrypted using session key in GCM
+/// mode with all-zero 16 bytes long IV (initialization vector).  Finally 16 byte AES-GCM tag is appended to ciphertext.
+/// 256bit AES key is used if RSA key is 4096bit or bigger, otherwise 128bit AES key is used.  Raw public key data is used
+/// as authentication data for AES-GCM encryption.
+///
+/// @constant kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM
+/// Randomly generated AES session key is encrypted by RSA with OAEP padding.  User data are encrypted using session key in GCM
+/// mode with all-zero 16 bytes long IV (initialization vector).  Finally 16 byte AES-GCM tag is appended to ciphertext.
+/// 256bit AES key is used if RSA key is 4096bit or bigger, otherwise 128bit AES key is used.  Raw public key data is used
+/// as authentication data for AES-GCM encryption.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM
+/// Legacy ECIES encryption or decryption, use kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM in new code.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG and all-zero 16 byte long IV (initialization vector).
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM
+/// ECIES encryption or decryption.  This algorithm does not limit the size of the message to be encrypted or decrypted.
+/// Encryption is done using AES-GCM with key negotiated by kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512.  AES Key size
+/// is 128bit for EC keys <=256bit and 256bit for bigger EC keys. Ephemeral public key data is used as sharedInfo for KDF.
+/// AES-GCM uses 16 bytes long TAG, AES key is first half of KDF output and 16 byte long IV (initialization vector) is second half
+/// of KDF output.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeCofactor
+/// Compute shared secret using ECDH cofactor algorithm, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys.
+/// This algorithm does not accept any parameters, length of output raw shared secret is given by the length of the key.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1
+/// Compute shared secret using ECDH cofactor algorithm, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA1 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224
+/// Compute shared secret using ECDH cofactor algorithm, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA224 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256
+/// Compute shared secret using ECDH cofactor algorithm, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA256 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384
+/// Compute shared secret using ECDH cofactor algorithm, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA384 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512
+/// Compute shared secret using ECDH cofactor algorithm, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA512 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeStandard
+/// Compute shared secret using ECDH algorithm without cofactor, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys.
+/// This algorithm does not accept any parameters, length of output raw shared secret is given by the length of the key.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1
+/// Compute shared secret using ECDH algorithm without cofactor, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA1 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224
+/// Compute shared secret using ECDH algorithm without cofactor, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA224 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256
+/// Compute shared secret using ECDH algorithm without cofactor, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA256 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384
+/// Compute shared secret using ECDH algorithm without cofactor, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA384 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+///
+/// @constant kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512
+/// Compute shared secret using ECDH algorithm without cofactor, suitable only for kSecAttrKeyTypeECSECPrimeRandom keys
+/// and apply ANSI X9.63 KDF with SHA512 as hashing function.  Requires kSecKeyKeyExchangeParameterRequestedSize and allows
+/// kSecKeyKeyExchangeParameterSharedInfo parameters to be used.
+typedef SecKeyAlgorithm = CFStringRef;
+
+/// !
+/// @enum SecKeyKeyExchangeParameter SecKey Key Exchange parameters
+/// @constant kSecKeyKeyExchangeParameterRequestedSize Contains CFNumberRef with requested result size in bytes.
+/// @constant kSecKeyKeyExchangeParameterSharedInfo Contains CFDataRef with additional shared info
+/// for KDF (key derivation function).
+typedef SecKeyKeyExchangeParameter = CFStringRef;
+
+/// !
+/// @enum SecKeyOperationType
+/// @abstract Defines types of cryptographic operations available with SecKey instance.
+///
+/// @constant kSecKeyOperationTypeSign
+/// Represents SecKeyCreateSignature()
+///
+/// @constant kSecKeyOperationTypeVerify
+/// Represents SecKeyVerifySignature()
+///
+/// @constant kSecKeyOperationTypeEncrypt
+/// Represents SecKeyCreateEncryptedData()
+///
+/// @constant kSecKeyOperationTypeDecrypt
+/// Represents SecKeyCreateDecryptedData()
+///
+/// @constant kSecKeyOperationTypeKeyExchange
+/// Represents SecKeyCopyKeyExchangeResult()
+abstract class SecKeyOperationType {
+  static const int kSecKeyOperationTypeSign = 0;
+  static const int kSecKeyOperationTypeVerify = 1;
+  static const int kSecKeyOperationTypeEncrypt = 2;
+  static const int kSecKeyOperationTypeDecrypt = 3;
+  static const int kSecKeyOperationTypeKeyExchange = 4;
+}
+
+/// !
+/// @typedef SecPolicyRef
+/// @abstract CFType representing a X.509 certificate trust policy.
+/// See SecPolicy.h for details.
+typedef SecPolicyRef = ffi.Pointer<__SecPolicy>;
+
+final class __SecRandom extends ffi.Opaque {}
+
+/// !
+/// @typedef SecRandomRef
+/// @abstract Reference to a (pseudo) random number generator.
+typedef SecRandomRef = ffi.Pointer<__SecRandom>;
+
+/// !
+/// @typedef SecTrustResultType
+/// @abstract Specifies the trust result type.
+/// @discussion SecTrustResultType results have two dimensions.  They specify
+/// both whether evaluation succeeded and whether this is because of a user
+/// decision.  The commonly expected result is kSecTrustResultUnspecified,
+/// which indicates a positive result that wasn't decided by the user.  The
+/// common failure is kSecTrustResultRecoverableTrustFailure, which means a
+/// negative result.  kSecTrustResultProceed and kSecTrustResultDeny are the
+/// positive and negative result respectively when decided by the user.  User
+/// decisions are persisted through the use of SecTrustCopyExceptions() and
+/// SecTrustSetExceptions().  Finally, kSecTrustResultFatalTrustFailure is a
+/// negative result that must not be circumvented.
+/// @constant kSecTrustResultInvalid Indicates an invalid setting or result.
+/// This result usually means that SecTrustEvaluate has not yet been called.
+/// @constant kSecTrustResultProceed Indicates you may proceed.  This value
+/// may be returned by the SecTrustEvaluate function or stored as part of
+/// the user trust settings.
+/// @constant kSecTrustResultConfirm Indicates confirmation with the user
+/// is required before proceeding.  Important: this value is no longer returned
+/// or supported by SecTrustEvaluate or the SecTrustSettings API starting in
+/// OS X 10.5; its use is deprecated in OS X 10.9 and later, as well as in iOS.
+/// @constant kSecTrustResultDeny Indicates a user-configured deny; do not
+/// proceed. This value may be returned by the SecTrustEvaluate function
+/// or stored as part of the user trust settings.
+/// @constant kSecTrustResultUnspecified Indicates the evaluation succeeded
+/// and the certificate is implicitly trusted, but user intent was not
+/// explicitly specified.  This value may be returned by the SecTrustEvaluate
+/// function or stored as part of the user trust settings.
+/// @constant kSecTrustResultRecoverableTrustFailure Indicates a trust policy
+/// failure which can be overridden by the user.  This value may be returned
+/// by the SecTrustEvaluate function but not stored as part of the user
+/// trust settings.
+/// @constant kSecTrustResultFatalTrustFailure Indicates a trust failure
+/// which cannot be overridden by the user.  This value may be returned by the
+/// SecTrustEvaluate function but not stored as part of the user trust
+/// settings.
+/// @constant kSecTrustResultOtherError Indicates a failure other than that
+/// of trust evaluation. This value may be returned by the SecTrustEvaluate
+/// function but not stored as part of the user trust settings.
+abstract class SecTrustResultType {
+  static const int kSecTrustResultInvalid = 0;
+  static const int kSecTrustResultProceed = 1;
+  static const int kSecTrustResultConfirm = 2;
+  static const int kSecTrustResultDeny = 3;
+  static const int kSecTrustResultUnspecified = 4;
+  static const int kSecTrustResultRecoverableTrustFailure = 5;
+  static const int kSecTrustResultFatalTrustFailure = 6;
+  static const int kSecTrustResultOtherError = 7;
+}
+
+final class __SecTrust extends ffi.Opaque {}
+
+/// !
+/// @typedef SecTrustRef
+/// @abstract CFType used for performing X.509 certificate trust evaluations.
+typedef SecTrustRef = ffi.Pointer<__SecTrust>;
+
+/// !
+/// @typedef SecTrustCallback
+/// @abstract Delivers the result from an asynchronous trust evaluation.
+/// @param trustRef A reference to the trust object which has been evaluated.
+/// @param trustResult The trust result of the evaluation. Additional status
+/// information can be obtained by calling SecTrustCopyProperties().
+typedef SecTrustCallback = ffi.Pointer<_ObjCBlock>;
+void _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, SecTrustRef arg0, int arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(SecTrustRef arg0, ffi.Int32 arg1)>>()
+      .asFunction<void Function(SecTrustRef arg0, int arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, SecTrustRef arg0, int arg1) {
+  (_ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureRegistry[
+      block.ref.target.address] as void Function(SecTrustRef, int))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(SecTrustRef arg0, ffi.Int32 arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                SecTrustRef arg0, ffi.Int32 arg1)>(
+                        _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType.fromFunction(
+      PedometerBindings lib, void Function(SecTrustRef arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                SecTrustRef arg0, ffi.Int32 arg1)>(
+                        _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType.listener(
+      PedometerBindings lib, void Function(SecTrustRef arg0, int arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                SecTrustRef arg0, ffi.Int32 arg1)>.listener(
+                        _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_SecTrustRef_SecTrustResultType_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, SecTrustRef arg0, ffi.Int32 arg1)>?
+      _dartFuncListenerTrampoline;
+
+  void call(SecTrustRef arg0, int arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    SecTrustRef arg0, ffi.Int32 arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, SecTrustRef arg0,
+                int arg1)>()(_id, arg0, arg1);
+  }
+}
+
+/// !
+/// @typedef SecTrustWithErrorCallback
+/// @abstract Delivers the result from an asynchronous trust evaluation.
+/// @param trustRef A reference to the trust object which has been evaluated.
+/// @param result A boolean value indicating whether the certificate is trusted.
+/// @param error An error if the trust evaluation failed.
+typedef SecTrustWithErrorCallback = ffi.Pointer<_ObjCBlock>;
+void _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    SecTrustRef arg0,
+    bool arg1,
+    CFErrorRef arg2) {
+  block.ref.target
+          .cast<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      SecTrustRef arg0, ffi.Bool arg1, CFErrorRef arg2)>>()
+          .asFunction<
+              void Function(SecTrustRef arg0, bool arg1, CFErrorRef arg2)>()(
+      arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    SecTrustRef arg0,
+    bool arg1,
+    CFErrorRef arg2) {
+  (_ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureRegistry[
+          block.ref.target.address]
+      as void Function(SecTrustRef, bool, CFErrorRef))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      SecTrustRef arg0, ffi.Bool arg1, CFErrorRef arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                SecTrustRef arg0,
+                                ffi.Bool arg1,
+                                CFErrorRef arg2)>(
+                        _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef.fromFunction(
+      PedometerBindings lib,
+      void Function(SecTrustRef arg0, bool arg1, CFErrorRef arg2) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                SecTrustRef arg0,
+                                ffi.Bool arg1,
+                                CFErrorRef arg2)>(
+                        _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef.listener(PedometerBindings lib,
+      void Function(SecTrustRef arg0, bool arg1, CFErrorRef arg2) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                SecTrustRef arg0,
+                                ffi.Bool arg1,
+                                CFErrorRef arg2)>.listener(
+                        _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_SecTrustRef_bool_CFErrorRef_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(ffi.Pointer<_ObjCBlock> block, SecTrustRef arg0,
+          ffi.Bool arg1, CFErrorRef arg2)>? _dartFuncListenerTrampoline;
+
+  void call(SecTrustRef arg0, bool arg1, CFErrorRef arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    SecTrustRef arg0, ffi.Bool arg1, CFErrorRef arg2)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, SecTrustRef arg0,
+                bool arg1, CFErrorRef arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+void _ObjCBlock_ffiVoid_CFErrorRef_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, CFErrorRef arg0) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function(CFErrorRef arg0)>>()
+      .asFunction<void Function(CFErrorRef arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_CFErrorRef_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_CFErrorRef_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_CFErrorRef_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_CFErrorRef_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_CFErrorRef_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_CFErrorRef_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, CFErrorRef arg0) {
+  (_ObjCBlock_ffiVoid_CFErrorRef_closureRegistry[block.ref.target.address]
+      as void Function(CFErrorRef))(arg0);
+}
+
+class ObjCBlock_ffiVoid_CFErrorRef extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_CFErrorRef._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFErrorRef.fromFunctionPointer(PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(CFErrorRef arg0)>> ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFErrorRef arg0)>(
+                        _ObjCBlock_ffiVoid_CFErrorRef_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFErrorRef.fromFunction(
+      PedometerBindings lib, void Function(CFErrorRef arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFErrorRef arg0)>(
+                        _ObjCBlock_ffiVoid_CFErrorRef_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFErrorRef_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_CFErrorRef.listener(
+      PedometerBindings lib, void Function(CFErrorRef arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFErrorRef arg0)>.listener(
+                        _ObjCBlock_ffiVoid_CFErrorRef_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFErrorRef_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(ffi.Pointer<_ObjCBlock> block, CFErrorRef arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(CFErrorRef arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block, CFErrorRef arg0)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block, CFErrorRef arg0)>()(_id, arg0);
+  }
+}
+
+void _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, CFArrayRef arg0, CFErrorRef arg1) {
+  block.ref.target
+          .cast<
+              ffi.NativeFunction<
+                  ffi.Void Function(CFArrayRef arg0, CFErrorRef arg1)>>()
+          .asFunction<void Function(CFArrayRef arg0, CFErrorRef arg1)>()(
+      arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, CFArrayRef arg0, CFErrorRef arg1) {
+  (_ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureRegistry[block.ref.target
+      .address] as void Function(CFArrayRef, CFErrorRef))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(CFArrayRef arg0, CFErrorRef arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFArrayRef arg0, CFErrorRef arg1)>(
+                        _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef.fromFunction(
+      PedometerBindings lib, void Function(CFArrayRef arg0, CFErrorRef arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFArrayRef arg0, CFErrorRef arg1)>(
+                        _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef.listener(
+      PedometerBindings lib, void Function(CFArrayRef arg0, CFErrorRef arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                CFArrayRef arg0, CFErrorRef arg1)>.listener(
+                        _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_CFArrayRef_CFErrorRef_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, CFArrayRef arg0, CFErrorRef arg1)>?
+      _dartFuncListenerTrampoline;
+
+  void call(CFArrayRef arg0, CFErrorRef arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    CFArrayRef arg0, CFErrorRef arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, CFArrayRef arg0,
+                CFErrorRef arg1)>()(_id, arg0, arg1);
+  }
+}
+
+abstract class SSLCiphersuiteGroup {
+  static const int kSSLCiphersuiteGroupDefault = 0;
+  static const int kSSLCiphersuiteGroupCompatibility = 1;
+  static const int kSSLCiphersuiteGroupLegacy = 2;
+  static const int kSSLCiphersuiteGroupATS = 3;
+  static const int kSSLCiphersuiteGroupATSCompatibility = 4;
+}
+
+/// !
+/// @enum tls_protocol_version_t enumeration
+/// @abstract Enumerations for the set of supported TLS and DTLS protocol versions.
+///
+/// @constant tls_protocol_version_TLSv10 TLS 1.0 [https://tools.ietf.org/html/rfc4346]
+/// @constant tls_protocol_version_TLSv11 TLS 1.1 [https://tools.ietf.org/html/rfc2246]
+/// @constant tls_protocol_version_TLSv12 TLS 1.2 [https://tools.ietf.org/html/rfc5246]
+/// @constant tls_protocol_version_TLSv13 TLS 1.3 [https://tools.ietf.org/html/rfc8446]
+/// @constant tls_protocol_version_DTLSv10 DTLS 1.0 [https://tools.ietf.org/html/rfc4347]
+/// @constant tls_protocol_version_DTLSv12 DTLS 1.2 [https://tools.ietf.org/html/rfc6347]
+abstract class tls_protocol_version_t {
+  static const int tls_protocol_version_TLSv10 = 769;
+  static const int tls_protocol_version_TLSv11 = 770;
+  static const int tls_protocol_version_TLSv12 = 771;
+  static const int tls_protocol_version_TLSv13 = 772;
+  static const int tls_protocol_version_DTLSv10 = -257;
+  static const int tls_protocol_version_DTLSv12 = -259;
+}
+
+/// !
+/// @enum tls_ciphersuite_t enumeration
+/// @abstract Enumerations for the set of supported TLS and DTLS ciphersuites.
+///
+/// See https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4
+/// for ciphersuite codepoint allocations and reference RFCs.
+///
+/// @constant tls_ciphersuite_RSA_WITH_3DES_EDE_CBC_SHA
+/// @constant tls_ciphersuite_RSA_WITH_AES_128_CBC_SHA
+/// @constant tls_ciphersuite_RSA_WITH_AES_256_CBC_SHA
+/// @constant tls_ciphersuite_RSA_WITH_AES_128_GCM_SHA256
+/// @constant tls_ciphersuite_RSA_WITH_AES_256_GCM_SHA384
+/// @constant tls_ciphersuite_RSA_WITH_AES_128_CBC_SHA256
+/// @constant tls_ciphersuite_RSA_WITH_AES_256_CBC_SHA256
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_AES_128_CBC_SHA
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_AES_256_CBC_SHA
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_AES_128_CBC_SHA256
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_AES_256_CBC_SHA384
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_AES_128_GCM_SHA256
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_AES_256_GCM_SHA384
+/// @constant tls_ciphersuite_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
+/// @constant tls_ciphersuite_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
+/// @constant tls_ciphersuite_AES_128_GCM_SHA256
+/// @constant tls_ciphersuite_AES_256_GCM_SHA384
+/// @constant tls_ciphersuite_CHACHA20_POLY1305_SHA256
+abstract class tls_ciphersuite_t {
+  static const int tls_ciphersuite_RSA_WITH_3DES_EDE_CBC_SHA = 10;
+  static const int tls_ciphersuite_RSA_WITH_AES_128_CBC_SHA = 47;
+  static const int tls_ciphersuite_RSA_WITH_AES_256_CBC_SHA = 53;
+  static const int tls_ciphersuite_RSA_WITH_AES_128_GCM_SHA256 = 156;
+  static const int tls_ciphersuite_RSA_WITH_AES_256_GCM_SHA384 = 157;
+  static const int tls_ciphersuite_RSA_WITH_AES_128_CBC_SHA256 = 60;
+  static const int tls_ciphersuite_RSA_WITH_AES_256_CBC_SHA256 = 61;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = -16376;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = -16375;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = -16374;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = -16366;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_AES_128_CBC_SHA = -16365;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_AES_256_CBC_SHA = -16364;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = -16349;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = -16348;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = -16345;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = -16344;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = -16341;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = -16340;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = -16337;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = -16336;
+  static const int tls_ciphersuite_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 =
+      -13144;
+  static const int tls_ciphersuite_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 =
+      -13143;
+  static const int tls_ciphersuite_AES_128_GCM_SHA256 = 4865;
+  static const int tls_ciphersuite_AES_256_GCM_SHA384 = 4866;
+  static const int tls_ciphersuite_CHACHA20_POLY1305_SHA256 = 4867;
+}
+
+/// !
+/// @enum tls_ciphersuite_group_t enumeration
+/// @abstract Convenience ciphersuite groups that collate ciphersuites of comparable security
+/// properties into a single alias.
+///
+/// @constant tls_ciphersuite_group_default
+/// @constant tls_ciphersuite_group_compatibility
+/// @constant tls_ciphersuite_group_legacy
+/// @constant tls_ciphersuite_group_ats
+/// @constant tls_ciphersuite_group_ats_compatibility
+abstract class tls_ciphersuite_group_t {
+  static const int tls_ciphersuite_group_default = 0;
+  static const int tls_ciphersuite_group_compatibility = 1;
+  static const int tls_ciphersuite_group_legacy = 2;
+  static const int tls_ciphersuite_group_ats = 3;
+  static const int tls_ciphersuite_group_ats_compatibility = 4;
+}
+
+/// !
+/// @enum SSLProtocol enumeration
+/// @abstract Enumerations for the set of supported TLS and DTLS protocol versions.
+///
+/// @note This enumeration is deprecated. Use `tls_protocol_version_t` instead.
+abstract class SSLProtocol {
+  static const int kSSLProtocolUnknown = 0;
+  static const int kTLSProtocol1 = 4;
+  static const int kTLSProtocol11 = 7;
+  static const int kTLSProtocol12 = 8;
+  static const int kDTLSProtocol1 = 9;
+  static const int kTLSProtocol13 = 10;
+  static const int kDTLSProtocol12 = 11;
+  static const int kTLSProtocolMaxSupported = 999;
+  static const int kSSLProtocol2 = 1;
+  static const int kSSLProtocol3 = 2;
+  static const int kSSLProtocol3Only = 3;
+  static const int kTLSProtocol1Only = 5;
+  static const int kSSLProtocolAll = 6;
+}
+
+typedef sec_trust_t = ffi.Pointer<ObjCObject>;
+typedef sec_identity_t = ffi.Pointer<ObjCObject>;
+void _ObjCBlock_ffiVoid_seccertificatet_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, sec_certificate_t arg0) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function(sec_certificate_t arg0)>>()
+      .asFunction<void Function(sec_certificate_t arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_seccertificatet_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_seccertificatet_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_seccertificatet_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_seccertificatet_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_seccertificatet_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_seccertificatet_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, sec_certificate_t arg0) {
+  (_ObjCBlock_ffiVoid_seccertificatet_closureRegistry[block.ref.target.address]
+      as void Function(sec_certificate_t))(arg0);
+}
+
+class ObjCBlock_ffiVoid_seccertificatet extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_seccertificatet._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_seccertificatet.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(sec_certificate_t arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                sec_certificate_t arg0)>(
+                        _ObjCBlock_ffiVoid_seccertificatet_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_seccertificatet.fromFunction(
+      PedometerBindings lib, void Function(sec_certificate_t arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                sec_certificate_t arg0)>(
+                        _ObjCBlock_ffiVoid_seccertificatet_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_seccertificatet_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_seccertificatet.listener(
+      PedometerBindings lib, void Function(sec_certificate_t arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                sec_certificate_t arg0)>.listener(
+                        _ObjCBlock_ffiVoid_seccertificatet_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_seccertificatet_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, sec_certificate_t arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(sec_certificate_t arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block, sec_certificate_t arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                sec_certificate_t arg0)>()(_id, arg0);
+  }
+}
+
+typedef sec_certificate_t = ffi.Pointer<ObjCObject>;
+typedef sec_protocol_metadata_t = ffi.Pointer<ObjCObject>;
+typedef SSLCipherSuite = ffi.Uint16;
+void _ObjCBlock_ffiVoid_Uint16_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0) {
+  block.ref.target
+      .cast<ffi.NativeFunction<ffi.Void Function(ffi.Uint16 arg0)>>()
+      .asFunction<void Function(int arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_Uint16_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_Uint16_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_Uint16_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_Uint16_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_Uint16_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_Uint16_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0) {
+  (_ObjCBlock_ffiVoid_Uint16_closureRegistry[block.ref.target.address] as void
+      Function(int))(arg0);
+}
+
+class ObjCBlock_ffiVoid_Uint16 extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_Uint16._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_Uint16.fromFunctionPointer(PedometerBindings lib,
+      ffi.Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Uint16 arg0)>> ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Uint16 arg0)>(
+                        _ObjCBlock_ffiVoid_Uint16_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_Uint16.fromFunction(
+      PedometerBindings lib, void Function(int arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Uint16 arg0)>(
+                        _ObjCBlock_ffiVoid_Uint16_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_Uint16_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_Uint16.listener(
+      PedometerBindings lib, void Function(int arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Uint16 arg0)>.listener(
+                        _ObjCBlock_ffiVoid_Uint16_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_Uint16_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(ffi.Pointer<_ObjCBlock> block, ffi.Uint16 arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(int arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block, ffi.Uint16 arg0)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block, int arg0)>()(_id, arg0);
+  }
+}
+
+void _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0, dispatch_data_t arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(dispatch_data_t arg0, dispatch_data_t arg1)>>()
+      .asFunction<
+          void Function(
+              dispatch_data_t arg0, dispatch_data_t arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0, dispatch_data_t arg1) {
+  (_ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureRegistry[block
+      .ref
+      .target
+      .address] as void Function(dispatch_data_t, dispatch_data_t))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      dispatch_data_t arg0, dispatch_data_t arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0, dispatch_data_t arg1)>(
+                        _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat.fromFunction(
+      PedometerBindings lib,
+      void Function(dispatch_data_t arg0, dispatch_data_t arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0, dispatch_data_t arg1)>(
+                        _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat.listener(PedometerBindings lib,
+      void Function(dispatch_data_t arg0, dispatch_data_t arg1) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                dispatch_data_t arg0,
+                                dispatch_data_t arg1)>.listener(
+                        _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_dispatchdatat_dispatchdatat_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0,
+          dispatch_data_t arg1)>? _dartFuncListenerTrampoline;
+
+  void call(dispatch_data_t arg0, dispatch_data_t arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    dispatch_data_t arg0, dispatch_data_t arg1)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block, dispatch_data_t arg0,
+                dispatch_data_t arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef sec_protocol_options_t = ffi.Pointer<ObjCObject>;
+
+/// !
+/// @block sec_protocol_pre_shared_key_selection_t
+///
+/// @abstract
+/// Block to be invoked when the client must choose a PSK identity given a hint from its peer.
+///
+/// @param metadata
+/// A `sec_protocol_metadata_t` instance.
+///
+/// @param psk_identity_hint
+/// A `dispatch_data_t` object carrying the peer's (optional) PSK identity hint.
+///
+/// @param complete
+/// A `sec_protocol_pre_shared_key_selection_complete_t` block to be invoked when PSK selection is complete.
+typedef sec_protocol_pre_shared_key_selection_t = ffi.Pointer<_ObjCBlock>;
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        dispatch_data_t arg1,
+        sec_protocol_pre_shared_key_selection_complete_t arg2) {
+  block.ref.target
+          .cast<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      sec_protocol_metadata_t arg0,
+                      dispatch_data_t arg1,
+                      sec_protocol_pre_shared_key_selection_complete_t arg2)>>()
+          .asFunction<
+              void Function(sec_protocol_metadata_t arg0, dispatch_data_t arg1,
+                  sec_protocol_pre_shared_key_selection_complete_t arg2)>()(
+      arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureRegistry[
+      id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        dispatch_data_t arg1,
+        sec_protocol_pre_shared_key_selection_complete_t arg2) {
+  (_ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureRegistry[
+          block.ref.target.address]
+      as void Function(sec_protocol_metadata_t, dispatch_data_t,
+          sec_protocol_pre_shared_key_selection_complete_t))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      sec_protocol_metadata_t arg0,
+                      dispatch_data_t arg1,
+                      sec_protocol_pre_shared_key_selection_complete_t arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                dispatch_data_t arg1,
+                                sec_protocol_pre_shared_key_selection_complete_t
+                                    arg2)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet.fromFunction(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0, dispatch_data_t arg1,
+              sec_protocol_pre_shared_key_selection_complete_t arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                dispatch_data_t arg1,
+                                sec_protocol_pre_shared_key_selection_complete_t
+                                    arg2)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet.listener(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0, dispatch_data_t arg1,
+              sec_protocol_pre_shared_key_selection_complete_t arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                dispatch_data_t arg1,
+                                sec_protocol_pre_shared_key_selection_complete_t
+                                    arg2)>.listener(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_dispatchdatat_secprotocolpresharedkeyselectioncompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block,
+              sec_protocol_metadata_t arg0,
+              dispatch_data_t arg1,
+              sec_protocol_pre_shared_key_selection_complete_t arg2)>?
+      _dartFuncListenerTrampoline;
+
+  void call(sec_protocol_metadata_t arg0, dispatch_data_t arg1,
+      sec_protocol_pre_shared_key_selection_complete_t arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    sec_protocol_metadata_t arg0,
+                    dispatch_data_t arg1,
+                    sec_protocol_pre_shared_key_selection_complete_t arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                sec_protocol_metadata_t arg0,
+                dispatch_data_t arg1,
+                sec_protocol_pre_shared_key_selection_complete_t
+                    arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+/// !
+/// @block sec_protocol_pre_shared_key_selection_complete_t
+///
+/// @abstract
+/// Block to be invoked when a PSK selection event is complete and a PSK identity is chosen.
+///
+/// @param psk_identity
+/// A `dispatch_data_t` instance carrying the chosen PSK identity, or nil if one does not match.
+typedef sec_protocol_pre_shared_key_selection_complete_t
+    = ffi.Pointer<_ObjCBlock>;
+
+/// !
+/// @block sec_protocol_key_update_t
+///
+/// @abstract
+/// Block to be invoked when the protocol key MUST be updated.
+///
+/// @param metadata
+/// A `sec_protocol_metadata_t` instance.
+///
+/// @param complete
+/// A `sec_protocol_key_update_complete_t` to be invoked when the key update is complete.
+typedef sec_protocol_key_update_t = ffi.Pointer<_ObjCBlock>;
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        sec_protocol_key_update_complete_t arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(sec_protocol_metadata_t arg0,
+                  sec_protocol_key_update_complete_t arg1)>>()
+      .asFunction<
+          void Function(sec_protocol_metadata_t arg0,
+              sec_protocol_key_update_complete_t arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureRegistry[
+      id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        sec_protocol_key_update_complete_t arg1) {
+  (_ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureRegistry[
+          block.ref.target.address]
+      as void Function(sec_protocol_metadata_t,
+          sec_protocol_key_update_complete_t))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_metadata_t arg0,
+                      sec_protocol_key_update_complete_t arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_protocol_key_update_complete_t arg1)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet.fromFunction(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0,
+              sec_protocol_key_update_complete_t arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_protocol_key_update_complete_t arg1)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet.listener(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0,
+              sec_protocol_key_update_complete_t arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_protocol_key_update_complete_t
+                                    arg1)>.listener(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolkeyupdatecompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block,
+              sec_protocol_metadata_t arg0,
+              sec_protocol_key_update_complete_t arg1)>?
+      _dartFuncListenerTrampoline;
+
+  void call(
+      sec_protocol_metadata_t arg0, sec_protocol_key_update_complete_t arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    sec_protocol_metadata_t arg0,
+                    sec_protocol_key_update_complete_t arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                sec_protocol_metadata_t arg0,
+                sec_protocol_key_update_complete_t arg1)>()(_id, arg0, arg1);
+  }
+}
+
+/// !
+/// @block sec_protocol_key_update_complete_t
+///
+/// @abstract
+/// Block to be invoked when a key update event is handled.
+typedef sec_protocol_key_update_complete_t = ffi.Pointer<_ObjCBlock>;
+
+/// !
+/// @block sec_protocol_challenge_t
+///
+/// @abstract
+/// Block to be invoked when the protocol instance is issued a challenge (e.g., a TLS certificate request).
+///
+/// @param metadata
+/// A `sec_protocol_metadata_t` instance.
+///
+/// @param complete
+/// A `sec_protocol_challenge_complete_t` to be invoked when the challenge is complete.
+typedef sec_protocol_challenge_t = ffi.Pointer<_ObjCBlock>;
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        sec_protocol_challenge_complete_t arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(sec_protocol_metadata_t arg0,
+                  sec_protocol_challenge_complete_t arg1)>>()
+      .asFunction<
+          void Function(sec_protocol_metadata_t arg0,
+              sec_protocol_challenge_complete_t arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureRegistry[
+      id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        sec_protocol_challenge_complete_t arg1) {
+  (_ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureRegistry[
+          block.ref.target.address]
+      as void Function(sec_protocol_metadata_t,
+          sec_protocol_challenge_complete_t))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_metadata_t arg0,
+                      sec_protocol_challenge_complete_t arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_protocol_challenge_complete_t arg1)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet.fromFunction(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0,
+              sec_protocol_challenge_complete_t arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_protocol_challenge_complete_t arg1)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet.listener(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0,
+              sec_protocol_challenge_complete_t arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_protocol_challenge_complete_t
+                                    arg1)>.listener(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_secprotocolchallengecompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          sec_protocol_metadata_t arg0,
+          sec_protocol_challenge_complete_t arg1)>? _dartFuncListenerTrampoline;
+
+  void call(
+      sec_protocol_metadata_t arg0, sec_protocol_challenge_complete_t arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    sec_protocol_metadata_t arg0,
+                    sec_protocol_challenge_complete_t arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                sec_protocol_metadata_t arg0,
+                sec_protocol_challenge_complete_t arg1)>()(_id, arg0, arg1);
+  }
+}
+
+/// !
+/// @block sec_protocol_challenge_complete_t
+///
+/// @abstract
+/// Block to be invoked when an identity (authentication) challenge is complete.
+///
+/// Note: prior to macOS 10.15, iOS 13.0, watchOS 6.0, and tvOS 13.0, calling this
+/// block with a NULL `identity` argument was prohibited.
+///
+/// @param identity
+/// A `sec_identity_t` containing the identity to use for this challenge.
+typedef sec_protocol_challenge_complete_t = ffi.Pointer<_ObjCBlock>;
+
+/// !
+/// @block sec_protocol_verify_t
+///
+/// @abstract
+/// Block to be invoked when the protocol instance must verify the peer.
+///
+/// NOTE: this may be called one or more times for a given connection.
+///
+/// @param metadata
+/// A `sec_protocol_metadata_t` instance.
+///
+/// @param trust_ref
+/// A `sec_trust_t` instance.
+///
+/// @param complete
+/// A `sec_protocol_verify_finish_t` to be invoked when verification is complete.
+typedef sec_protocol_verify_t = ffi.Pointer<_ObjCBlock>;
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_fnPtrTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        sec_trust_t arg1,
+        sec_protocol_verify_complete_t arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(sec_protocol_metadata_t arg0, sec_trust_t arg1,
+                  sec_protocol_verify_complete_t arg2)>>()
+      .asFunction<
+          void Function(sec_protocol_metadata_t arg0, sec_trust_t arg1,
+              sec_protocol_verify_complete_t arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureRegistry[
+      id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void
+    _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureTrampoline(
+        ffi.Pointer<_ObjCBlock> block,
+        sec_protocol_metadata_t arg0,
+        sec_trust_t arg1,
+        sec_protocol_verify_complete_t arg2) {
+  (_ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureRegistry[
+          block.ref.target.address]
+      as void Function(sec_protocol_metadata_t, sec_trust_t,
+          sec_protocol_verify_complete_t))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(sec_protocol_metadata_t arg0,
+                      sec_trust_t arg1, sec_protocol_verify_complete_t arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_trust_t arg1,
+                                sec_protocol_verify_complete_t arg2)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet.fromFunction(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0, sec_trust_t arg1,
+              sec_protocol_verify_complete_t arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_trust_t arg1,
+                                sec_protocol_verify_complete_t arg2)>(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet.listener(
+      PedometerBindings lib,
+      void Function(sec_protocol_metadata_t arg0, sec_trust_t arg1,
+              sec_protocol_verify_complete_t arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                sec_protocol_metadata_t arg0,
+                                sec_trust_t arg1,
+                                sec_protocol_verify_complete_t arg2)>.listener(
+                        _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_secprotocolmetadatat_sectrustt_secprotocolverifycompletet_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          sec_protocol_metadata_t arg0,
+          sec_trust_t arg1,
+          sec_protocol_verify_complete_t arg2)>? _dartFuncListenerTrampoline;
+
+  void call(sec_protocol_metadata_t arg0, sec_trust_t arg1,
+      sec_protocol_verify_complete_t arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    sec_protocol_metadata_t arg0,
+                    sec_trust_t arg1,
+                    sec_protocol_verify_complete_t arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                sec_protocol_metadata_t arg0,
+                sec_trust_t arg1,
+                sec_protocol_verify_complete_t arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+/// !
+/// @block sec_protocol_verify_complete_t
+///
+/// @abstract
+/// Block to be invoked when verification is complete.
+///
+/// @param result
+/// A `bool` indicating if verification succeeded or failed.
+typedef sec_protocol_verify_complete_t = ffi.Pointer<_ObjCBlock>;
+
+/// !
+/// @enum NSURLCredentialPersistence
+/// @abstract Constants defining how long a credential will be kept around
+/// @constant NSURLCredentialPersistenceNone This credential won't be saved.
+/// @constant NSURLCredentialPersistenceForSession This credential will only be stored for this session.
+/// @constant NSURLCredentialPersistencePermanent This credential will be stored permanently. Note: Whereas in Mac OS X any application can access any credential provided the user gives permission, in iPhone OS an application can access only its own credentials.
+/// @constant NSURLCredentialPersistenceSynchronizable This credential will be stored permanently. Additionally, this credential will be distributed to other devices based on the owning AppleID.
+/// Note: Whereas in Mac OS X any application can access any credential provided the user gives permission, on iOS an application can
+/// access only its own credentials.
+abstract class NSURLCredentialPersistence {
+  static const int NSURLCredentialPersistenceNone = 0;
+  static const int NSURLCredentialPersistenceForSession = 1;
+  static const int NSURLCredentialPersistencePermanent = 2;
+  static const int NSURLCredentialPersistenceSynchronizable = 3;
+}
+
+/// !
+/// @class NSURLCredential
+/// @discussion This class is an immutable object representing an authentication credential.  The actual type of the credential is determined by the constructor called in the categories declared below.
+class NSURLCredential extends NSObject {
+  NSURLCredential._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLCredential] that points to the same underlying object as [other].
+  static NSURLCredential castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLCredential._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLCredential] that wraps the given raw object pointer.
+  static NSURLCredential castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLCredential._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLCredential].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLCredential1);
+  }
+
+  /// !
+  /// @abstract Determine whether this credential is or should be stored persistently
+  /// @result A value indicating whether this credential is stored permanently, per session or not at all.
+  int get persistence {
+    return _lib._objc_msgSend_779(_id, _lib._sel_persistence1);
+  }
+
+  /// !
+  /// @method initWithUser:password:persistence:
+  /// @abstract Initialize a NSURLCredential with a user and password
+  /// @param user the username
+  /// @param password the password
+  /// @param persistence enum that says to store per session, permanently or not at all
+  /// @result The initialized NSURLCredential
+  NSURLCredential initWithUser_password_persistence_(
+      NSString? user, NSString? password, int persistence) {
+    final _ret = _lib._objc_msgSend_780(
+        _id,
+        _lib._sel_initWithUser_password_persistence_1,
+        user?._id ?? ffi.nullptr,
+        password?._id ?? ffi.nullptr,
+        persistence);
+    return NSURLCredential._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method credentialWithUser:password:persistence:
+  /// @abstract Create a new NSURLCredential with a user and password
+  /// @param user the username
+  /// @param password the password
+  /// @param persistence enum that says to store per session, permanently or not at all
+  /// @result The new autoreleased NSURLCredential
+  static NSURLCredential credentialWithUser_password_persistence_(
+      PedometerBindings _lib,
+      NSString? user,
+      NSString? password,
+      int persistence) {
+    final _ret = _lib._objc_msgSend_781(
+        _lib._class_NSURLCredential1,
+        _lib._sel_credentialWithUser_password_persistence_1,
+        user?._id ?? ffi.nullptr,
+        password?._id ?? ffi.nullptr,
+        persistence);
+    return NSURLCredential._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get the username
+  /// @result The user string
+  NSString? get user {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_user1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get the password
+  /// @result The password string
+  /// @discussion This method might actually attempt to retrieve the
+  /// password from an external store, possible resulting in prompting,
+  /// so do not call it unless needed.
+  NSString? get password {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_password1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Find out if this credential has a password, without trying to get it
+  /// @result YES if this credential has a password, otherwise NO
+  /// @discussion If this credential's password is actually kept in an
+  /// external store, the password method may return nil even if this
+  /// method returns YES, since getting the password may fail, or the
+  /// user may refuse access.
+  bool get hasPassword {
+    return _lib._objc_msgSend_12(_id, _lib._sel_hasPassword1);
+  }
+
+  /// !
+  /// @method initWithIdentity:certificates:persistence:
+  /// @abstract Initialize an NSURLCredential with an identity and array of at least 1 client certificates (SecCertificateRef)
+  /// @param identity a SecIdentityRef object
+  /// @param certArray an array containing at least one SecCertificateRef objects
+  /// @param persistence enum that says to store per session, permanently or not at all
+  /// @result the Initialized NSURLCredential
+  NSURLCredential initWithIdentity_certificates_persistence_(
+      SecIdentityRef identity, NSArray? certArray, int persistence) {
+    final _ret = _lib._objc_msgSend_782(
+        _id,
+        _lib._sel_initWithIdentity_certificates_persistence_1,
+        identity,
+        certArray?._id ?? ffi.nullptr,
+        persistence);
+    return NSURLCredential._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method credentialWithIdentity:certificates:persistence:
+  /// @abstract Create a new NSURLCredential with an identity and certificate array
+  /// @param identity a SecIdentityRef object
+  /// @param certArray an array containing at least one SecCertificateRef objects
+  /// @param persistence enum that says to store per session, permanently or not at all
+  /// @result The new autoreleased NSURLCredential
+  static NSURLCredential credentialWithIdentity_certificates_persistence_(
+      PedometerBindings _lib,
+      SecIdentityRef identity,
+      NSArray? certArray,
+      int persistence) {
+    final _ret = _lib._objc_msgSend_783(
+        _lib._class_NSURLCredential1,
+        _lib._sel_credentialWithIdentity_certificates_persistence_1,
+        identity,
+        certArray?._id ?? ffi.nullptr,
+        persistence);
+    return NSURLCredential._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the SecIdentityRef of this credential, if it was created with a certificate and identity
+  /// @result A SecIdentityRef or NULL if this is a username/password credential
+  SecIdentityRef get identity {
+    return _lib._objc_msgSend_784(_id, _lib._sel_identity1);
+  }
+
+  /// !
+  /// @abstract Returns an NSArray of SecCertificateRef objects representing the client certificate for this credential, if this credential was created with an identity and certificate.
+  /// @result an NSArray of SecCertificateRef or NULL if this is a username/password credential
+  NSArray? get certificates {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_certificates1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method initWithTrust:
+  /// @abstract Initialize a new NSURLCredential which specifies that the specified trust has been accepted.
+  /// @result the Initialized NSURLCredential
+  NSURLCredential initWithTrust_(SecTrustRef trust) {
+    final _ret = _lib._objc_msgSend_785(_id, _lib._sel_initWithTrust_1, trust);
+    return NSURLCredential._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method credentialForTrust:
+  /// @abstract Create a new NSURLCredential which specifies that a handshake has been trusted.
+  /// @result The new autoreleased NSURLCredential
+  static NSURLCredential credentialForTrust_(
+      PedometerBindings _lib, SecTrustRef trust) {
+    final _ret = _lib._objc_msgSend_786(
+        _lib._class_NSURLCredential1, _lib._sel_credentialForTrust_1, trust);
+    return NSURLCredential._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLCredential new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLCredential1, _lib._sel_new1);
+    return NSURLCredential._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLCredential alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLCredential1, _lib._sel_alloc1);
+    return NSURLCredential._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLCredential1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLCredential1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLCredential1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLCredential1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLCredential1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLCredential1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLCredential1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @class NSURLProtectionSpace
+/// @discussion This class represents a protection space requiring authentication.
+class NSURLProtectionSpace extends NSObject {
+  NSURLProtectionSpace._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLProtectionSpace] that points to the same underlying object as [other].
+  static NSURLProtectionSpace castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLProtectionSpace._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLProtectionSpace] that wraps the given raw object pointer.
+  static NSURLProtectionSpace castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLProtectionSpace._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLProtectionSpace].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLProtectionSpace1);
+  }
+
+  /// !
+  /// @method initWithHost:port:protocol:realm:authenticationMethod:
+  /// @abstract Initialize a protection space representing an origin server, or a realm on one
+  /// @param host The hostname of the server
+  /// @param port The port for the server
+  /// @param protocol The protocol for this server - e.g. "http", "ftp", "https"
+  /// @param realm A string indicating a protocol-specific subdivision
+  /// of a single host. For http and https, this maps to the realm
+  /// string in http authentication challenges. For many other protocols
+  /// it is unused.
+  /// @param authenticationMethod The authentication method to use to access this protection space -
+  /// valid values include nil (default method), @"digest" and @"form".
+  /// @result The initialized object.
+  NSURLProtectionSpace initWithHost_port_protocol_realm_authenticationMethod_(
+      NSString? host,
+      int port,
+      NSString? protocol,
+      NSString? realm,
+      NSString? authenticationMethod) {
+    final _ret = _lib._objc_msgSend_787(
+        _id,
+        _lib._sel_initWithHost_port_protocol_realm_authenticationMethod_1,
+        host?._id ?? ffi.nullptr,
+        port,
+        protocol?._id ?? ffi.nullptr,
+        realm?._id ?? ffi.nullptr,
+        authenticationMethod?._id ?? ffi.nullptr);
+    return NSURLProtectionSpace._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method initWithProxyHost:port:type:realm:authenticationMethod:
+  /// @abstract Initialize a protection space representing a proxy server, or a realm on one
+  /// @param host The hostname of the proxy server
+  /// @param port The port for the proxy server
+  /// @param type The type of proxy - e.g. "http", "ftp", "SOCKS"
+  /// @param realm A string indicating a protocol-specific subdivision
+  /// of a single host. For http and https, this maps to the realm
+  /// string in http authentication challenges. For many other protocols
+  /// it is unused.
+  /// @param authenticationMethod The authentication method to use to access this protection space -
+  /// valid values include nil (default method) and @"digest"
+  /// @result The initialized object.
+  NSURLProtectionSpace initWithProxyHost_port_type_realm_authenticationMethod_(
+      NSString? host,
+      int port,
+      NSString? type,
+      NSString? realm,
+      NSString? authenticationMethod) {
+    final _ret = _lib._objc_msgSend_787(
+        _id,
+        _lib._sel_initWithProxyHost_port_type_realm_authenticationMethod_1,
+        host?._id ?? ffi.nullptr,
+        port,
+        type?._id ?? ffi.nullptr,
+        realm?._id ?? ffi.nullptr,
+        authenticationMethod?._id ?? ffi.nullptr);
+    return NSURLProtectionSpace._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get the authentication realm for which the protection space that
+  /// needs authentication
+  /// @discussion This is generally only available for http
+  /// authentication, and may be nil otherwise.
+  /// @result The realm string
+  NSString? get realm {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_realm1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Determine if the password for this protection space can be sent securely
+  /// @result YES if a secure authentication method or protocol will be used, NO otherwise
+  bool get receivesCredentialSecurely {
+    return _lib._objc_msgSend_12(_id, _lib._sel_receivesCredentialSecurely1);
+  }
+
+  /// !
+  /// @abstract Determine if this authenticating protection space is a proxy server
+  /// @result YES if a proxy, NO otherwise
+  bool get isProxy {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isProxy1);
+  }
+
+  /// !
+  /// @abstract Get the proxy host if this is a proxy authentication, or the host from the URL.
+  /// @result The host for this protection space.
+  NSString? get host {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_host1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get the proxy port if this is a proxy authentication, or the port from the URL.
+  /// @result The port for this protection space, or 0 if not set.
+  int get port {
+    return _lib._objc_msgSend_70(_id, _lib._sel_port1);
+  }
+
+  /// !
+  /// @abstract Get the type of this protection space, if a proxy
+  /// @result The type string, or nil if not a proxy.
+  NSString? get proxyType {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_proxyType1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get the protocol of this protection space, if not a proxy
+  /// @result The type string, or nil if a proxy.
+  NSString? get protocol {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_protocol1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get the authentication method to be used for this protection space
+  /// @result The authentication method
+  NSString? get authenticationMethod {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_authenticationMethod1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns an array of acceptable certificate issuing authorities for client certification authentication. Issuers are identified by their distinguished name and returned as a DER encoded data.
+  /// @result An array of NSData objects.  (Nil if the authenticationMethod is not NSURLAuthenticationMethodClientCertificate)
+  NSArray? get distinguishedNames {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_distinguishedNames1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns a SecTrustRef which represents the state of the servers SSL transaction state
+  /// @result A SecTrustRef from Security.framework.  (Nil if the authenticationMethod is not NSURLAuthenticationMethodServerTrust)
+  SecTrustRef get serverTrust {
+    return _lib._objc_msgSend_788(_id, _lib._sel_serverTrust1);
+  }
+
+  static NSURLProtectionSpace new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLProtectionSpace1, _lib._sel_new1);
+    return NSURLProtectionSpace._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLProtectionSpace alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLProtectionSpace1, _lib._sel_alloc1);
+    return NSURLProtectionSpace._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLProtectionSpace1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLProtectionSpace1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLProtectionSpace1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLProtectionSpace1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLProtectionSpace1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLProtectionSpace1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLProtectionSpace1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @class NSURLCredentialStorage
+/// @discussion NSURLCredentialStorage implements a singleton object (shared instance) which manages the shared credentials cache. Note: Whereas in Mac OS X any application can access any credential with a persistence of NSURLCredentialPersistencePermanent provided the user gives permission, in iPhone OS an application can access only its own credentials.
+class NSURLCredentialStorage extends NSObject {
+  NSURLCredentialStorage._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLCredentialStorage] that points to the same underlying object as [other].
+  static NSURLCredentialStorage castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLCredentialStorage._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLCredentialStorage] that wraps the given raw object pointer.
+  static NSURLCredentialStorage castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLCredentialStorage._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLCredentialStorage].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLCredentialStorage1);
+  }
+
+  /// !
+  /// @property sharedCredentialStorage
+  /// @abstract Get the shared singleton authentication storage
+  /// @result the shared authentication storage
+  static NSURLCredentialStorage? getSharedCredentialStorage(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_789(_lib._class_NSURLCredentialStorage1,
+        _lib._sel_sharedCredentialStorage1);
+    return _ret.address == 0
+        ? null
+        : NSURLCredentialStorage._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method credentialsForProtectionSpace:
+  /// @abstract Get a dictionary mapping usernames to credentials for the specified protection space.
+  /// @param space An NSURLProtectionSpace indicating the protection space for which to get credentials
+  /// @result A dictionary where the keys are usernames and the values are the corresponding NSURLCredentials.
+  NSDictionary credentialsForProtectionSpace_(NSURLProtectionSpace? space) {
+    final _ret = _lib._objc_msgSend_790(_id,
+        _lib._sel_credentialsForProtectionSpace_1, space?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Get a dictionary mapping NSURLProtectionSpaces to dictionaries which map usernames to NSURLCredentials
+  /// @result an NSDictionary where the keys are NSURLProtectionSpaces
+  /// and the values are dictionaries, in which the keys are usernames
+  /// and the values are NSURLCredentials
+  NSDictionary? get allCredentials {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_allCredentials1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method setCredential:forProtectionSpace:
+  /// @abstract Add a new credential to the set for the specified protection space or replace an existing one.
+  /// @param credential The credential to set.
+  /// @param space The protection space for which to add it.
+  /// @discussion Multiple credentials may be set for a given protection space, but each must have
+  /// a distinct user. If a credential with the same user is already set for the protection space,
+  /// the new one will replace it.
+  void setCredential_forProtectionSpace_(
+      NSURLCredential? credential, NSURLProtectionSpace? space) {
+    _lib._objc_msgSend_791(_id, _lib._sel_setCredential_forProtectionSpace_1,
+        credential?._id ?? ffi.nullptr, space?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method removeCredential:forProtectionSpace:
+  /// @abstract Remove the credential from the set for the specified protection space.
+  /// @param credential The credential to remove.
+  /// @param space The protection space for which a credential should be removed
+  /// @discussion The credential is removed from both persistent and temporary storage. A credential that
+  /// has a persistence policy of NSURLCredentialPersistenceSynchronizable will fail.
+  /// See removeCredential:forProtectionSpace:options.
+  void removeCredential_forProtectionSpace_(
+      NSURLCredential? credential, NSURLProtectionSpace? space) {
+    _lib._objc_msgSend_791(_id, _lib._sel_removeCredential_forProtectionSpace_1,
+        credential?._id ?? ffi.nullptr, space?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method removeCredential:forProtectionSpace:options
+  /// @abstract Remove the credential from the set for the specified protection space based on options.
+  /// @param credential The credential to remove.
+  /// @param space The protection space for which a credential should be removed
+  /// @param options A dictionary containing options to consider when removing the credential.  This should
+  /// be used when trying to delete a credential that has the NSURLCredentialPersistenceSynchronizable policy.
+  /// Please note that when NSURLCredential objects that have a NSURLCredentialPersistenceSynchronizable policy
+  /// are removed, the credential will be removed on all devices that contain this credential.
+  /// @discussion The credential is removed from both persistent and temporary storage.
+  void removeCredential_forProtectionSpace_options_(NSURLCredential? credential,
+      NSURLProtectionSpace? space, NSDictionary? options) {
+    _lib._objc_msgSend_792(
+        _id,
+        _lib._sel_removeCredential_forProtectionSpace_options_1,
+        credential?._id ?? ffi.nullptr,
+        space?._id ?? ffi.nullptr,
+        options?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method defaultCredentialForProtectionSpace:
+  /// @abstract Get the default credential for the specified protection space.
+  /// @param space The protection space for which to get the default credential.
+  NSURLCredential defaultCredentialForProtectionSpace_(
+      NSURLProtectionSpace? space) {
+    final _ret = _lib._objc_msgSend_793(
+        _id,
+        _lib._sel_defaultCredentialForProtectionSpace_1,
+        space?._id ?? ffi.nullptr);
+    return NSURLCredential._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method setDefaultCredential:forProtectionSpace:
+  /// @abstract Set the default credential for the specified protection space.
+  /// @param credential The credential to set as default.
+  /// @param space The protection space for which the credential should be set as default.
+  /// @discussion If the credential is not yet in the set for the protection space, it will be added to it.
+  void setDefaultCredential_forProtectionSpace_(
+      NSURLCredential? credential, NSURLProtectionSpace? space) {
+    _lib._objc_msgSend_791(
+        _id,
+        _lib._sel_setDefaultCredential_forProtectionSpace_1,
+        credential?._id ?? ffi.nullptr,
+        space?._id ?? ffi.nullptr);
+  }
+
+  void getCredentialsForProtectionSpace_task_completionHandler_(
+      NSURLProtectionSpace? protectionSpace,
+      NSURLSessionTask? task,
+      ObjCBlock_ffiVoid_NSDictionary completionHandler) {
+    _lib._objc_msgSend_794(
+        _id,
+        _lib._sel_getCredentialsForProtectionSpace_task_completionHandler_1,
+        protectionSpace?._id ?? ffi.nullptr,
+        task?._id ?? ffi.nullptr,
+        completionHandler._id);
+  }
+
+  void setCredential_forProtectionSpace_task_(NSURLCredential? credential,
+      NSURLProtectionSpace? protectionSpace, NSURLSessionTask? task) {
+    _lib._objc_msgSend_795(
+        _id,
+        _lib._sel_setCredential_forProtectionSpace_task_1,
+        credential?._id ?? ffi.nullptr,
+        protectionSpace?._id ?? ffi.nullptr,
+        task?._id ?? ffi.nullptr);
+  }
+
+  void removeCredential_forProtectionSpace_options_task_(
+      NSURLCredential? credential,
+      NSURLProtectionSpace? protectionSpace,
+      NSDictionary? options,
+      NSURLSessionTask? task) {
+    _lib._objc_msgSend_796(
+        _id,
+        _lib._sel_removeCredential_forProtectionSpace_options_task_1,
+        credential?._id ?? ffi.nullptr,
+        protectionSpace?._id ?? ffi.nullptr,
+        options?._id ?? ffi.nullptr,
+        task?._id ?? ffi.nullptr);
+  }
+
+  void getDefaultCredentialForProtectionSpace_task_completionHandler_(
+      NSURLProtectionSpace? space,
+      NSURLSessionTask? task,
+      ObjCBlock_ffiVoid_NSURLCredential completionHandler) {
+    _lib._objc_msgSend_797(
+        _id,
+        _lib._sel_getDefaultCredentialForProtectionSpace_task_completionHandler_1,
+        space?._id ?? ffi.nullptr,
+        task?._id ?? ffi.nullptr,
+        completionHandler._id);
+  }
+
+  void setDefaultCredential_forProtectionSpace_task_(
+      NSURLCredential? credential,
+      NSURLProtectionSpace? protectionSpace,
+      NSURLSessionTask? task) {
+    _lib._objc_msgSend_795(
+        _id,
+        _lib._sel_setDefaultCredential_forProtectionSpace_task_1,
+        credential?._id ?? ffi.nullptr,
+        protectionSpace?._id ?? ffi.nullptr,
+        task?._id ?? ffi.nullptr);
+  }
+
+  static NSURLCredentialStorage new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLCredentialStorage1, _lib._sel_new1);
+    return NSURLCredentialStorage._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLCredentialStorage alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLCredentialStorage1, _lib._sel_alloc1);
+    return NSURLCredentialStorage._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLCredentialStorage1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLCredentialStorage1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLCredentialStorage1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLCredentialStorage1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLCredentialStorage1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLCredentialStorage1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLCredentialStorage1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSDictionary_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSDictionary_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSDictionary_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSDictionary_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSDictionary_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSDictionary_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSDictionary_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSDictionary_closureRegistry[block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSDictionary extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSDictionary._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDictionary.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSDictionary_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSDictionary.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSDictionary_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDictionary_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSDictionary.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSDictionary_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSDictionary_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSURLCredential_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSURLCredential_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSURLCredential_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSURLCredential_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSURLCredential_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSURLCredential_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSURLCredential_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSURLCredential_closureRegistry[block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSURLCredential extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSURLCredential._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURLCredential.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSURLCredential_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURLCredential.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSURLCredential_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURLCredential_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSURLCredential.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSURLCredential_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURLCredential_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+abstract class CFNetworkErrors {
+  static const int kCFHostErrorHostNotFound = 1;
+  static const int kCFHostErrorUnknown = 2;
+  static const int kCFSOCKSErrorUnknownClientVersion = 100;
+  static const int kCFSOCKSErrorUnsupportedServerVersion = 101;
+  static const int kCFSOCKS4ErrorRequestFailed = 110;
+  static const int kCFSOCKS4ErrorIdentdFailed = 111;
+  static const int kCFSOCKS4ErrorIdConflict = 112;
+  static const int kCFSOCKS4ErrorUnknownStatusCode = 113;
+  static const int kCFSOCKS5ErrorBadState = 120;
+  static const int kCFSOCKS5ErrorBadResponseAddr = 121;
+  static const int kCFSOCKS5ErrorBadCredentials = 122;
+  static const int kCFSOCKS5ErrorUnsupportedNegotiationMethod = 123;
+  static const int kCFSOCKS5ErrorNoAcceptableMethod = 124;
+  static const int kCFFTPErrorUnexpectedStatusCode = 200;
+  static const int kCFErrorHTTPAuthenticationTypeUnsupported = 300;
+  static const int kCFErrorHTTPBadCredentials = 301;
+  static const int kCFErrorHTTPConnectionLost = 302;
+  static const int kCFErrorHTTPParseFailure = 303;
+  static const int kCFErrorHTTPRedirectionLoopDetected = 304;
+  static const int kCFErrorHTTPBadURL = 305;
+  static const int kCFErrorHTTPProxyConnectionFailure = 306;
+  static const int kCFErrorHTTPBadProxyCredentials = 307;
+  static const int kCFErrorPACFileError = 308;
+  static const int kCFErrorPACFileAuth = 309;
+  static const int kCFErrorHTTPSProxyConnectionFailure = 310;
+  static const int
+      kCFStreamErrorHTTPSProxyFailureUnexpectedResponseToCONNECTMethod = 311;
+  static const int kCFURLErrorBackgroundSessionInUseByAnotherProcess = -996;
+  static const int kCFURLErrorBackgroundSessionWasDisconnected = -997;
+  static const int kCFURLErrorUnknown = -998;
+  static const int kCFURLErrorCancelled = -999;
+  static const int kCFURLErrorBadURL = -1000;
+  static const int kCFURLErrorTimedOut = -1001;
+  static const int kCFURLErrorUnsupportedURL = -1002;
+  static const int kCFURLErrorCannotFindHost = -1003;
+  static const int kCFURLErrorCannotConnectToHost = -1004;
+  static const int kCFURLErrorNetworkConnectionLost = -1005;
+  static const int kCFURLErrorDNSLookupFailed = -1006;
+  static const int kCFURLErrorHTTPTooManyRedirects = -1007;
+  static const int kCFURLErrorResourceUnavailable = -1008;
+  static const int kCFURLErrorNotConnectedToInternet = -1009;
+  static const int kCFURLErrorRedirectToNonExistentLocation = -1010;
+  static const int kCFURLErrorBadServerResponse = -1011;
+  static const int kCFURLErrorUserCancelledAuthentication = -1012;
+  static const int kCFURLErrorUserAuthenticationRequired = -1013;
+  static const int kCFURLErrorZeroByteResource = -1014;
+  static const int kCFURLErrorCannotDecodeRawData = -1015;
+  static const int kCFURLErrorCannotDecodeContentData = -1016;
+  static const int kCFURLErrorCannotParseResponse = -1017;
+  static const int kCFURLErrorInternationalRoamingOff = -1018;
+  static const int kCFURLErrorCallIsActive = -1019;
+  static const int kCFURLErrorDataNotAllowed = -1020;
+  static const int kCFURLErrorRequestBodyStreamExhausted = -1021;
+  static const int kCFURLErrorAppTransportSecurityRequiresSecureConnection =
+      -1022;
+  static const int kCFURLErrorFileDoesNotExist = -1100;
+  static const int kCFURLErrorFileIsDirectory = -1101;
+  static const int kCFURLErrorNoPermissionsToReadFile = -1102;
+  static const int kCFURLErrorDataLengthExceedsMaximum = -1103;
+  static const int kCFURLErrorFileOutsideSafeArea = -1104;
+  static const int kCFURLErrorSecureConnectionFailed = -1200;
+  static const int kCFURLErrorServerCertificateHasBadDate = -1201;
+  static const int kCFURLErrorServerCertificateUntrusted = -1202;
+  static const int kCFURLErrorServerCertificateHasUnknownRoot = -1203;
+  static const int kCFURLErrorServerCertificateNotYetValid = -1204;
+  static const int kCFURLErrorClientCertificateRejected = -1205;
+  static const int kCFURLErrorClientCertificateRequired = -1206;
+  static const int kCFURLErrorCannotLoadFromNetwork = -2000;
+  static const int kCFURLErrorCannotCreateFile = -3000;
+  static const int kCFURLErrorCannotOpenFile = -3001;
+  static const int kCFURLErrorCannotCloseFile = -3002;
+  static const int kCFURLErrorCannotWriteToFile = -3003;
+  static const int kCFURLErrorCannotRemoveFile = -3004;
+  static const int kCFURLErrorCannotMoveFile = -3005;
+  static const int kCFURLErrorDownloadDecodingFailedMidStream = -3006;
+  static const int kCFURLErrorDownloadDecodingFailedToComplete = -3007;
+  static const int kCFHTTPCookieCannotParseCookieFile = -4000;
+  static const int kCFNetServiceErrorUnknown = -72000;
+  static const int kCFNetServiceErrorCollision = -72001;
+  static const int kCFNetServiceErrorNotFound = -72002;
+  static const int kCFNetServiceErrorInProgress = -72003;
+  static const int kCFNetServiceErrorBadArgument = -72004;
+  static const int kCFNetServiceErrorCancel = -72005;
+  static const int kCFNetServiceErrorInvalid = -72006;
+  static const int kCFNetServiceErrorTimeout = -72007;
+  static const int kCFNetServiceErrorDNSServiceFailure = -73000;
+}
+
+final class __CFHost extends ffi.Opaque {}
+
+abstract class CFHostInfoType {
+  static const int kCFHostAddresses = 0;
+  static const int kCFHostNames = 1;
+  static const int kCFHostReachability = 2;
+}
+
+@ffi.Packed(2)
+final class CFHostClientContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external CFAllocatorRetainCallBack retain;
+
+  external CFAllocatorReleaseCallBack release;
+
+  external CFAllocatorCopyDescriptionCallBack copyDescription;
+}
+
+typedef CFHostRef = ffi.Pointer<__CFHost>;
+typedef CFHostClientCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFHostRef theHost, ffi.Int32 typeInfo,
+            ffi.Pointer<CFStreamError> error, ffi.Pointer<ffi.Void> info)>>;
+
+final class __CFNetService extends ffi.Opaque {}
+
+final class __CFNetServiceMonitor extends ffi.Opaque {}
+
+final class __CFNetServiceBrowser extends ffi.Opaque {}
+
+abstract class CFNetServicesError {
+  static const int kCFNetServicesErrorUnknown = -72000;
+  static const int kCFNetServicesErrorCollision = -72001;
+  static const int kCFNetServicesErrorNotFound = -72002;
+  static const int kCFNetServicesErrorInProgress = -72003;
+  static const int kCFNetServicesErrorBadArgument = -72004;
+  static const int kCFNetServicesErrorCancel = -72005;
+  static const int kCFNetServicesErrorInvalid = -72006;
+  static const int kCFNetServicesErrorTimeout = -72007;
+  static const int kCFNetServicesErrorMissingRequiredConfiguration = -72008;
+}
+
+abstract class CFNetServiceMonitorType {
+  static const int kCFNetServiceMonitorTXT = 1;
+}
+
+abstract class CFNetServiceRegisterFlags {
+  static const int kCFNetServiceFlagNoAutoRename = 1;
+}
+
+abstract class CFNetServiceBrowserFlags {
+  static const int kCFNetServiceFlagMoreComing = 1;
+  static const int kCFNetServiceFlagIsDomain = 2;
+  static const int kCFNetServiceFlagIsDefault = 4;
+  static const int kCFNetServiceFlagIsRegistrationDomain = 4;
+  static const int kCFNetServiceFlagRemove = 8;
+}
+
+@ffi.Packed(2)
+final class CFNetServiceClientContext extends ffi.Struct {
+  @CFIndex()
+  external int version;
+
+  external ffi.Pointer<ffi.Void> info;
+
+  external CFAllocatorRetainCallBack retain;
+
+  external CFAllocatorReleaseCallBack release;
+
+  external CFAllocatorCopyDescriptionCallBack copyDescription;
+}
+
+typedef CFNetServiceRef = ffi.Pointer<__CFNetService>;
+typedef CFNetServiceClientCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(CFNetServiceRef theService,
+            ffi.Pointer<CFStreamError> error, ffi.Pointer<ffi.Void> info)>>;
+typedef CFNetServiceMonitorRef = ffi.Pointer<__CFNetServiceMonitor>;
+typedef CFNetServiceMonitorClientCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFNetServiceMonitorRef theMonitor,
+            CFNetServiceRef theService,
+            ffi.Int32 typeInfo,
+            CFDataRef rdata,
+            ffi.Pointer<CFStreamError> error,
+            ffi.Pointer<ffi.Void> info)>>;
+typedef CFNetServiceBrowserRef = ffi.Pointer<__CFNetServiceBrowser>;
+typedef CFNetServiceBrowserClientCallBack = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(
+            CFNetServiceBrowserRef browser,
+            CFOptionFlags flags,
+            CFTypeRef domainOrService,
+            ffi.Pointer<CFStreamError> error,
+            ffi.Pointer<ffi.Void> info)>>;
+
+final class __CFHTTPMessage extends ffi.Opaque {}
+
+typedef CFHTTPMessageRef = ffi.Pointer<__CFHTTPMessage>;
+
+abstract class CFStreamErrorHTTP {
+  static const int kCFStreamErrorHTTPParseFailure = -1;
+  static const int kCFStreamErrorHTTPRedirectionLoop = -2;
+  static const int kCFStreamErrorHTTPBadURL = -3;
+}
+
+final class _CFHTTPAuthentication extends ffi.Opaque {}
+
+abstract class CFStreamErrorHTTPAuthentication {
+  static const int kCFStreamErrorHTTPAuthenticationTypeUnsupported = -1000;
+  static const int kCFStreamErrorHTTPAuthenticationBadUserName = -1001;
+  static const int kCFStreamErrorHTTPAuthenticationBadPassword = -1002;
+}
+
+typedef CFHTTPAuthenticationRef = ffi.Pointer<_CFHTTPAuthentication>;
+
+final class __CFNetDiagnostic extends ffi.Opaque {}
+
+abstract class CFNetDiagnosticStatusValues {
+  static const int kCFNetDiagnosticNoErr = 0;
+  static const int kCFNetDiagnosticErr = -66560;
+  static const int kCFNetDiagnosticConnectionUp = -66559;
+  static const int kCFNetDiagnosticConnectionIndeterminate = -66558;
+  static const int kCFNetDiagnosticConnectionDown = -66557;
+}
+
+typedef CFNetDiagnosticRef = ffi.Pointer<__CFNetDiagnostic>;
+typedef CFNetDiagnosticStatus = CFIndex;
+typedef CFProxyAutoConfigurationResultCallback = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(ffi.Pointer<ffi.Void> client, CFArrayRef proxyList,
+            CFErrorRef error)>>;
+
+/// !
+/// @enum Codes associated with NSURLErrorNetworkUnavailableReasonKey
+/// @abstract Constants used by NSError to indicate that a URLSessionTask failed because of unsatisfiable network constraints.
+/// @discussion For example if the URLSessionConfiguration property allowsExpensiveNetworkAccess was set to NO and the only interfaces available were marked as expensive then the task would fail with a NSURLErrorNotConnectedToInternet error and the userInfo dictionary would contain the value NSURLErrorNetworkUnavailableReasonExpensive for the key NSURLErrorNetworkUnavailableReason.
+abstract class NSURLErrorNetworkUnavailableReason {
+  static const int NSURLErrorNetworkUnavailableReasonCellular = 0;
+  static const int NSURLErrorNetworkUnavailableReasonExpensive = 1;
+  static const int NSURLErrorNetworkUnavailableReasonConstrained = 2;
+}
+
+/// !
+/// @class NSURLProtocol
+///
+/// @abstract NSURLProtocol is an abstract class which provides the
+/// basic structure for performing protocol-specific loading of URL
+/// data. Concrete subclasses handle the specifics associated with one
+/// or more protocols or URL schemes.
+class NSURLProtocol extends NSObject {
+  NSURLProtocol._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLProtocol] that points to the same underlying object as [other].
+  static NSURLProtocol castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLProtocol._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSURLProtocol] that wraps the given raw object pointer.
+  static NSURLProtocol castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLProtocol._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLProtocol].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURLProtocol1);
+  }
+
+  /// !
+  /// @method initWithRequest:cachedResponse:client:
+  /// @abstract Initializes an NSURLProtocol given request,
+  /// cached response, and client.
+  /// @param request The request to load.
+  /// @param cachedResponse A response that has been retrieved from the
+  /// cache for the given request. The protocol implementation should
+  /// apply protocol-specific validity checks if such tests are
+  /// necessary.
+  /// @param client The NSURLProtocolClient object that serves as the
+  /// interface the protocol implementation can use to report results back
+  /// to the URL loading system.
+  NSURLProtocol initWithRequest_cachedResponse_client_(NSURLRequest? request,
+      NSCachedURLResponse? cachedResponse, NSObject? client) {
+    final _ret = _lib._objc_msgSend_798(
+        _id,
+        _lib._sel_initWithRequest_cachedResponse_client_1,
+        request?._id ?? ffi.nullptr,
+        cachedResponse?._id ?? ffi.nullptr,
+        client?._id ?? ffi.nullptr);
+    return NSURLProtocol._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the NSURLProtocolClient of the receiver.
+  /// @result The NSURLProtocolClient of the receiver.
+  NSObject? get client {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_client1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the NSURLRequest of the receiver.
+  /// @result The NSURLRequest of the receiver.
+  NSURLRequest? get request {
+    final _ret = _lib._objc_msgSend_687(_id, _lib._sel_request1);
+    return _ret.address == 0
+        ? null
+        : NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Returns the NSCachedURLResponse of the receiver.
+  /// @result The NSCachedURLResponse of the receiver.
+  NSCachedURLResponse? get cachedResponse {
+    final _ret = _lib._objc_msgSend_799(_id, _lib._sel_cachedResponse1);
+    return _ret.address == 0
+        ? null
+        : NSCachedURLResponse._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method canInitWithRequest:
+  /// @abstract This method determines whether this protocol can handle
+  /// the given request.
+  /// @discussion A concrete subclass should inspect the given request and
+  /// determine whether or not the implementation can perform a load with
+  /// that request. This is an abstract method. Subclasses must provide an
+  /// implementation.
+  /// @param request A request to inspect.
+  /// @result YES if the protocol can handle the given request, NO if not.
+  static bool canInitWithRequest_(
+      PedometerBindings _lib, NSURLRequest? request) {
+    return _lib._objc_msgSend_776(_lib._class_NSURLProtocol1,
+        _lib._sel_canInitWithRequest_1, request?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method canonicalRequestForRequest:
+  /// @abstract This method returns a canonical version of the given
+  /// request.
+  /// @discussion It is up to each concrete protocol implementation to
+  /// define what "canonical" means. However, a protocol should
+  /// guarantee that the same input request always yields the same
+  /// canonical form. Special consideration should be given when
+  /// implementing this method since the canonical form of a request is
+  /// used to look up objects in the URL cache, a process which performs
+  /// equality checks between NSURLRequest objects.
+  /// <p>
+  /// This is an abstract method; subclasses must provide an
+  /// implementation.
+  /// @param request A request to make canonical.
+  /// @result The canonical form of the given request.
+  static NSURLRequest canonicalRequestForRequest_(
+      PedometerBindings _lib, NSURLRequest? request) {
+    final _ret = _lib._objc_msgSend_800(_lib._class_NSURLProtocol1,
+        _lib._sel_canonicalRequestForRequest_1, request?._id ?? ffi.nullptr);
+    return NSURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method requestIsCacheEquivalent:toRequest:
+  /// @abstract Compares two requests for equivalence with regard to caching.
+  /// @discussion Requests are considered equivalent for cache purposes
+  /// if and only if they would be handled by the same protocol AND that
+  /// protocol declares them equivalent after performing
+  /// implementation-specific checks.
+  /// @result YES if the two requests are cache-equivalent, NO otherwise.
+  static bool requestIsCacheEquivalent_toRequest_(
+      PedometerBindings _lib, NSURLRequest? a, NSURLRequest? b) {
+    return _lib._objc_msgSend_801(
+        _lib._class_NSURLProtocol1,
+        _lib._sel_requestIsCacheEquivalent_toRequest_1,
+        a?._id ?? ffi.nullptr,
+        b?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method startLoading
+  /// @abstract Starts protocol-specific loading of a request.
+  /// @discussion When this method is called, the protocol implementation
+  /// should start loading a request.
+  void startLoading() {
+    _lib._objc_msgSend_1(_id, _lib._sel_startLoading1);
+  }
+
+  /// !
+  /// @method stopLoading
+  /// @abstract Stops protocol-specific loading of a request.
+  /// @discussion When this method is called, the protocol implementation
+  /// should end the work of loading a request. This could be in response
+  /// to a cancel operation, so protocol implementations must be able to
+  /// handle this call while a load is in progress.
+  void stopLoading() {
+    _lib._objc_msgSend_1(_id, _lib._sel_stopLoading1);
+  }
+
+  /// !
+  /// @method propertyForKey:inRequest:
+  /// @abstract Returns the property in the given request previously
+  /// stored with the given key.
+  /// @discussion The purpose of this method is to provide an interface
+  /// for protocol implementors to access protocol-specific information
+  /// associated with NSURLRequest objects.
+  /// @param key The string to use for the property lookup.
+  /// @param request The request to use for the property lookup.
+  /// @result The property stored with the given key, or nil if no property
+  /// had previously been stored with the given key in the given request.
+  static NSObject propertyForKey_inRequest_(
+      PedometerBindings _lib, NSString? key, NSURLRequest? request) {
+    final _ret = _lib._objc_msgSend_802(
+        _lib._class_NSURLProtocol1,
+        _lib._sel_propertyForKey_inRequest_1,
+        key?._id ?? ffi.nullptr,
+        request?._id ?? ffi.nullptr);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @method setProperty:forKey:inRequest:
+  /// @abstract Stores the given property in the given request using the
+  /// given key.
+  /// @discussion The purpose of this method is to provide an interface
+  /// for protocol implementors to customize protocol-specific
+  /// information associated with NSMutableURLRequest objects.
+  /// @param value The property to store.
+  /// @param key The string to use for the property storage.
+  /// @param request The request in which to store the property.
+  static void setProperty_forKey_inRequest_(PedometerBindings _lib,
+      NSObject value, NSString? key, NSMutableURLRequest? request) {
+    _lib._objc_msgSend_808(
+        _lib._class_NSURLProtocol1,
+        _lib._sel_setProperty_forKey_inRequest_1,
+        value._id,
+        key?._id ?? ffi.nullptr,
+        request?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method removePropertyForKey:inRequest:
+  /// @abstract Remove any property stored under the given key
+  /// @discussion Like setProperty:forKey:inRequest: above, the purpose of this
+  /// method is to give protocol implementors the ability to store
+  /// protocol-specific information in an NSURLRequest
+  /// @param key The key whose value should be removed
+  /// @param request The request to be modified
+  static void removePropertyForKey_inRequest_(
+      PedometerBindings _lib, NSString? key, NSMutableURLRequest? request) {
+    _lib._objc_msgSend_809(
+        _lib._class_NSURLProtocol1,
+        _lib._sel_removePropertyForKey_inRequest_1,
+        key?._id ?? ffi.nullptr,
+        request?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method registerClass:
+  /// @abstract This method registers a protocol class, making it visible
+  /// to several other NSURLProtocol class methods.
+  /// @discussion When the URL loading system begins to load a request,
+  /// each protocol class that has been registered is consulted in turn to
+  /// see if it can be initialized with a given request. The first
+  /// protocol handler class to provide a YES answer to
+  /// <tt>+canInitWithRequest:</tt> "wins" and that protocol
+  /// implementation is used to perform the URL load. There is no
+  /// guarantee that all registered protocol classes will be consulted.
+  /// Hence, it should be noted that registering a class places it first
+  /// on the list of classes that will be consulted in calls to
+  /// <tt>+canInitWithRequest:</tt>, moving it in front of all classes
+  /// that had been registered previously.
+  /// <p>A similar design governs the process to create the canonical form
+  /// of a request with the <tt>+canonicalRequestForRequest:</tt> class
+  /// method.
+  /// @param protocolClass the class to register.
+  /// @result YES if the protocol was registered successfully, NO if not.
+  /// The only way that failure can occur is if the given class is not a
+  /// subclass of NSURLProtocol.
+  static bool registerClass_(PedometerBindings _lib, NSObject protocolClass) {
+    return _lib._objc_msgSend_0(_lib._class_NSURLProtocol1,
+        _lib._sel_registerClass_1, protocolClass._id);
+  }
+
+  /// !
+  /// @method unregisterClass:
+  /// @abstract This method unregisters a protocol.
+  /// @discussion After unregistration, a protocol class is no longer
+  /// consulted in calls to NSURLProtocol class methods.
+  /// @param protocolClass The class to unregister.
+  static void unregisterClass_(PedometerBindings _lib, NSObject protocolClass) {
+    _lib._objc_msgSend_15(_lib._class_NSURLProtocol1,
+        _lib._sel_unregisterClass_1, protocolClass._id);
+  }
+
+  static bool canInitWithTask_(PedometerBindings _lib, NSURLSessionTask? task) {
+    return _lib._objc_msgSend_810(_lib._class_NSURLProtocol1,
+        _lib._sel_canInitWithTask_1, task?._id ?? ffi.nullptr);
+  }
+
+  NSURLProtocol initWithTask_cachedResponse_client_(NSURLSessionTask? task,
+      NSCachedURLResponse? cachedResponse, NSObject? client) {
+    final _ret = _lib._objc_msgSend_811(
+        _id,
+        _lib._sel_initWithTask_cachedResponse_client_1,
+        task?._id ?? ffi.nullptr,
+        cachedResponse?._id ?? ffi.nullptr,
+        client?._id ?? ffi.nullptr);
+    return NSURLProtocol._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionTask? get task {
+    final _ret = _lib._objc_msgSend_812(_id, _lib._sel_task1);
+    return _ret.address == 0
+        ? null
+        : NSURLSessionTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLProtocol new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLProtocol1, _lib._sel_new1);
+    return NSURLProtocol._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLProtocol alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLProtocol1, _lib._sel_alloc1);
+    return NSURLProtocol._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLProtocol1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLProtocol1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSURLProtocol1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLProtocol1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLProtocol1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSURLProtocol1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLProtocol1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @class NSMutableURLRequest
+///
+/// @abstract An NSMutableURLRequest object represents a mutable URL load
+/// request in a manner independent of protocol and URL scheme.
+///
+/// @discussion This specialization of NSURLRequest is provided to aid
+/// developers who may find it more convenient to mutate a single request
+/// object for a series of URL loads instead of creating an immutable
+/// NSURLRequest for each load. This programming model is supported by
+/// the following contract stipulation between NSMutableURLRequest and
+/// NSURLConnection: NSURLConnection makes a deep copy of each
+/// NSMutableURLRequest object passed to one of its initializers.
+/// <p>NSMutableURLRequest is designed to be extended to support
+/// protocol-specific data by adding categories to access a property
+/// object provided in an interface targeted at protocol implementors.
+/// <ul>
+/// <li>Protocol implementors should direct their attention to the
+/// NSMutableURLRequestExtensibility category on
+/// NSMutableURLRequest for more information on how to provide
+/// extensions on NSMutableURLRequest to support protocol-specific
+/// request information.
+/// <li>Clients of this API who wish to create NSMutableURLRequest
+/// objects to load URL content should consult the protocol-specific
+/// NSMutableURLRequest categories that are available. The
+/// NSMutableHTTPURLRequest category on NSMutableURLRequest is an
+/// example.
+/// </ul>
+class NSMutableURLRequest extends NSURLRequest {
+  NSMutableURLRequest._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSMutableURLRequest] that points to the same underlying object as [other].
+  static NSMutableURLRequest castFrom<T extends _ObjCWrapper>(T other) {
+    return NSMutableURLRequest._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSMutableURLRequest] that wraps the given raw object pointer.
+  static NSMutableURLRequest castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSMutableURLRequest._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSMutableURLRequest].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSMutableURLRequest1);
+  }
+
+  /// !
+  /// @abstract The URL of the receiver.
+  @override
+  NSURL? get URL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_URL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract The URL of the receiver.
+  set URL(NSURL? value) {
+    return _lib._objc_msgSend_479(
+        _id, _lib._sel_setURL_1, value?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract The cache policy of the receiver.
+  @override
+  int get cachePolicy {
+    return _lib._objc_msgSend_676(_id, _lib._sel_cachePolicy1);
+  }
+
+  /// !
+  /// @abstract The cache policy of the receiver.
+  set cachePolicy(int value) {
+    return _lib._objc_msgSend_803(_id, _lib._sel_setCachePolicy_1, value);
+  }
+
+  /// !
+  /// @abstract Sets the timeout interval of the receiver.
+  /// @discussion The timeout interval specifies the limit on the idle
+  /// interval allotted to a request in the process of loading. The "idle
+  /// interval" is defined as the period of time that has passed since the
+  /// last instance of load activity occurred for a request that is in the
+  /// process of loading. Hence, when an instance of load activity occurs
+  /// (e.g. bytes are received from the network for a request), the idle
+  /// interval for a request is reset to 0. If the idle interval ever
+  /// becomes greater than or equal to the timeout interval, the request
+  /// is considered to have timed out. This timeout interval is measured
+  /// in seconds.
+  @override
+  double get timeoutInterval {
+    return _lib._objc_msgSend_146(_id, _lib._sel_timeoutInterval1);
+  }
+
+  /// !
+  /// @abstract Sets the timeout interval of the receiver.
+  /// @discussion The timeout interval specifies the limit on the idle
+  /// interval allotted to a request in the process of loading. The "idle
+  /// interval" is defined as the period of time that has passed since the
+  /// last instance of load activity occurred for a request that is in the
+  /// process of loading. Hence, when an instance of load activity occurs
+  /// (e.g. bytes are received from the network for a request), the idle
+  /// interval for a request is reset to 0. If the idle interval ever
+  /// becomes greater than or equal to the timeout interval, the request
+  /// is considered to have timed out. This timeout interval is measured
+  /// in seconds.
+  set timeoutInterval(double value) {
+    return _lib._objc_msgSend_459(_id, _lib._sel_setTimeoutInterval_1, value);
+  }
+
+  /// !
+  /// @abstract Sets the main document URL
+  /// @discussion The caller should pass the URL for an appropriate main
+  /// document, if known. For example, when loading a web page, the URL
+  /// of the main html document for the top-level frame should be
+  /// passed.  This main document is used to implement the cookie "only
+  /// from same domain as main document" policy, attributing this request
+  /// as a sub-resource of a user-specified URL, and possibly other things
+  /// in the future.
+  @override
+  NSURL? get mainDocumentURL {
+    final _ret = _lib._objc_msgSend_40(_id, _lib._sel_mainDocumentURL1);
+    return _ret.address == 0
+        ? null
+        : NSURL._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Sets the main document URL
+  /// @discussion The caller should pass the URL for an appropriate main
+  /// document, if known. For example, when loading a web page, the URL
+  /// of the main html document for the top-level frame should be
+  /// passed.  This main document is used to implement the cookie "only
+  /// from same domain as main document" policy, attributing this request
+  /// as a sub-resource of a user-specified URL, and possibly other things
+  /// in the future.
+  set mainDocumentURL(NSURL? value) {
+    return _lib._objc_msgSend_479(
+        _id, _lib._sel_setMainDocumentURL_1, value?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract Sets the NSURLRequestNetworkServiceType to associate with this request
+  /// @discussion This method is used to provide the network layers with a hint as to the purpose
+  /// of the request.  Most clients should not need to use this method.
+  @override
+  int get networkServiceType {
+    return _lib._objc_msgSend_677(_id, _lib._sel_networkServiceType1);
+  }
+
+  /// !
+  /// @abstract Sets the NSURLRequestNetworkServiceType to associate with this request
+  /// @discussion This method is used to provide the network layers with a hint as to the purpose
+  /// of the request.  Most clients should not need to use this method.
+  set networkServiceType(int value) {
+    return _lib._objc_msgSend_804(
+        _id, _lib._sel_setNetworkServiceType_1, value);
+  }
+
+  /// !
+  /// @abstract sets whether a connection created with this request is allowed to use
+  /// the built in cellular radios (if present).
+  /// @discussion NO if the receiver should not be allowed to use the built in
+  /// cellular radios to satisfy the request, YES otherwise.  The default is YES.
+  @override
+  bool get allowsCellularAccess {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsCellularAccess1);
+  }
+
+  /// !
+  /// @abstract sets whether a connection created with this request is allowed to use
+  /// the built in cellular radios (if present).
+  /// @discussion NO if the receiver should not be allowed to use the built in
+  /// cellular radios to satisfy the request, YES otherwise.  The default is YES.
+  set allowsCellularAccess(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAllowsCellularAccess_1, value);
+  }
+
+  /// !
+  /// @abstract sets whether a connection created with this request is allowed to use
+  /// network interfaces which have been marked as expensive.
+  /// @discussion NO if the receiver should not be allowed to use an interface marked as expensive to
+  /// satisfy the request, YES otherwise.
+  @override
+  bool get allowsExpensiveNetworkAccess {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsExpensiveNetworkAccess1);
+  }
+
+  /// !
+  /// @abstract sets whether a connection created with this request is allowed to use
+  /// network interfaces which have been marked as expensive.
+  /// @discussion NO if the receiver should not be allowed to use an interface marked as expensive to
+  /// satisfy the request, YES otherwise.
+  set allowsExpensiveNetworkAccess(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAllowsExpensiveNetworkAccess_1, value);
+  }
+
+  /// !
+  /// @abstract sets whether a connection created with this request is allowed to use
+  /// network interfaces which have been marked as constrained.
+  /// @discussion NO if the receiver should not be allowed to use an interface marked as constrained to
+  /// satisfy the request, YES otherwise.
+  @override
+  bool get allowsConstrainedNetworkAccess {
+    return _lib._objc_msgSend_12(
+        _id, _lib._sel_allowsConstrainedNetworkAccess1);
+  }
+
+  /// !
+  /// @abstract sets whether a connection created with this request is allowed to use
+  /// network interfaces which have been marked as constrained.
+  /// @discussion NO if the receiver should not be allowed to use an interface marked as constrained to
+  /// satisfy the request, YES otherwise.
+  set allowsConstrainedNetworkAccess(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAllowsConstrainedNetworkAccess_1, value);
+  }
+
+  /// !
+  /// @abstract returns whether we assume that server supports HTTP/3. Enables QUIC
+  /// racing without HTTP/3 service discovery.
+  /// @result YES if server endpoint is known to support HTTP/3. Defaults to NO.
+  /// The default may be YES in a future OS update.
+  @override
+  bool get assumesHTTP3Capable {
+    return _lib._objc_msgSend_12(_id, _lib._sel_assumesHTTP3Capable1);
+  }
+
+  /// !
+  /// @abstract returns whether we assume that server supports HTTP/3. Enables QUIC
+  /// racing without HTTP/3 service discovery.
+  /// @result YES if server endpoint is known to support HTTP/3. Defaults to NO.
+  /// The default may be YES in a future OS update.
+  set assumesHTTP3Capable(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAssumesHTTP3Capable_1, value);
+  }
+
+  /// !
+  /// @abstract Sets the NSURLRequestAttribution to associate with this request.
+  /// @discussion Set to NSURLRequestAttributionUser if the URL was specified by the
+  /// user. Defaults to NSURLRequestAttributionDeveloper.
+  @override
+  int get attribution {
+    return _lib._objc_msgSend_678(_id, _lib._sel_attribution1);
+  }
+
+  /// !
+  /// @abstract Sets the NSURLRequestAttribution to associate with this request.
+  /// @discussion Set to NSURLRequestAttributionUser if the URL was specified by the
+  /// user. Defaults to NSURLRequestAttributionDeveloper.
+  set attribution(int value) {
+    return _lib._objc_msgSend_805(_id, _lib._sel_setAttribution_1, value);
+  }
+
+  /// !
+  /// @abstract sets whether a request is required to do DNSSEC validation during DNS lookup.
+  /// @discussion YES, if the DNS lookup for this request should require DNSSEC validation,
+  /// No otherwise. Defaults to NO.
+  @override
+  bool get requiresDNSSECValidation {
+    return _lib._objc_msgSend_12(_id, _lib._sel_requiresDNSSECValidation1);
+  }
+
+  /// !
+  /// @abstract sets whether a request is required to do DNSSEC validation during DNS lookup.
+  /// @discussion YES, if the DNS lookup for this request should require DNSSEC validation,
+  /// No otherwise. Defaults to NO.
+  set requiresDNSSECValidation(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setRequiresDNSSECValidation_1, value);
+  }
+
+  /// !
+  /// @abstract Sets the HTTP request method of the receiver.
+  @override
+  NSString? get HTTPMethod {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_HTTPMethod1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Sets the HTTP request method of the receiver.
+  set HTTPMethod(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setHTTPMethod_1, value?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract Sets the HTTP header fields of the receiver to the given
+  /// dictionary.
+  /// @discussion This method replaces all header fields that may have
+  /// existed before this method call.
+  /// <p>Since HTTP header fields must be string values, each object and
+  /// key in the dictionary passed to this method must answer YES when
+  /// sent an <tt>-isKindOfClass:[NSString class]</tt> message. If either
+  /// the key or value for a key-value pair answers NO when sent this
+  /// message, the key-value pair is skipped.
+  @override
+  NSDictionary? get allHTTPHeaderFields {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_allHTTPHeaderFields1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Sets the HTTP header fields of the receiver to the given
+  /// dictionary.
+  /// @discussion This method replaces all header fields that may have
+  /// existed before this method call.
+  /// <p>Since HTTP header fields must be string values, each object and
+  /// key in the dictionary passed to this method must answer YES when
+  /// sent an <tt>-isKindOfClass:[NSString class]</tt> message. If either
+  /// the key or value for a key-value pair answers NO when sent this
+  /// message, the key-value pair is skipped.
+  set allHTTPHeaderFields(NSDictionary? value) {
+    return _lib._objc_msgSend_563(
+        _id, _lib._sel_setAllHTTPHeaderFields_1, value?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method setValue:forHTTPHeaderField:
+  /// @abstract Sets the value of the given HTTP header field.
+  /// @discussion If a value was previously set for the given header
+  /// field, that value is replaced with the given value. Note that, in
+  /// keeping with the HTTP RFC, HTTP header field names are
+  /// case-insensitive.
+  /// @param value the header field value.
+  /// @param field the header field name (case-insensitive).
+  void setValue_forHTTPHeaderField_(NSString? value, NSString? field) {
+    _lib._objc_msgSend_615(_id, _lib._sel_setValue_forHTTPHeaderField_1,
+        value?._id ?? ffi.nullptr, field?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @method addValue:forHTTPHeaderField:
+  /// @abstract Adds an HTTP header field in the current header
+  /// dictionary.
+  /// @discussion This method provides a way to add values to header
+  /// fields incrementally. If a value was previously set for the given
+  /// header field, the given value is appended to the previously-existing
+  /// value. The appropriate field delimiter, a comma in the case of HTTP,
+  /// is added by the implementation, and should not be added to the given
+  /// value by the caller. Note that, in keeping with the HTTP RFC, HTTP
+  /// header field names are case-insensitive.
+  /// @param value the header field value.
+  /// @param field the header field name (case-insensitive).
+  void addValue_forHTTPHeaderField_(NSString? value, NSString? field) {
+    _lib._objc_msgSend_615(_id, _lib._sel_addValue_forHTTPHeaderField_1,
+        value?._id ?? ffi.nullptr, field?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract Sets the request body data of the receiver.
+  /// @discussion This data is sent as the message body of the request, as
+  /// in done in an HTTP POST request.
+  @override
+  NSData? get HTTPBody {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_HTTPBody1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Sets the request body data of the receiver.
+  /// @discussion This data is sent as the message body of the request, as
+  /// in done in an HTTP POST request.
+  set HTTPBody(NSData? value) {
+    return _lib._objc_msgSend_806(
+        _id, _lib._sel_setHTTPBody_1, value?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract Sets the request body to be the contents of the given stream.
+  /// @discussion The provided stream should be unopened; the request will take
+  /// over the stream's delegate.  The entire stream's contents will be
+  /// transmitted as the HTTP body of the request.  Note that the body stream
+  /// and the body data (set by setHTTPBody:, above) are mutually exclusive
+  /// - setting one will clear the other.
+  @override
+  NSInputStream? get HTTPBodyStream {
+    final _ret = _lib._objc_msgSend_686(_id, _lib._sel_HTTPBodyStream1);
+    return _ret.address == 0
+        ? null
+        : NSInputStream._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @abstract Sets the request body to be the contents of the given stream.
+  /// @discussion The provided stream should be unopened; the request will take
+  /// over the stream's delegate.  The entire stream's contents will be
+  /// transmitted as the HTTP body of the request.  Note that the body stream
+  /// and the body data (set by setHTTPBody:, above) are mutually exclusive
+  /// - setting one will clear the other.
+  set HTTPBodyStream(NSInputStream? value) {
+    return _lib._objc_msgSend_807(
+        _id, _lib._sel_setHTTPBodyStream_1, value?._id ?? ffi.nullptr);
+  }
+
+  /// !
+  /// @abstract Decide whether default cookie handling will happen for
+  /// this request (YES if cookies should be sent with and set for this request;
+  /// otherwise NO).
+  /// @discussion The default is YES - in other words, cookies are sent from and
+  /// stored to the cookie manager by default.
+  /// NOTE: In releases prior to 10.3, this value is ignored
+  @override
+  bool get HTTPShouldHandleCookies {
+    return _lib._objc_msgSend_12(_id, _lib._sel_HTTPShouldHandleCookies1);
+  }
+
+  /// !
+  /// @abstract Decide whether default cookie handling will happen for
+  /// this request (YES if cookies should be sent with and set for this request;
+  /// otherwise NO).
+  /// @discussion The default is YES - in other words, cookies are sent from and
+  /// stored to the cookie manager by default.
+  /// NOTE: In releases prior to 10.3, this value is ignored
+  set HTTPShouldHandleCookies(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setHTTPShouldHandleCookies_1, value);
+  }
+
+  /// !
+  /// @abstract Sets whether the request should not wait for the previous response
+  /// before transmitting (YES if the receiver should transmit before the previous response is
+  /// received.  NO to wait for the previous response before transmitting)
+  /// @discussion Calling this method with a YES value does not guarantee HTTP
+  /// pipelining behavior.  This method may have no effect if an HTTP proxy is
+  /// configured, or if the HTTP request uses an unsafe request method (e.g., POST
+  /// requests will not pipeline).  Pipelining behavior also may not begin until
+  /// the second request on a given TCP connection.  There may be other situations
+  /// where pipelining does not occur even though YES was set.
+  /// HTTP 1.1 allows the client to send multiple requests to the server without
+  /// waiting for a response.  Though HTTP 1.1 requires support for pipelining,
+  /// some servers report themselves as being HTTP 1.1 but do not support
+  /// pipelining (disconnecting, sending resources misordered, omitting part of
+  /// a resource, etc.).
+  @override
+  bool get HTTPShouldUsePipelining {
+    return _lib._objc_msgSend_12(_id, _lib._sel_HTTPShouldUsePipelining1);
+  }
+
+  /// !
+  /// @abstract Sets whether the request should not wait for the previous response
+  /// before transmitting (YES if the receiver should transmit before the previous response is
+  /// received.  NO to wait for the previous response before transmitting)
+  /// @discussion Calling this method with a YES value does not guarantee HTTP
+  /// pipelining behavior.  This method may have no effect if an HTTP proxy is
+  /// configured, or if the HTTP request uses an unsafe request method (e.g., POST
+  /// requests will not pipeline).  Pipelining behavior also may not begin until
+  /// the second request on a given TCP connection.  There may be other situations
+  /// where pipelining does not occur even though YES was set.
+  /// HTTP 1.1 allows the client to send multiple requests to the server without
+  /// waiting for a response.  Though HTTP 1.1 requires support for pipelining,
+  /// some servers report themselves as being HTTP 1.1 but do not support
+  /// pipelining (disconnecting, sending resources misordered, omitting part of
+  /// a resource, etc.).
+  set HTTPShouldUsePipelining(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setHTTPShouldUsePipelining_1, value);
+  }
+
+  /// !
+  /// @method requestWithURL:
+  /// @abstract Allocates and initializes an NSURLRequest with the given
+  /// URL.
+  /// @discussion Default values are used for cache policy
+  /// (NSURLRequestUseProtocolCachePolicy) and timeout interval (60
+  /// seconds).
+  /// @param URL The URL for the request.
+  /// @result A newly-created and autoreleased NSURLRequest instance.
+  static NSMutableURLRequest requestWithURL_(
+      PedometerBindings _lib, NSURL? URL) {
+    final _ret = _lib._objc_msgSend_204(_lib._class_NSMutableURLRequest1,
+        _lib._sel_requestWithURL_1, URL?._id ?? ffi.nullptr);
+    return NSMutableURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  /// !
+  /// @property supportsSecureCoding
+  /// @abstract Indicates that NSURLRequest implements the NSSecureCoding protocol.
+  /// @result A BOOL value set to YES.
+  static bool getSupportsSecureCoding(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSMutableURLRequest1, _lib._sel_supportsSecureCoding1);
+  }
+
+  /// !
+  /// @method requestWithURL:cachePolicy:timeoutInterval:
+  /// @abstract Allocates and initializes a NSURLRequest with the given
+  /// URL and cache policy.
+  /// @param URL The URL for the request.
+  /// @param cachePolicy The cache policy for the request.
+  /// @param timeoutInterval The timeout interval for the request. See the
+  /// commentary for the <tt>timeoutInterval</tt> for more information on
+  /// timeout intervals.
+  /// @result A newly-created and autoreleased NSURLRequest instance.
+  static NSMutableURLRequest requestWithURL_cachePolicy_timeoutInterval_(
+      PedometerBindings _lib,
+      NSURL? URL,
+      int cachePolicy,
+      double timeoutInterval) {
+    final _ret = _lib._objc_msgSend_675(
+        _lib._class_NSMutableURLRequest1,
+        _lib._sel_requestWithURL_cachePolicy_timeoutInterval_1,
+        URL?._id ?? ffi.nullptr,
+        cachePolicy,
+        timeoutInterval);
+    return NSMutableURLRequest._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSMutableURLRequest new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSMutableURLRequest1, _lib._sel_new1);
+    return NSMutableURLRequest._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSMutableURLRequest alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableURLRequest1, _lib._sel_alloc1);
+    return NSMutableURLRequest._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSMutableURLRequest1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSMutableURLRequest1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSMutableURLRequest1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSMutableURLRequest1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSMutableURLRequest1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSMutableURLRequest1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSMutableURLRequest1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef NSValueTransformerName = ffi.Pointer<ObjCObject>;
+
+abstract class NSXMLParserExternalEntityResolvingPolicy {
+  static const int NSXMLParserResolveExternalEntitiesNever = 0;
+  static const int NSXMLParserResolveExternalEntitiesNoNetwork = 1;
+  static const int NSXMLParserResolveExternalEntitiesSameOriginOnly = 2;
+  static const int NSXMLParserResolveExternalEntitiesAlways = 3;
+}
+
+class NSXMLParser extends NSObject {
+  NSXMLParser._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSXMLParser] that points to the same underlying object as [other].
+  static NSXMLParser castFrom<T extends _ObjCWrapper>(T other) {
+    return NSXMLParser._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSXMLParser] that wraps the given raw object pointer.
+  static NSXMLParser castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSXMLParser._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSXMLParser].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSXMLParser1);
+  }
+
+  NSXMLParser initWithContentsOfURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_204(
+        _id, _lib._sel_initWithContentsOfURL_1, url?._id ?? ffi.nullptr);
+    return NSXMLParser._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSXMLParser initWithData_(NSData? data) {
+    final _ret = _lib._objc_msgSend_206(
+        _id, _lib._sel_initWithData_1, data?._id ?? ffi.nullptr);
+    return NSXMLParser._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSXMLParser initWithStream_(NSInputStream? stream) {
+    final _ret = _lib._objc_msgSend_813(
+        _id, _lib._sel_initWithStream_1, stream?._id ?? ffi.nullptr);
+    return NSXMLParser._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject? get delegate {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set delegate(NSObject? value) {
+    return _lib._objc_msgSend_343(
+        _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get shouldProcessNamespaces {
+    return _lib._objc_msgSend_12(_id, _lib._sel_shouldProcessNamespaces1);
+  }
+
+  set shouldProcessNamespaces(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setShouldProcessNamespaces_1, value);
+  }
+
+  bool get shouldReportNamespacePrefixes {
+    return _lib._objc_msgSend_12(_id, _lib._sel_shouldReportNamespacePrefixes1);
+  }
+
+  set shouldReportNamespacePrefixes(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setShouldReportNamespacePrefixes_1, value);
+  }
+
+  int get externalEntityResolvingPolicy {
+    return _lib._objc_msgSend_814(
+        _id, _lib._sel_externalEntityResolvingPolicy1);
+  }
+
+  set externalEntityResolvingPolicy(int value) {
+    return _lib._objc_msgSend_815(
+        _id, _lib._sel_setExternalEntityResolvingPolicy_1, value);
+  }
+
+  NSSet? get allowedExternalEntityURLs {
+    final _ret =
+        _lib._objc_msgSend_244(_id, _lib._sel_allowedExternalEntityURLs1);
+    return _ret.address == 0
+        ? null
+        : NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  set allowedExternalEntityURLs(NSSet? value) {
+    return _lib._objc_msgSend_816(_id, _lib._sel_setAllowedExternalEntityURLs_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  bool parse() {
+    return _lib._objc_msgSend_12(_id, _lib._sel_parse1);
+  }
+
+  void abortParsing() {
+    _lib._objc_msgSend_1(_id, _lib._sel_abortParsing1);
+  }
+
+  NSError? get parserError {
+    final _ret = _lib._objc_msgSend_247(_id, _lib._sel_parserError1);
+    return _ret.address == 0
+        ? null
+        : NSError._(_ret, _lib, retain: true, release: true);
+  }
+
+  bool get shouldResolveExternalEntities {
+    return _lib._objc_msgSend_12(_id, _lib._sel_shouldResolveExternalEntities1);
+  }
+
+  set shouldResolveExternalEntities(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setShouldResolveExternalEntities_1, value);
+  }
+
+  NSString? get publicID {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_publicID1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get systemID {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_systemID1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get lineNumber {
+    return _lib._objc_msgSend_70(_id, _lib._sel_lineNumber1);
+  }
+
+  int get columnNumber {
+    return _lib._objc_msgSend_70(_id, _lib._sel_columnNumber1);
+  }
+
+  static NSXMLParser new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSXMLParser1, _lib._sel_new1);
+    return NSXMLParser._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSXMLParser alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSXMLParser1, _lib._sel_alloc1);
+    return NSXMLParser._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSXMLParser1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSXMLParser1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSXMLParser1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSXMLParser1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSXMLParser1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSXMLParser1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSXMLParser1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSXMLParserError {
+  static const int NSXMLParserInternalError = 1;
+  static const int NSXMLParserOutOfMemoryError = 2;
+  static const int NSXMLParserDocumentStartError = 3;
+  static const int NSXMLParserEmptyDocumentError = 4;
+  static const int NSXMLParserPrematureDocumentEndError = 5;
+  static const int NSXMLParserInvalidHexCharacterRefError = 6;
+  static const int NSXMLParserInvalidDecimalCharacterRefError = 7;
+  static const int NSXMLParserInvalidCharacterRefError = 8;
+  static const int NSXMLParserInvalidCharacterError = 9;
+  static const int NSXMLParserCharacterRefAtEOFError = 10;
+  static const int NSXMLParserCharacterRefInPrologError = 11;
+  static const int NSXMLParserCharacterRefInEpilogError = 12;
+  static const int NSXMLParserCharacterRefInDTDError = 13;
+  static const int NSXMLParserEntityRefAtEOFError = 14;
+  static const int NSXMLParserEntityRefInPrologError = 15;
+  static const int NSXMLParserEntityRefInEpilogError = 16;
+  static const int NSXMLParserEntityRefInDTDError = 17;
+  static const int NSXMLParserParsedEntityRefAtEOFError = 18;
+  static const int NSXMLParserParsedEntityRefInPrologError = 19;
+  static const int NSXMLParserParsedEntityRefInEpilogError = 20;
+  static const int NSXMLParserParsedEntityRefInInternalSubsetError = 21;
+  static const int NSXMLParserEntityReferenceWithoutNameError = 22;
+  static const int NSXMLParserEntityReferenceMissingSemiError = 23;
+  static const int NSXMLParserParsedEntityRefNoNameError = 24;
+  static const int NSXMLParserParsedEntityRefMissingSemiError = 25;
+  static const int NSXMLParserUndeclaredEntityError = 26;
+  static const int NSXMLParserUnparsedEntityError = 28;
+  static const int NSXMLParserEntityIsExternalError = 29;
+  static const int NSXMLParserEntityIsParameterError = 30;
+  static const int NSXMLParserUnknownEncodingError = 31;
+  static const int NSXMLParserEncodingNotSupportedError = 32;
+  static const int NSXMLParserStringNotStartedError = 33;
+  static const int NSXMLParserStringNotClosedError = 34;
+  static const int NSXMLParserNamespaceDeclarationError = 35;
+  static const int NSXMLParserEntityNotStartedError = 36;
+  static const int NSXMLParserEntityNotFinishedError = 37;
+  static const int NSXMLParserLessThanSymbolInAttributeError = 38;
+  static const int NSXMLParserAttributeNotStartedError = 39;
+  static const int NSXMLParserAttributeNotFinishedError = 40;
+  static const int NSXMLParserAttributeHasNoValueError = 41;
+  static const int NSXMLParserAttributeRedefinedError = 42;
+  static const int NSXMLParserLiteralNotStartedError = 43;
+  static const int NSXMLParserLiteralNotFinishedError = 44;
+  static const int NSXMLParserCommentNotFinishedError = 45;
+  static const int NSXMLParserProcessingInstructionNotStartedError = 46;
+  static const int NSXMLParserProcessingInstructionNotFinishedError = 47;
+  static const int NSXMLParserNotationNotStartedError = 48;
+  static const int NSXMLParserNotationNotFinishedError = 49;
+  static const int NSXMLParserAttributeListNotStartedError = 50;
+  static const int NSXMLParserAttributeListNotFinishedError = 51;
+  static const int NSXMLParserMixedContentDeclNotStartedError = 52;
+  static const int NSXMLParserMixedContentDeclNotFinishedError = 53;
+  static const int NSXMLParserElementContentDeclNotStartedError = 54;
+  static const int NSXMLParserElementContentDeclNotFinishedError = 55;
+  static const int NSXMLParserXMLDeclNotStartedError = 56;
+  static const int NSXMLParserXMLDeclNotFinishedError = 57;
+  static const int NSXMLParserConditionalSectionNotStartedError = 58;
+  static const int NSXMLParserConditionalSectionNotFinishedError = 59;
+  static const int NSXMLParserExternalSubsetNotFinishedError = 60;
+  static const int NSXMLParserDOCTYPEDeclNotFinishedError = 61;
+  static const int NSXMLParserMisplacedCDATAEndStringError = 62;
+  static const int NSXMLParserCDATANotFinishedError = 63;
+  static const int NSXMLParserMisplacedXMLDeclarationError = 64;
+  static const int NSXMLParserSpaceRequiredError = 65;
+  static const int NSXMLParserSeparatorRequiredError = 66;
+  static const int NSXMLParserNMTOKENRequiredError = 67;
+  static const int NSXMLParserNAMERequiredError = 68;
+  static const int NSXMLParserPCDATARequiredError = 69;
+  static const int NSXMLParserURIRequiredError = 70;
+  static const int NSXMLParserPublicIdentifierRequiredError = 71;
+  static const int NSXMLParserLTRequiredError = 72;
+  static const int NSXMLParserGTRequiredError = 73;
+  static const int NSXMLParserLTSlashRequiredError = 74;
+  static const int NSXMLParserEqualExpectedError = 75;
+  static const int NSXMLParserTagNameMismatchError = 76;
+  static const int NSXMLParserUnfinishedTagError = 77;
+  static const int NSXMLParserStandaloneValueError = 78;
+  static const int NSXMLParserInvalidEncodingNameError = 79;
+  static const int NSXMLParserCommentContainsDoubleHyphenError = 80;
+  static const int NSXMLParserInvalidEncodingError = 81;
+  static const int NSXMLParserExternalStandaloneEntityError = 82;
+  static const int NSXMLParserInvalidConditionalSectionError = 83;
+  static const int NSXMLParserEntityValueRequiredError = 84;
+  static const int NSXMLParserNotWellBalancedError = 85;
+  static const int NSXMLParserExtraContentError = 86;
+  static const int NSXMLParserInvalidCharacterInEntityError = 87;
+  static const int NSXMLParserParsedEntityRefInInternalError = 88;
+  static const int NSXMLParserEntityRefLoopError = 89;
+  static const int NSXMLParserEntityBoundaryError = 90;
+  static const int NSXMLParserInvalidURIError = 91;
+  static const int NSXMLParserURIFragmentError = 92;
+  static const int NSXMLParserNoDTDError = 94;
+  static const int NSXMLParserDelegateAbortedParseError = 512;
+}
+
+final class au_tid extends ffi.Struct {
+  @dev_t()
+  external int port;
+
+  @u_int32_t()
+  external int machine;
+}
+
+final class au_tid_addr extends ffi.Struct {
+  @dev_t()
+  external int at_port;
+
+  @u_int32_t()
+  external int at_type;
+
+  @ffi.Array.multi([4])
+  external ffi.Array<u_int32_t> at_addr;
+}
+
+final class au_mask extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int am_success;
+
+  @ffi.UnsignedInt()
+  external int am_failure;
+}
+
+final class auditinfo extends ffi.Struct {
+  @au_id_t()
+  external int ai_auid;
+
+  external au_mask_t ai_mask;
+
+  external au_tid_t ai_termid;
+
+  @au_asid_t()
+  external int ai_asid;
+}
+
+typedef au_id_t = uid_t;
+typedef au_mask_t = au_mask;
+typedef au_tid_t = au_tid;
+typedef au_asid_t = pid_t;
+
+final class auditinfo_addr extends ffi.Struct {
+  @au_id_t()
+  external int ai_auid;
+
+  external au_mask_t ai_mask;
+
+  external au_tid_addr_t ai_termid;
+
+  @au_asid_t()
+  external int ai_asid;
+
+  @au_asflgs_t()
+  external int ai_flags;
+}
+
+typedef au_tid_addr_t = au_tid_addr;
+typedef au_asflgs_t = u_int64_t;
+
+final class auditpinfo extends ffi.Struct {
+  @pid_t()
+  external int ap_pid;
+
+  @au_id_t()
+  external int ap_auid;
+
+  external au_mask_t ap_mask;
+
+  external au_tid_t ap_termid;
+
+  @au_asid_t()
+  external int ap_asid;
+}
+
+final class auditpinfo_addr extends ffi.Struct {
+  @pid_t()
+  external int ap_pid;
+
+  @au_id_t()
+  external int ap_auid;
+
+  external au_mask_t ap_mask;
+
+  external au_tid_addr_t ap_termid;
+
+  @au_asid_t()
+  external int ap_asid;
+
+  @au_asflgs_t()
+  external int ap_flags;
+}
+
+final class au_session extends ffi.Struct {
+  external ffi.Pointer<auditinfo_addr_t> as_aia_p;
+
+  external au_mask_t as_mask;
+}
+
+typedef auditinfo_addr_t = auditinfo_addr;
+
+final class au_expire_after extends ffi.Struct {
+  @time_t()
+  external int age;
+
+  @ffi.Size()
+  external int size;
+
+  @ffi.UnsignedChar()
+  external int op_type;
+}
+
+final class au_token extends ffi.Opaque {}
+
+final class au_qctrl extends ffi.Struct {
+  @ffi.Int()
+  external int aq_hiwater;
+
+  @ffi.Int()
+  external int aq_lowater;
+
+  @ffi.Int()
+  external int aq_bufsz;
+
+  @ffi.Int()
+  external int aq_delay;
+
+  @ffi.Int()
+  external int aq_minfree;
+}
+
+final class audit_stat extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int as_version;
+
+  @ffi.UnsignedInt()
+  external int as_numevent;
+
+  @ffi.Int()
+  external int as_generated;
+
+  @ffi.Int()
+  external int as_nonattrib;
+
+  @ffi.Int()
+  external int as_kernel;
+
+  @ffi.Int()
+  external int as_audit;
+
+  @ffi.Int()
+  external int as_auditctl;
+
+  @ffi.Int()
+  external int as_enqueue;
+
+  @ffi.Int()
+  external int as_written;
+
+  @ffi.Int()
+  external int as_wblocked;
+
+  @ffi.Int()
+  external int as_rblocked;
+
+  @ffi.Int()
+  external int as_dropped;
+
+  @ffi.Int()
+  external int as_totalsize;
+
+  @ffi.UnsignedInt()
+  external int as_memused;
+}
+
+final class audit_fstat extends ffi.Struct {
+  @u_int64_t()
+  external int af_filesz;
+
+  @u_int64_t()
+  external int af_currsz;
+}
+
+final class au_evclass_map extends ffi.Struct {
+  @au_event_t()
+  external int ec_number;
+
+  @au_class_t()
+  external int ec_class;
+}
+
+typedef au_event_t = u_int16_t;
+typedef u_int16_t = ffi.UnsignedShort;
+typedef au_class_t = u_int32_t;
+
+final class _xpc_type_s extends ffi.Opaque {}
+
+final class _xpc_bool_s extends ffi.Opaque {}
+
+typedef xpc_endpoint_t = xpc_object_t;
+typedef xpc_object_t = ffi.Pointer<ObjCObject>;
+typedef xpc_connection_t = xpc_object_t;
+
+/// !
+/// @typedef xpc_activity_handler_t
+///
+/// @abstract
+/// A block that is called when an XPC activity becomes eligible to run.
+typedef xpc_activity_handler_t = ffi.Pointer<_ObjCBlock>;
+typedef xpc_activity_t = xpc_object_t;
+typedef xpc_activity_state_t = ffi.Long;
+
+final class _xpc_dictionary_s extends ffi.Opaque {}
+
+typedef xpc_handler_t = ffi.Pointer<_ObjCBlock>;
+
+/// !
+/// @typedef xpc_finalizer_f
+/// A function that is invoked when a connection is being torn down and its
+/// context needs to be freed. The sole argument is the value that was given to
+/// {@link xpc_connection_set_context} or NULL if no context has been set. It is
+/// not safe to reference the connection from within this function.
+///
+/// @param value
+/// The context object that is to be disposed of.
+typedef xpc_finalizer_t = ffi.Pointer<
+    ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void> value)>>;
+typedef xpc_rich_error_t = xpc_object_t;
+
+abstract class xpc_session_create_flags_t {
+  static const int XPC_SESSION_CREATE_NONE = 0;
+  static const int XPC_SESSION_CREATE_INACTIVE = 1;
+  static const int XPC_SESSION_CREATE_MACH_PRIVILEGED = 2;
+}
+
+typedef xpc_session_t = xpc_object_t;
+typedef xpc_session_incoming_message_handler_t = ffi.Pointer<_ObjCBlock>;
+typedef xpc_session_cancel_handler_t = ffi.Pointer<_ObjCBlock>;
+typedef xpc_session_reply_handler_t = ffi.Pointer<_ObjCBlock>;
+
+/// !
+/// @typedef
+///
+/// @brief
+/// Pair of a min/max address used to denote a memory region.
+///
+/// @discussion
+/// @c min_address must be smaller or equal to @c max_address.
+final class mach_vm_range extends ffi.Struct {
+  @mach_vm_offset_t()
+  external int min_address;
+
+  @mach_vm_offset_t()
+  external int max_address;
+}
+
+typedef mach_vm_offset_t = ffi.Uint64;
+
+final class vm_statistics extends ffi.Struct {
+  @natural_t()
+  external int free_count;
+
+  @natural_t()
+  external int active_count;
+
+  @natural_t()
+  external int inactive_count;
+
+  @natural_t()
+  external int wire_count;
+
+  @natural_t()
+  external int zero_fill_count;
+
+  @natural_t()
+  external int reactivations;
+
+  @natural_t()
+  external int pageins;
+
+  @natural_t()
+  external int pageouts;
+
+  @natural_t()
+  external int faults;
+
+  @natural_t()
+  external int cow_faults;
+
+  @natural_t()
+  external int lookups;
+
+  @natural_t()
+  external int hits;
+
+  @natural_t()
+  external int purgeable_count;
+
+  @natural_t()
+  external int purges;
+
+  @natural_t()
+  external int speculative_count;
+}
+
+final class vm_statistics64 extends ffi.Struct {
+  @natural_t()
+  external int free_count;
+
+  @natural_t()
+  external int active_count;
+
+  @natural_t()
+  external int inactive_count;
+
+  @natural_t()
+  external int wire_count;
+
+  @ffi.Uint64()
+  external int zero_fill_count;
+
+  @ffi.Uint64()
+  external int reactivations;
+
+  @ffi.Uint64()
+  external int pageins;
+
+  @ffi.Uint64()
+  external int pageouts;
+
+  @ffi.Uint64()
+  external int faults;
+
+  @ffi.Uint64()
+  external int cow_faults;
+
+  @ffi.Uint64()
+  external int lookups;
+
+  @ffi.Uint64()
+  external int hits;
+
+  @ffi.Uint64()
+  external int purges;
+
+  @natural_t()
+  external int purgeable_count;
+
+  @natural_t()
+  external int speculative_count;
+
+  @ffi.Uint64()
+  external int decompressions;
+
+  @ffi.Uint64()
+  external int compressions;
+
+  @ffi.Uint64()
+  external int swapins;
+
+  @ffi.Uint64()
+  external int swapouts;
+
+  @natural_t()
+  external int compressor_page_count;
+
+  @natural_t()
+  external int throttled_count;
+
+  @natural_t()
+  external int external_page_count;
+
+  @natural_t()
+  external int internal_page_count;
+
+  @ffi.Uint64()
+  external int total_uncompressed_pages_in_compressor;
+}
+
+final class vm_extmod_statistics extends ffi.Struct {
+  @ffi.Int64()
+  external int task_for_pid_count;
+
+  @ffi.Int64()
+  external int task_for_pid_caller_count;
+
+  @ffi.Int64()
+  external int thread_creation_count;
+
+  @ffi.Int64()
+  external int thread_creation_caller_count;
+
+  @ffi.Int64()
+  external int thread_set_state_count;
+
+  @ffi.Int64()
+  external int thread_set_state_caller_count;
+}
+
+final class vm_purgeable_stat extends ffi.Struct {
+  @ffi.Uint64()
+  external int count;
+
+  @ffi.Uint64()
+  external int size;
+}
+
+final class vm_purgeable_info extends ffi.Struct {
+  @ffi.Array.multi([8])
+  external ffi.Array<vm_purgeable_stat_t> fifo_data;
+
+  external vm_purgeable_stat_t obsolete_data;
+
+  @ffi.Array.multi([8])
+  external ffi.Array<vm_purgeable_stat_t> lifo_data;
+}
+
+typedef vm_purgeable_stat_t = vm_purgeable_stat;
+
+abstract class virtual_memory_guard_exception_codes {
+  static const int kGUARD_EXC_DEALLOC_GAP = 1;
+  static const int kGUARD_EXC_RECLAIM_COPYIO_FAILURE = 2;
+  static const int kGUARD_EXC_RECLAIM_INDEX_FAILURE = 4;
+  static const int kGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE = 8;
+}
+
+final class host_can_has_debugger_info extends ffi.Struct {
+  @boolean_t()
+  external int can_has_debugger;
+}
+
+@ffi.Packed(4)
+final class host_basic_info extends ffi.Struct {
+  @integer_t()
+  external int max_cpus;
+
+  @integer_t()
+  external int avail_cpus;
+
+  @natural_t()
+  external int memory_size;
+
+  @cpu_type_t()
+  external int cpu_type;
+
+  @cpu_subtype_t()
+  external int cpu_subtype;
+
+  @cpu_threadtype_t()
+  external int cpu_threadtype;
+
+  @integer_t()
+  external int physical_cpu;
+
+  @integer_t()
+  external int physical_cpu_max;
+
+  @integer_t()
+  external int logical_cpu;
+
+  @integer_t()
+  external int logical_cpu_max;
+
+  @ffi.Uint64()
+  external int max_mem;
+}
+
+typedef cpu_subtype_t = integer_t;
+typedef cpu_threadtype_t = integer_t;
+
+final class host_sched_info extends ffi.Struct {
+  @integer_t()
+  external int min_timeout;
+
+  @integer_t()
+  external int min_quantum;
+}
+
+final class kernel_resource_sizes extends ffi.Struct {
+  @natural_t()
+  external int task;
+
+  @natural_t()
+  external int thread;
+
+  @natural_t()
+  external int port;
+
+  @natural_t()
+  external int memory_region;
+
+  @natural_t()
+  external int memory_object;
+}
+
+final class host_priority_info extends ffi.Struct {
+  @integer_t()
+  external int kernel_priority;
+
+  @integer_t()
+  external int system_priority;
+
+  @integer_t()
+  external int server_priority;
+
+  @integer_t()
+  external int user_priority;
+
+  @integer_t()
+  external int depress_priority;
+
+  @integer_t()
+  external int idle_priority;
+
+  @integer_t()
+  external int minimum_priority;
+
+  @integer_t()
+  external int maximum_priority;
+}
+
+final class host_load_info extends ffi.Struct {
+  @ffi.Array.multi([3])
+  external ffi.Array<integer_t> avenrun;
+
+  @ffi.Array.multi([3])
+  external ffi.Array<integer_t> mach_factor;
+}
+
+final class host_cpu_load_info extends ffi.Struct {
+  @ffi.Array.multi([4])
+  external ffi.Array<natural_t> cpu_ticks;
+}
+
+final class host_preferred_user_arch extends ffi.Struct {
+  @cpu_type_t()
+  external int cpu_type;
+
+  @cpu_subtype_t()
+  external int cpu_subtype;
+}
+
+final class memory_object_perf_info extends ffi.Struct {
+  @memory_object_cluster_size_t()
+  external int cluster_size;
+
+  @boolean_t()
+  external int may_cache;
+}
+
+typedef memory_object_cluster_size_t = natural_t;
+
+final class memory_object_attr_info extends ffi.Struct {
+  @memory_object_copy_strategy_t()
+  external int copy_strategy;
+
+  @memory_object_cluster_size_t()
+  external int cluster_size;
+
+  @boolean_t()
+  external int may_cache_object;
+
+  @boolean_t()
+  external int temporary;
+}
+
+typedef memory_object_copy_strategy_t = ffi.Int;
+
+final class memory_object_behave_info extends ffi.Struct {
+  @memory_object_copy_strategy_t()
+  external int copy_strategy;
+
+  @boolean_t()
+  external int temporary;
+
+  @boolean_t()
+  external int invalidate;
+
+  @boolean_t()
+  external int silent_overwrite;
+
+  @boolean_t()
+  external int advisory_pageout;
+}
+
+final class x86_state_hdr extends ffi.Struct {
+  @ffi.Uint32()
+  external int flavor;
+
+  @ffi.Uint32()
+  external int count;
+}
+
+final class x86_thread_state extends ffi.Struct {
+  external x86_state_hdr_t tsh;
+
+  external UnnamedUnion2 uts;
+}
+
+typedef x86_state_hdr_t = x86_state_hdr;
+
+final class UnnamedUnion2 extends ffi.Union {
+  external x86_thread_state32_t ts32;
+
+  external x86_thread_state64_t ts64;
+}
+
+typedef x86_thread_state32_t = __darwin_i386_thread_state;
+typedef x86_thread_state64_t = __darwin_x86_thread_state64;
+
+final class x86_float_state extends ffi.Opaque {}
+
+final class x86_exception_state extends ffi.Struct {
+  external x86_state_hdr_t esh;
+
+  external UnnamedUnion4 ues;
+}
+
+final class UnnamedUnion4 extends ffi.Union {
+  external x86_exception_state32_t es32;
+
+  external x86_exception_state64_t es64;
+}
+
+typedef x86_exception_state32_t = __darwin_i386_exception_state;
+typedef x86_exception_state64_t = __darwin_x86_exception_state64;
+
+final class x86_debug_state extends ffi.Struct {
+  external x86_state_hdr_t dsh;
+
+  external UnnamedUnion5 uds;
+}
+
+final class UnnamedUnion5 extends ffi.Union {
+  external x86_debug_state32_t ds32;
+
+  external x86_debug_state64_t ds64;
+}
+
+typedef x86_debug_state32_t = __darwin_x86_debug_state32;
+typedef x86_debug_state64_t = __darwin_x86_debug_state64;
+
+final class x86_avx_state extends ffi.Opaque {}
+
+final class x86_avx512_state extends ffi.Opaque {}
+
+final class ipc_info_space extends ffi.Struct {
+  @natural_t()
+  external int iis_genno_mask;
+
+  @natural_t()
+  external int iis_table_size;
+
+  @natural_t()
+  external int iis_table_next;
+
+  @natural_t()
+  external int iis_tree_size;
+
+  @natural_t()
+  external int iis_tree_small;
+
+  @natural_t()
+  external int iis_tree_hash;
+}
+
+final class ipc_info_space_basic extends ffi.Struct {
+  @natural_t()
+  external int iisb_genno_mask;
+
+  @natural_t()
+  external int iisb_table_size;
+
+  @natural_t()
+  external int iisb_table_next;
+
+  @natural_t()
+  external int iisb_table_inuse;
+
+  @ffi.Array.multi([2])
+  external ffi.Array<natural_t> iisb_reserved;
+}
+
+final class ipc_info_name extends ffi.Struct {
+  @mach_port_name_t()
+  external int iin_name;
+
+  @integer_t()
+  external int iin_collision;
+
+  @mach_port_type_t()
+  external int iin_type;
+
+  @mach_port_urefs_t()
+  external int iin_urefs;
+
+  @natural_t()
+  external int iin_object;
+
+  @natural_t()
+  external int iin_next;
+
+  @natural_t()
+  external int iin_hash;
+}
+
+typedef mach_port_type_t = natural_t;
+typedef mach_port_urefs_t = natural_t;
+
+final class ipc_info_tree_name extends ffi.Struct {
+  external ipc_info_name_t iitn_name;
+
+  @mach_port_name_t()
+  external int iitn_lchild;
+
+  @mach_port_name_t()
+  external int iitn_rchild;
+}
+
+typedef ipc_info_name_t = ipc_info_name;
+
+final class ipc_info_port extends ffi.Struct {
+  @natural_t()
+  external int iip_port_object;
+
+  @natural_t()
+  external int iip_receiver_object;
+}
+
+final class mach_voucher_attr_recipe_data extends ffi.Opaque {}
+
+final class processor_basic_info extends ffi.Struct {
+  @cpu_type_t()
+  external int cpu_type;
+
+  @cpu_subtype_t()
+  external int cpu_subtype;
+
+  @boolean_t()
+  external int running;
+
+  @ffi.Int()
+  external int slot_num;
+
+  external UnnamedUnion8 unnamed;
+}
+
+final class UnnamedUnion8 extends ffi.Union {
+  @boolean_t()
+  external int is_master;
+
+  @boolean_t()
+  external int is_main;
+}
+
+final class processor_cpu_load_info extends ffi.Struct {
+  @ffi.Array.multi([4])
+  external ffi.Array<ffi.UnsignedInt> cpu_ticks;
+}
+
+final class processor_set_basic_info extends ffi.Struct {
+  @ffi.Int()
+  external int processor_count;
+
+  @ffi.Int()
+  external int default_policy;
+}
+
+final class processor_set_load_info extends ffi.Struct {
+  @ffi.Int()
+  external int task_count;
+
+  @ffi.Int()
+  external int thread_count;
+
+  @integer_t()
+  external int load_average;
+
+  @integer_t()
+  external int mach_factor;
+}
+
+final class policy_timeshare_base extends ffi.Struct {
+  @integer_t()
+  external int base_priority;
+}
+
+final class policy_timeshare_limit extends ffi.Struct {
+  @integer_t()
+  external int max_priority;
+}
+
+final class policy_timeshare_info extends ffi.Struct {
+  @integer_t()
+  external int max_priority;
+
+  @integer_t()
+  external int base_priority;
+
+  @integer_t()
+  external int cur_priority;
+
+  @boolean_t()
+  external int depressed;
+
+  @integer_t()
+  external int depress_priority;
+}
+
+final class policy_rr_base extends ffi.Struct {
+  @integer_t()
+  external int base_priority;
+
+  @integer_t()
+  external int quantum;
+}
+
+final class policy_rr_limit extends ffi.Struct {
+  @integer_t()
+  external int max_priority;
+}
+
+final class policy_rr_info extends ffi.Struct {
+  @integer_t()
+  external int max_priority;
+
+  @integer_t()
+  external int base_priority;
+
+  @integer_t()
+  external int quantum;
+
+  @boolean_t()
+  external int depressed;
+
+  @integer_t()
+  external int depress_priority;
+}
+
+final class policy_fifo_base extends ffi.Struct {
+  @integer_t()
+  external int base_priority;
+}
+
+final class policy_fifo_limit extends ffi.Struct {
+  @integer_t()
+  external int max_priority;
+}
+
+final class policy_fifo_info extends ffi.Struct {
+  @integer_t()
+  external int max_priority;
+
+  @integer_t()
+  external int base_priority;
+
+  @boolean_t()
+  external int depressed;
+
+  @integer_t()
+  external int depress_priority;
+}
+
+final class policy_bases extends ffi.Struct {
+  external policy_timeshare_base_data_t ts;
+
+  external policy_rr_base_data_t rr;
+
+  external policy_fifo_base_data_t fifo;
+}
+
+typedef policy_timeshare_base_data_t = policy_timeshare_base;
+typedef policy_rr_base_data_t = policy_rr_base;
+typedef policy_fifo_base_data_t = policy_fifo_base;
+
+final class policy_limits extends ffi.Struct {
+  external policy_timeshare_limit_data_t ts;
+
+  external policy_rr_limit_data_t rr;
+
+  external policy_fifo_limit_data_t fifo;
+}
+
+typedef policy_timeshare_limit_data_t = policy_timeshare_limit;
+typedef policy_rr_limit_data_t = policy_rr_limit;
+typedef policy_fifo_limit_data_t = policy_fifo_limit;
+
+final class policy_infos extends ffi.Struct {
+  external policy_timeshare_info_data_t ts;
+
+  external policy_rr_info_data_t rr;
+
+  external policy_fifo_info_data_t fifo;
+}
+
+typedef policy_timeshare_info_data_t = policy_timeshare_info;
+typedef policy_rr_info_data_t = policy_rr_info;
+typedef policy_fifo_info_data_t = policy_fifo_info;
+
+final class task_basic_info_32 extends ffi.Struct {
+  @integer_t()
+  external int suspend_count;
+
+  @natural_t()
+  external int virtual_size;
+
+  @natural_t()
+  external int resident_size;
+
+  external time_value_t user_time;
+
+  external time_value_t system_time;
+
+  @policy_t()
+  external int policy;
+}
+
+typedef time_value_t = time_value;
+typedef policy_t = ffi.Int;
+
+@ffi.Packed(4)
+final class task_basic_info_64 extends ffi.Struct {
+  @integer_t()
+  external int suspend_count;
+
+  @mach_vm_size_t()
+  external int virtual_size;
+
+  @mach_vm_size_t()
+  external int resident_size;
+
+  external time_value_t user_time;
+
+  external time_value_t system_time;
+
+  @policy_t()
+  external int policy;
+}
+
+typedef mach_vm_size_t = ffi.Uint64;
+
+@ffi.Packed(4)
+final class task_basic_info extends ffi.Struct {
+  @integer_t()
+  external int suspend_count;
+
+  @vm_size_t()
+  external int virtual_size;
+
+  @vm_size_t()
+  external int resident_size;
+
+  external time_value_t user_time;
+
+  external time_value_t system_time;
+
+  @policy_t()
+  external int policy;
+}
+
+typedef vm_size_t = ffi.UintPtr;
+
+final class task_events_info extends ffi.Struct {
+  @integer_t()
+  external int faults;
+
+  @integer_t()
+  external int pageins;
+
+  @integer_t()
+  external int cow_faults;
+
+  @integer_t()
+  external int messages_sent;
+
+  @integer_t()
+  external int messages_received;
+
+  @integer_t()
+  external int syscalls_mach;
+
+  @integer_t()
+  external int syscalls_unix;
+
+  @integer_t()
+  external int csw;
+}
+
+final class task_thread_times_info extends ffi.Struct {
+  external time_value_t user_time;
+
+  external time_value_t system_time;
+}
+
+@ffi.Packed(4)
+final class task_absolutetime_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int total_user;
+
+  @ffi.Uint64()
+  external int total_system;
+
+  @ffi.Uint64()
+  external int threads_user;
+
+  @ffi.Uint64()
+  external int threads_system;
+}
+
+@ffi.Packed(4)
+final class task_kernelmemory_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int total_palloc;
+
+  @ffi.Uint64()
+  external int total_pfree;
+
+  @ffi.Uint64()
+  external int total_salloc;
+
+  @ffi.Uint64()
+  external int total_sfree;
+}
+
+final class task_affinity_tag_info extends ffi.Struct {
+  @integer_t()
+  external int set_count;
+
+  @integer_t()
+  external int min;
+
+  @integer_t()
+  external int max;
+
+  @integer_t()
+  external int task_count;
+}
+
+@ffi.Packed(4)
+final class task_dyld_info extends ffi.Struct {
+  @mach_vm_address_t()
+  external int all_image_info_addr;
+
+  @mach_vm_size_t()
+  external int all_image_info_size;
+
+  @integer_t()
+  external int all_image_info_format;
+}
+
+@ffi.Packed(4)
+final class task_extmod_info extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.UnsignedChar> task_uuid;
+
+  external vm_extmod_statistics_data_t extmod_statistics;
+}
+
+typedef vm_extmod_statistics_data_t = vm_extmod_statistics;
+
+@ffi.Packed(4)
+final class mach_task_basic_info extends ffi.Struct {
+  @mach_vm_size_t()
+  external int virtual_size;
+
+  @mach_vm_size_t()
+  external int resident_size;
+
+  @mach_vm_size_t()
+  external int resident_size_max;
+
+  external time_value_t user_time;
+
+  external time_value_t system_time;
+
+  @policy_t()
+  external int policy;
+
+  @integer_t()
+  external int suspend_count;
+}
+
+@ffi.Packed(4)
+final class task_power_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int total_user;
+
+  @ffi.Uint64()
+  external int total_system;
+
+  @ffi.Uint64()
+  external int task_interrupt_wakeups;
+
+  @ffi.Uint64()
+  external int task_platform_idle_wakeups;
+
+  @ffi.Uint64()
+  external int task_timer_wakeups_bin_1;
+
+  @ffi.Uint64()
+  external int task_timer_wakeups_bin_2;
+}
+
+@ffi.Packed(4)
+final class task_vm_info extends ffi.Struct {
+  @mach_vm_size_t()
+  external int virtual_size;
+
+  @integer_t()
+  external int region_count;
+
+  @integer_t()
+  external int page_size;
+
+  @mach_vm_size_t()
+  external int resident_size;
+
+  @mach_vm_size_t()
+  external int resident_size_peak;
+
+  @mach_vm_size_t()
+  external int device;
+
+  @mach_vm_size_t()
+  external int device_peak;
+
+  @mach_vm_size_t()
+  external int internal;
+
+  @mach_vm_size_t()
+  external int internal_peak;
+
+  @mach_vm_size_t()
+  external int external1;
+
+  @mach_vm_size_t()
+  external int external_peak;
+
+  @mach_vm_size_t()
+  external int reusable;
+
+  @mach_vm_size_t()
+  external int reusable_peak;
+
+  @mach_vm_size_t()
+  external int purgeable_volatile_pmap;
+
+  @mach_vm_size_t()
+  external int purgeable_volatile_resident;
+
+  @mach_vm_size_t()
+  external int purgeable_volatile_virtual;
+
+  @mach_vm_size_t()
+  external int compressed;
+
+  @mach_vm_size_t()
+  external int compressed_peak;
+
+  @mach_vm_size_t()
+  external int compressed_lifetime;
+
+  @mach_vm_size_t()
+  external int phys_footprint;
+
+  @mach_vm_address_t()
+  external int min_address;
+
+  @mach_vm_address_t()
+  external int max_address;
+
+  @ffi.Int64()
+  external int ledger_phys_footprint_peak;
+
+  @ffi.Int64()
+  external int ledger_purgeable_nonvolatile;
+
+  @ffi.Int64()
+  external int ledger_purgeable_novolatile_compressed;
+
+  @ffi.Int64()
+  external int ledger_purgeable_volatile;
+
+  @ffi.Int64()
+  external int ledger_purgeable_volatile_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_network_nonvolatile;
+
+  @ffi.Int64()
+  external int ledger_tag_network_nonvolatile_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_network_volatile;
+
+  @ffi.Int64()
+  external int ledger_tag_network_volatile_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_media_footprint;
+
+  @ffi.Int64()
+  external int ledger_tag_media_footprint_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_media_nofootprint;
+
+  @ffi.Int64()
+  external int ledger_tag_media_nofootprint_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_graphics_footprint;
+
+  @ffi.Int64()
+  external int ledger_tag_graphics_footprint_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_graphics_nofootprint;
+
+  @ffi.Int64()
+  external int ledger_tag_graphics_nofootprint_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_neural_footprint;
+
+  @ffi.Int64()
+  external int ledger_tag_neural_footprint_compressed;
+
+  @ffi.Int64()
+  external int ledger_tag_neural_nofootprint;
+
+  @ffi.Int64()
+  external int ledger_tag_neural_nofootprint_compressed;
+
+  @ffi.Uint64()
+  external int limit_bytes_remaining;
+
+  @integer_t()
+  external int decompressions;
+
+  @ffi.Int64()
+  external int ledger_swapins;
+}
+
+@ffi.Packed(4)
+final class task_trace_memory_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int user_memory_address;
+
+  @ffi.Uint64()
+  external int buffer_size;
+
+  @ffi.Uint64()
+  external int mailbox_array_size;
+}
+
+@ffi.Packed(4)
+final class task_wait_state_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int total_wait_state_time;
+
+  @ffi.Uint64()
+  external int total_wait_sfi_state_time;
+
+  @ffi.Array.multi([4])
+  external ffi.Array<ffi.Uint32> _reserved;
+}
+
+@ffi.Packed(4)
+final class gpu_energy_data extends ffi.Struct {
+  @ffi.Uint64()
+  external int task_gpu_utilisation;
+
+  @ffi.Uint64()
+  external int task_gpu_stat_reserved0;
+
+  @ffi.Uint64()
+  external int task_gpu_stat_reserved1;
+
+  @ffi.Uint64()
+  external int task_gpu_stat_reserved2;
+}
+
+@ffi.Packed(4)
+final class task_power_info_v2 extends ffi.Struct {
+  external task_power_info_data_t cpu_energy;
+
+  external gpu_energy_data gpu_energy;
+
+  @ffi.Uint64()
+  external int task_ptime;
+
+  @ffi.Uint64()
+  external int task_pset_switches;
+}
+
+typedef task_power_info_data_t = task_power_info;
+
+final class task_flags_info extends ffi.Struct {
+  @ffi.Uint32()
+  external int flags;
+}
+
+abstract class task_inspect_flavor {
+  static const int TASK_INSPECT_BASIC_COUNTS = 1;
+}
+
+final class task_inspect_basic_counts extends ffi.Struct {
+  @ffi.Uint64()
+  external int instructions;
+
+  @ffi.Uint64()
+  external int cycles;
+}
+
+abstract class task_role {
+  static const int TASK_RENICED = -1;
+  static const int TASK_UNSPECIFIED = 0;
+  static const int TASK_FOREGROUND_APPLICATION = 1;
+  static const int TASK_BACKGROUND_APPLICATION = 2;
+  static const int TASK_CONTROL_APPLICATION = 3;
+  static const int TASK_GRAPHICS_SERVER = 4;
+  static const int TASK_THROTTLE_APPLICATION = 5;
+  static const int TASK_NONUI_APPLICATION = 6;
+  static const int TASK_DEFAULT_APPLICATION = 7;
+  static const int TASK_DARWINBG_APPLICATION = 8;
+}
+
+final class task_category_policy extends ffi.Struct {
+  @ffi.Int32()
+  external int role;
+}
+
+abstract class task_latency_qos {
+  static const int LATENCY_QOS_TIER_UNSPECIFIED = 0;
+  static const int LATENCY_QOS_TIER_0 = 16711681;
+  static const int LATENCY_QOS_TIER_1 = 16711682;
+  static const int LATENCY_QOS_TIER_2 = 16711683;
+  static const int LATENCY_QOS_TIER_3 = 16711684;
+  static const int LATENCY_QOS_TIER_4 = 16711685;
+  static const int LATENCY_QOS_TIER_5 = 16711686;
+}
+
+abstract class task_throughput_qos {
+  static const int THROUGHPUT_QOS_TIER_UNSPECIFIED = 0;
+  static const int THROUGHPUT_QOS_TIER_0 = 16646145;
+  static const int THROUGHPUT_QOS_TIER_1 = 16646146;
+  static const int THROUGHPUT_QOS_TIER_2 = 16646147;
+  static const int THROUGHPUT_QOS_TIER_3 = 16646148;
+  static const int THROUGHPUT_QOS_TIER_4 = 16646149;
+  static const int THROUGHPUT_QOS_TIER_5 = 16646150;
+}
+
+final class task_qos_policy extends ffi.Struct {
+  @task_latency_qos_t()
+  external int task_latency_qos_tier;
+
+  @task_throughput_qos_t()
+  external int task_throughput_qos_tier;
+}
+
+typedef task_latency_qos_t = integer_t;
+typedef task_throughput_qos_t = integer_t;
+
+final class thread_basic_info extends ffi.Struct {
+  external time_value_t user_time;
+
+  external time_value_t system_time;
+
+  @integer_t()
+  external int cpu_usage;
+
+  @policy_t()
+  external int policy;
+
+  @integer_t()
+  external int run_state;
+
+  @integer_t()
+  external int flags;
+
+  @integer_t()
+  external int suspend_count;
+
+  @integer_t()
+  external int sleep_time;
+}
+
+final class thread_identifier_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int thread_id;
+
+  @ffi.Uint64()
+  external int thread_handle;
+
+  @ffi.Uint64()
+  external int dispatch_qaddr;
+}
+
+final class thread_extended_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int pth_user_time;
+
+  @ffi.Uint64()
+  external int pth_system_time;
+
+  @ffi.Int32()
+  external int pth_cpu_usage;
+
+  @ffi.Int32()
+  external int pth_policy;
+
+  @ffi.Int32()
+  external int pth_run_state;
+
+  @ffi.Int32()
+  external int pth_flags;
+
+  @ffi.Int32()
+  external int pth_sleep_time;
+
+  @ffi.Int32()
+  external int pth_curpri;
+
+  @ffi.Int32()
+  external int pth_priority;
+
+  @ffi.Int32()
+  external int pth_maxpriority;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Char> pth_name;
+}
+
+final class io_stat_entry extends ffi.Struct {
+  @ffi.Uint64()
+  external int count;
+
+  @ffi.Uint64()
+  external int size;
+}
+
+final class io_stat_info extends ffi.Struct {
+  external io_stat_entry disk_reads;
+
+  @ffi.Array.multi([4])
+  external ffi.Array<io_stat_entry> io_priority;
+
+  external io_stat_entry paging;
+
+  external io_stat_entry metadata;
+
+  external io_stat_entry total_io;
+}
+
+final class thread_standard_policy extends ffi.Struct {
+  @natural_t()
+  external int no_data;
+}
+
+final class thread_extended_policy extends ffi.Struct {
+  @boolean_t()
+  external int timeshare;
+}
+
+final class thread_time_constraint_policy extends ffi.Struct {
+  @ffi.Uint32()
+  external int period;
+
+  @ffi.Uint32()
+  external int computation;
+
+  @ffi.Uint32()
+  external int constraint;
+
+  @boolean_t()
+  external int preemptible;
+}
+
+final class thread_precedence_policy extends ffi.Struct {
+  @integer_t()
+  external int importance;
+}
+
+final class thread_affinity_policy extends ffi.Struct {
+  @integer_t()
+  external int affinity_tag;
+}
+
+final class thread_background_policy extends ffi.Struct {
+  @integer_t()
+  external int priority;
+}
+
+final class thread_latency_qos_policy extends ffi.Struct {
+  @thread_latency_qos_t()
+  external int thread_latency_qos_tier;
+}
+
+typedef thread_latency_qos_t = integer_t;
+
+final class thread_throughput_qos_policy extends ffi.Struct {
+  @thread_throughput_qos_t()
+  external int thread_throughput_qos_tier;
+}
+
+typedef thread_throughput_qos_t = integer_t;
+
+@ffi.Packed(4)
+final class vm_region_basic_info_64 extends ffi.Struct {
+  @vm_prot_t()
+  external int protection;
+
+  @vm_prot_t()
+  external int max_protection;
+
+  @vm_inherit_t()
+  external int inheritance;
+
+  @boolean_t()
+  external int shared;
+
+  @boolean_t()
+  external int reserved;
+
+  @memory_object_offset_t()
+  external int offset;
+
+  @vm_behavior_t()
+  external int behavior;
+
+  @ffi.UnsignedShort()
+  external int user_wired_count;
+}
+
+typedef vm_prot_t = ffi.Int;
+typedef vm_inherit_t = ffi.UnsignedInt;
+typedef memory_object_offset_t = ffi.UnsignedLongLong;
+typedef vm_behavior_t = ffi.Int;
+
+final class vm_region_basic_info extends ffi.Struct {
+  @vm_prot_t()
+  external int protection;
+
+  @vm_prot_t()
+  external int max_protection;
+
+  @vm_inherit_t()
+  external int inheritance;
+
+  @boolean_t()
+  external int shared;
+
+  @boolean_t()
+  external int reserved;
+
+  @ffi.Uint32()
+  external int offset;
+
+  @vm_behavior_t()
+  external int behavior;
+
+  @ffi.UnsignedShort()
+  external int user_wired_count;
+}
+
+final class vm_region_extended_info extends ffi.Struct {
+  @vm_prot_t()
+  external int protection;
+
+  @ffi.UnsignedInt()
+  external int user_tag;
+
+  @ffi.UnsignedInt()
+  external int pages_resident;
+
+  @ffi.UnsignedInt()
+  external int pages_shared_now_private;
+
+  @ffi.UnsignedInt()
+  external int pages_swapped_out;
+
+  @ffi.UnsignedInt()
+  external int pages_dirtied;
+
+  @ffi.UnsignedInt()
+  external int ref_count;
+
+  @ffi.UnsignedShort()
+  external int shadow_depth;
+
+  @ffi.UnsignedChar()
+  external int external_pager;
+
+  @ffi.UnsignedChar()
+  external int share_mode;
+
+  @ffi.UnsignedInt()
+  external int pages_reusable;
+}
+
+final class vm_region_top_info extends ffi.Struct {
+  @ffi.UnsignedInt()
+  external int obj_id;
+
+  @ffi.UnsignedInt()
+  external int ref_count;
+
+  @ffi.UnsignedInt()
+  external int private_pages_resident;
+
+  @ffi.UnsignedInt()
+  external int shared_pages_resident;
+
+  @ffi.UnsignedChar()
+  external int share_mode;
+}
+
+final class vm_region_submap_info extends ffi.Struct {
+  @vm_prot_t()
+  external int protection;
+
+  @vm_prot_t()
+  external int max_protection;
+
+  @vm_inherit_t()
+  external int inheritance;
+
+  @ffi.Uint32()
+  external int offset;
+
+  @ffi.UnsignedInt()
+  external int user_tag;
+
+  @ffi.UnsignedInt()
+  external int pages_resident;
+
+  @ffi.UnsignedInt()
+  external int pages_shared_now_private;
+
+  @ffi.UnsignedInt()
+  external int pages_swapped_out;
+
+  @ffi.UnsignedInt()
+  external int pages_dirtied;
+
+  @ffi.UnsignedInt()
+  external int ref_count;
+
+  @ffi.UnsignedShort()
+  external int shadow_depth;
+
+  @ffi.UnsignedChar()
+  external int external_pager;
+
+  @ffi.UnsignedChar()
+  external int share_mode;
+
+  @boolean_t()
+  external int is_submap;
+
+  @vm_behavior_t()
+  external int behavior;
+
+  @vm32_object_id_t()
+  external int object_id;
+
+  @ffi.UnsignedShort()
+  external int user_wired_count;
+}
+
+typedef vm32_object_id_t = ffi.Uint32;
+
+@ffi.Packed(4)
+final class vm_region_submap_info_64 extends ffi.Struct {
+  @vm_prot_t()
+  external int protection;
+
+  @vm_prot_t()
+  external int max_protection;
+
+  @vm_inherit_t()
+  external int inheritance;
+
+  @memory_object_offset_t()
+  external int offset;
+
+  @ffi.UnsignedInt()
+  external int user_tag;
+
+  @ffi.UnsignedInt()
+  external int pages_resident;
+
+  @ffi.UnsignedInt()
+  external int pages_shared_now_private;
+
+  @ffi.UnsignedInt()
+  external int pages_swapped_out;
+
+  @ffi.UnsignedInt()
+  external int pages_dirtied;
+
+  @ffi.UnsignedInt()
+  external int ref_count;
+
+  @ffi.UnsignedShort()
+  external int shadow_depth;
+
+  @ffi.UnsignedChar()
+  external int external_pager;
+
+  @ffi.UnsignedChar()
+  external int share_mode;
+
+  @boolean_t()
+  external int is_submap;
+
+  @vm_behavior_t()
+  external int behavior;
+
+  @vm32_object_id_t()
+  external int object_id;
+
+  @ffi.UnsignedShort()
+  external int user_wired_count;
+
+  @ffi.UnsignedInt()
+  external int pages_reusable;
+
+  @vm_object_id_t()
+  external int object_id_full;
+}
+
+typedef vm_object_id_t = ffi.UnsignedLongLong;
+
+@ffi.Packed(4)
+final class vm_region_submap_short_info_64 extends ffi.Struct {
+  @vm_prot_t()
+  external int protection;
+
+  @vm_prot_t()
+  external int max_protection;
+
+  @vm_inherit_t()
+  external int inheritance;
+
+  @memory_object_offset_t()
+  external int offset;
+
+  @ffi.UnsignedInt()
+  external int user_tag;
+
+  @ffi.UnsignedInt()
+  external int ref_count;
+
+  @ffi.UnsignedShort()
+  external int shadow_depth;
+
+  @ffi.UnsignedChar()
+  external int external_pager;
+
+  @ffi.UnsignedChar()
+  external int share_mode;
+
+  @boolean_t()
+  external int is_submap;
+
+  @vm_behavior_t()
+  external int behavior;
+
+  @vm32_object_id_t()
+  external int object_id;
+
+  @ffi.UnsignedShort()
+  external int user_wired_count;
+}
+
+@ffi.Packed(4)
+final class mach_vm_read_entry extends ffi.Struct {
+  @mach_vm_address_t()
+  external int address;
+
+  @mach_vm_size_t()
+  external int size;
+}
+
+@ffi.Packed(4)
+final class vm_read_entry extends ffi.Struct {
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+}
+
+typedef vm_address_t = vm_offset_t;
+typedef vm_offset_t = ffi.UintPtr;
+
+final class vm_page_info_basic extends ffi.Struct {
+  @ffi.Int()
+  external int disposition;
+
+  @ffi.Int()
+  external int ref_count;
+
+  @vm_object_id_t()
+  external int object_id;
+
+  @memory_object_offset_t()
+  external int offset;
+
+  @ffi.Int()
+  external int depth;
+
+  @ffi.Int()
+  external int __pad;
+}
+
+/// Warning: Any changes to the kmod_info structure affect the
+/// KMOD_..._DECL macros below.
+@ffi.Packed(4)
+final class kmod_info extends ffi.Struct {
+  external ffi.Pointer<kmod_info> next;
+
+  @ffi.Int32()
+  external int info_version;
+
+  @ffi.Uint32()
+  external int id;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Char> name;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Char> version;
+
+  @ffi.Int32()
+  external int reference_count;
+
+  external ffi.Pointer<kmod_reference_t> reference_list;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @vm_size_t()
+  external int hdr_size;
+
+  external ffi.Pointer<kmod_start_func_t> start;
+
+  external ffi.Pointer<kmod_stop_func_t> stop;
+}
+
+typedef kmod_reference_t = kmod_reference;
+
+@ffi.Packed(4)
+final class kmod_reference extends ffi.Struct {
+  external ffi.Pointer<kmod_reference> next;
+
+  external ffi.Pointer<kmod_info> info;
+}
+
+typedef kmod_start_func_t = ffi.NativeFunction<
+    kern_return_t Function(
+        ffi.Pointer<kmod_info> ki, ffi.Pointer<ffi.Void> data)>;
+typedef kmod_stop_func_t = ffi.NativeFunction<
+    kern_return_t Function(
+        ffi.Pointer<kmod_info> ki, ffi.Pointer<ffi.Void> data)>;
+
+final class kmod_info_32_v1 extends ffi.Struct {
+  @ffi.Uint32()
+  external int next_addr;
+
+  @ffi.Int32()
+  external int info_version;
+
+  @ffi.Uint32()
+  external int id;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Uint8> name;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Uint8> version;
+
+  @ffi.Int32()
+  external int reference_count;
+
+  @ffi.Uint32()
+  external int reference_list_addr;
+
+  @ffi.Uint32()
+  external int address;
+
+  @ffi.Uint32()
+  external int size;
+
+  @ffi.Uint32()
+  external int hdr_size;
+
+  @ffi.Uint32()
+  external int start_addr;
+
+  @ffi.Uint32()
+  external int stop_addr;
+}
+
+@ffi.Packed(4)
+final class kmod_info_64_v1 extends ffi.Struct {
+  @ffi.Uint64()
+  external int next_addr;
+
+  @ffi.Int32()
+  external int info_version;
+
+  @ffi.Uint32()
+  external int id;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Uint8> name;
+
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Uint8> version;
+
+  @ffi.Int32()
+  external int reference_count;
+
+  @ffi.Uint64()
+  external int reference_list_addr;
+
+  @ffi.Uint64()
+  external int address;
+
+  @ffi.Uint64()
+  external int size;
+
+  @ffi.Uint64()
+  external int hdr_size;
+
+  @ffi.Uint64()
+  external int start_addr;
+
+  @ffi.Uint64()
+  external int stop_addr;
+}
+
+final class fsid extends ffi.Struct {
+  @ffi.Array.multi([2])
+  external ffi.Array<ffi.Int32> val;
+}
+
+final class fsobj_id extends ffi.Struct {
+  @u_int32_t()
+  external int fid_objno;
+
+  @u_int32_t()
+  external int fid_generation;
+}
+
+final class dyld_kernel_image_info extends ffi.Struct {
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.UnsignedChar> uuid;
+
+  external fsobj_id_t fsobjid;
+
+  external fsid_t fsid;
+
+  @ffi.Uint64()
+  external int load_addr;
+}
+
+typedef fsobj_id_t = fsobj_id;
+typedef fsid_t = fsid;
+
+final class dyld_kernel_process_info extends ffi.Struct {
+  external dyld_kernel_image_info cache_image_info;
+
+  @ffi.Uint64()
+  external int timestamp;
+
+  @ffi.Uint32()
+  external int imageCount;
+
+  @ffi.Uint32()
+  external int initialImageCount;
+
+  @ffi.Uint8()
+  external int dyldState;
+
+  @boolean_t()
+  external int no_cache;
+
+  @boolean_t()
+  external int private_cache;
+}
+
+final class NDR_record_t extends ffi.Struct {
+  @ffi.UnsignedChar()
+  external int mig_vers;
+
+  @ffi.UnsignedChar()
+  external int if_vers;
+
+  @ffi.UnsignedChar()
+  external int reserved1;
+
+  @ffi.UnsignedChar()
+  external int mig_encoding;
+
+  @ffi.UnsignedChar()
+  external int int_rep;
+
+  @ffi.UnsignedChar()
+  external int char_rep;
+
+  @ffi.UnsignedChar()
+  external int float_rep;
+
+  @ffi.UnsignedChar()
+  external int reserved2;
+}
+
+final class mach_port_deleted_notification_t extends ffi.Struct {
+  external mach_msg_header_t not_header;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int not_port;
+
+  external mach_msg_format_0_trailer_t trailer;
+}
+
+typedef mach_msg_format_0_trailer_t = mach_msg_security_trailer_t;
+
+final class mach_send_possible_notification_t extends ffi.Struct {
+  external mach_msg_header_t not_header;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int not_port;
+
+  external mach_msg_format_0_trailer_t trailer;
+}
+
+final class mach_port_destroyed_notification_t extends ffi.Opaque {}
+
+final class mach_no_senders_notification_t extends ffi.Struct {
+  external mach_msg_header_t not_header;
+
+  external NDR_record_t NDR;
+
+  @mach_msg_type_number_t()
+  external int not_count;
+
+  external mach_msg_format_0_trailer_t trailer;
+}
+
+typedef mach_msg_type_number_t = natural_t;
+
+final class mach_send_once_notification_t extends ffi.Struct {
+  external mach_msg_header_t not_header;
+
+  external mach_msg_format_0_trailer_t trailer;
+}
+
+final class mach_dead_name_notification_t extends ffi.Struct {
+  external mach_msg_header_t not_header;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int not_port;
+
+  external mach_msg_format_0_trailer_t trailer;
+}
+
+final class routine_descriptor extends ffi.Struct {
+  external mig_impl_routine_t impl_routine;
+
+  external mig_stub_routine_t stub_routine;
+
+  @ffi.UnsignedInt()
+  external int argc;
+
+  @ffi.UnsignedInt()
+  external int descr_count;
+
+  external routine_arg_descriptor_t arg_descr;
+
+  @ffi.UnsignedInt()
+  external int max_reply_msg;
+}
+
+typedef mig_impl_routine_t
+    = ffi.Pointer<ffi.NativeFunction<kern_return_t Function()>>;
+typedef mig_stub_routine_t = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(ffi.Pointer<mach_msg_header_t> InHeadP,
+            ffi.Pointer<mach_msg_header_t> OutHeadP)>>;
+typedef routine_arg_descriptor_t = ffi.Pointer<mach_msg_type_descriptor_t>;
+
+final class mig_subsystem extends ffi.Struct {
+  external mig_server_routine_t server;
+
+  @mach_msg_id_t()
+  external int start;
+
+  @mach_msg_id_t()
+  external int end;
+
+  @mach_msg_size_t()
+  external int maxsize;
+
+  @vm_address_t()
+  external int reserved;
+
+  @ffi.Array.multi([1])
+  external ffi.Array<mig_routine_descriptor> routine;
+}
+
+typedef mig_server_routine_t = ffi.Pointer<
+    ffi.NativeFunction<
+        mig_routine_t Function(ffi.Pointer<mach_msg_header_t> InHeadP)>>;
+typedef mig_routine_t = mig_stub_routine_t;
+typedef mig_routine_descriptor = routine_descriptor;
+
+final class mig_symtab extends ffi.Struct {
+  external ffi.Pointer<ffi.Char> ms_routine_name;
+
+  @ffi.Int()
+  external int ms_routine_number;
+
+  external ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> ms_routine;
+}
+
+final class mig_reply_error_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+typedef clock_ctrl_t = mach_port_t;
+typedef mach_timespec_t = mach_timespec;
+typedef clock_flavor_t = ffi.Int;
+typedef clock_attr_t = ffi.Pointer<ffi.Int>;
+
+final class __Request__clock_set_time_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  external mach_timespec_t new_time;
+}
+
+final class __Request__clock_set_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @clock_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int clock_attrCnt;
+
+  @ffi.Array.multi([1])
+  external ffi.Array<ffi.Int> clock_attr;
+}
+
+final class __RequestUnion__clock_priv_subsystem extends ffi.Union {
+  external __Request__clock_set_time_t Request_clock_set_time;
+
+  external __Request__clock_set_attributes_t Request_clock_set_attributes;
+}
+
+final class __Reply__clock_set_time_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__clock_set_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __ReplyUnion__clock_priv_subsystem extends ffi.Union {
+  external __Reply__clock_set_time_t Reply_clock_set_time;
+
+  external __Reply__clock_set_attributes_t Reply_clock_set_attributes;
+}
+
+@ffi.Packed(4)
+final class mach_vm_info_region extends ffi.Struct {
+  @mach_vm_offset_t()
+  external int vir_start;
+
+  @mach_vm_offset_t()
+  external int vir_end;
+
+  @mach_vm_offset_t()
+  external int vir_object;
+
+  @memory_object_offset_t()
+  external int vir_offset;
+
+  @boolean_t()
+  external int vir_needs_copy;
+
+  @vm_prot_t()
+  external int vir_protection;
+
+  @vm_prot_t()
+  external int vir_max_protection;
+
+  @vm_inherit_t()
+  external int vir_inheritance;
+
+  @natural_t()
+  external int vir_wired_count;
+
+  @natural_t()
+  external int vir_user_wired_count;
+}
+
+@ffi.Packed(4)
+final class vm_info_region_64 extends ffi.Struct {
+  @natural_t()
+  external int vir_start;
+
+  @natural_t()
+  external int vir_end;
+
+  @natural_t()
+  external int vir_object;
+
+  @memory_object_offset_t()
+  external int vir_offset;
+
+  @boolean_t()
+  external int vir_needs_copy;
+
+  @vm_prot_t()
+  external int vir_protection;
+
+  @vm_prot_t()
+  external int vir_max_protection;
+
+  @vm_inherit_t()
+  external int vir_inheritance;
+
+  @natural_t()
+  external int vir_wired_count;
+
+  @natural_t()
+  external int vir_user_wired_count;
+}
+
+final class vm_info_region extends ffi.Struct {
+  @natural_t()
+  external int vir_start;
+
+  @natural_t()
+  external int vir_end;
+
+  @natural_t()
+  external int vir_object;
+
+  @natural_t()
+  external int vir_offset;
+
+  @boolean_t()
+  external int vir_needs_copy;
+
+  @vm_prot_t()
+  external int vir_protection;
+
+  @vm_prot_t()
+  external int vir_max_protection;
+
+  @vm_inherit_t()
+  external int vir_inheritance;
+
+  @natural_t()
+  external int vir_wired_count;
+
+  @natural_t()
+  external int vir_user_wired_count;
+}
+
+@ffi.Packed(4)
+final class vm_info_object extends ffi.Struct {
+  @natural_t()
+  external int vio_object;
+
+  @natural_t()
+  external int vio_size;
+
+  @ffi.UnsignedInt()
+  external int vio_ref_count;
+
+  @ffi.UnsignedInt()
+  external int vio_resident_page_count;
+
+  @ffi.UnsignedInt()
+  external int vio_absent_count;
+
+  @natural_t()
+  external int vio_copy;
+
+  @natural_t()
+  external int vio_shadow;
+
+  @natural_t()
+  external int vio_shadow_offset;
+
+  @natural_t()
+  external int vio_paging_offset;
+
+  @memory_object_copy_strategy_t()
+  external int vio_copy_strategy;
+
+  @vm_offset_t()
+  external int vio_last_alloc;
+
+  @ffi.UnsignedInt()
+  external int vio_paging_in_progress;
+
+  @boolean_t()
+  external int vio_pager_created;
+
+  @boolean_t()
+  external int vio_pager_initialized;
+
+  @boolean_t()
+  external int vio_pager_ready;
+
+  @boolean_t()
+  external int vio_can_persist;
+
+  @boolean_t()
+  external int vio_internal;
+
+  @boolean_t()
+  external int vio_temporary;
+
+  @boolean_t()
+  external int vio_alive;
+
+  @boolean_t()
+  external int vio_purgable;
+
+  @boolean_t()
+  external int vio_purgable_volatile;
+}
+
+final class zone_name extends ffi.Struct {
+  @ffi.Array.multi([80])
+  external ffi.Array<ffi.Char> zn_name;
+}
+
+final class zone_info extends ffi.Struct {
+  @integer_t()
+  external int zi_count;
+
+  @vm_size_t()
+  external int zi_cur_size;
+
+  @vm_size_t()
+  external int zi_max_size;
+
+  @vm_size_t()
+  external int zi_elem_size;
+
+  @vm_size_t()
+  external int zi_alloc_size;
+
+  @integer_t()
+  external int zi_pageable;
+
+  @integer_t()
+  external int zi_sleepable;
+
+  @integer_t()
+  external int zi_exhaustible;
+
+  @integer_t()
+  external int zi_collectable;
+}
+
+final class mach_zone_name extends ffi.Struct {
+  @ffi.Array.multi([80])
+  external ffi.Array<ffi.Char> mzn_name;
+}
+
+final class mach_zone_info_data extends ffi.Struct {
+  @ffi.Uint64()
+  external int mzi_count;
+
+  @ffi.Uint64()
+  external int mzi_cur_size;
+
+  @ffi.Uint64()
+  external int mzi_max_size;
+
+  @ffi.Uint64()
+  external int mzi_elem_size;
+
+  @ffi.Uint64()
+  external int mzi_alloc_size;
+
+  @ffi.Uint64()
+  external int mzi_sum_size;
+
+  @ffi.Uint64()
+  external int mzi_exhaustible;
+
+  @ffi.Uint64()
+  external int mzi_collectable;
+}
+
+final class task_zone_info_data extends ffi.Struct {
+  @ffi.Uint64()
+  external int tzi_count;
+
+  @ffi.Uint64()
+  external int tzi_cur_size;
+
+  @ffi.Uint64()
+  external int tzi_max_size;
+
+  @ffi.Uint64()
+  external int tzi_elem_size;
+
+  @ffi.Uint64()
+  external int tzi_alloc_size;
+
+  @ffi.Uint64()
+  external int tzi_sum_size;
+
+  @ffi.Uint64()
+  external int tzi_exhaustible;
+
+  @ffi.Uint64()
+  external int tzi_collectable;
+
+  @ffi.Uint64()
+  external int tzi_caller_acct;
+
+  @ffi.Uint64()
+  external int tzi_task_alloc;
+
+  @ffi.Uint64()
+  external int tzi_task_free;
+}
+
+final class mach_memory_info extends ffi.Struct {
+  @ffi.Uint64()
+  external int flags;
+
+  @ffi.Uint64()
+  external int site;
+
+  @ffi.Uint64()
+  external int size;
+
+  @ffi.Uint64()
+  external int free;
+
+  @ffi.Uint64()
+  external int largest;
+
+  @ffi.Uint64()
+  external int collectable_bytes;
+
+  @ffi.Uint64()
+  external int mapped;
+
+  @ffi.Uint64()
+  external int peak;
+
+  @ffi.Uint16()
+  external int tag;
+
+  @ffi.Uint16()
+  external int zone;
+
+  @ffi.Array.multi([2])
+  external ffi.Array<ffi.Uint16> _resvA;
+
+  @ffi.Array.multi([3])
+  external ffi.Array<ffi.Uint64> _resv;
+
+  @ffi.Array.multi([80])
+  external ffi.Array<ffi.Char> name;
+}
+
+final class zone_btrecord extends ffi.Struct {
+  @ffi.Uint32()
+  external int ref_count;
+
+  @ffi.Uint32()
+  external int operation_type;
+
+  @ffi.Array.multi([15])
+  external ffi.Array<ffi.Uint64> bt;
+}
+
+final class hash_info_bucket extends ffi.Struct {
+  @natural_t()
+  external int hib_count;
+}
+
+final class lockgroup_info extends ffi.Struct {
+  @ffi.Array.multi([64])
+  external ffi.Array<ffi.Char> lockgroup_name;
+
+  @ffi.Uint64()
+  external int lockgroup_attr;
+
+  @ffi.Uint64()
+  external int lock_spin_cnt;
+
+  @ffi.Uint64()
+  external int lock_spin_util_cnt;
+
+  @ffi.Uint64()
+  external int lock_spin_held_cnt;
+
+  @ffi.Uint64()
+  external int lock_spin_miss_cnt;
+
+  @ffi.Uint64()
+  external int lock_spin_held_max;
+
+  @ffi.Uint64()
+  external int lock_spin_held_cum;
+
+  @ffi.Uint64()
+  external int lock_mtx_cnt;
+
+  @ffi.Uint64()
+  external int lock_mtx_util_cnt;
+
+  @ffi.Uint64()
+  external int lock_mtx_held_cnt;
+
+  @ffi.Uint64()
+  external int lock_mtx_miss_cnt;
+
+  @ffi.Uint64()
+  external int lock_mtx_wait_cnt;
+
+  @ffi.Uint64()
+  external int lock_mtx_held_max;
+
+  @ffi.Uint64()
+  external int lock_mtx_held_cum;
+
+  @ffi.Uint64()
+  external int lock_mtx_wait_max;
+
+  @ffi.Uint64()
+  external int lock_mtx_wait_cum;
+
+  @ffi.Uint64()
+  external int lock_rw_cnt;
+
+  @ffi.Uint64()
+  external int lock_rw_util_cnt;
+
+  @ffi.Uint64()
+  external int lock_rw_held_cnt;
+
+  @ffi.Uint64()
+  external int lock_rw_miss_cnt;
+
+  @ffi.Uint64()
+  external int lock_rw_wait_cnt;
+
+  @ffi.Uint64()
+  external int lock_rw_held_max;
+
+  @ffi.Uint64()
+  external int lock_rw_held_cum;
+
+  @ffi.Uint64()
+  external int lock_rw_wait_max;
+
+  @ffi.Uint64()
+  external int lock_rw_wait_cum;
+}
+
+final class mach_core_details extends ffi.Struct {
+  @ffi.Uint64()
+  external int gzip_offset;
+
+  @ffi.Uint64()
+  external int gzip_length;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Char> core_name;
+}
+
+final class mach_core_fileheader extends ffi.Struct {
+  @ffi.Uint64()
+  external int signature;
+
+  @ffi.Uint64()
+  external int log_offset;
+
+  @ffi.Uint64()
+  external int log_length;
+
+  @ffi.Uint64()
+  external int num_files;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<mach_core_details> files;
+}
+
+final class mach_core_details_v2 extends ffi.Struct {
+  @ffi.Uint64()
+  external int flags;
+
+  @ffi.Uint64()
+  external int offset;
+
+  @ffi.Uint64()
+  external int length;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<ffi.Char> core_name;
+}
+
+final class mach_core_fileheader_base extends ffi.Struct {
+  @ffi.Uint64()
+  external int signature;
+
+  @ffi.Uint32()
+  external int version;
+}
+
+final class mach_core_fileheader_v2 extends ffi.Opaque {}
+
+typedef host_priv_t = mach_port_t;
+typedef host_flavor_t = integer_t;
+typedef host_info_t = ffi.Pointer<integer_t>;
+typedef memory_object_default_t = mach_port_t;
+typedef vm_map_t = mach_port_t;
+typedef thread_act_t = mach_port_t;
+typedef processor_array_t = ffi.Pointer<processor_t>;
+typedef processor_t = mach_port_t;
+typedef clock_id_t = ffi.Int;
+typedef kmod_t = ffi.Int;
+typedef kmod_control_flavor_t = ffi.Int;
+
+/// These 3 should be dropped but they're referenced by MIG declarations.
+typedef kmod_args_t = ffi.Pointer<ffi.Void>;
+typedef exception_mask_t = ffi.UnsignedInt;
+typedef exception_behavior_t = ffi.Int;
+typedef thread_state_flavor_t = ffi.Int;
+typedef exception_mask_array_t = ffi.Pointer<exception_mask_t>;
+typedef exception_handler_array_t = ffi.Pointer<exception_handler_t>;
+typedef exception_handler_t = mach_port_t;
+typedef exception_behavior_array_t = ffi.Pointer<exception_behavior_t>;
+typedef exception_flavor_array_t = ffi.Pointer<thread_state_flavor_t>;
+typedef processor_set_name_array_t = ffi.Pointer<processor_set_t>;
+typedef processor_set_t = mach_port_t;
+typedef processor_set_name_t = processor_set_t;
+typedef UNDServerRef = mach_port_t;
+
+final class __Request__host_get_boot_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_reboot_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int options;
+}
+
+final class __Request__host_priv_statistics_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @host_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int host_info_outCnt;
+}
+
+final class __Request__host_default_memory_manager_t extends ffi.Opaque {}
+
+final class __Request__vm_wire_t extends ffi.Opaque {}
+
+final class __Request__thread_wire_t extends ffi.Opaque {}
+
+final class __Request__vm_allocate_cpm_t extends ffi.Opaque {}
+
+final class __Request__host_processors_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_get_clock_control_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @clock_id_t()
+  external int clock_id;
+}
+
+@ffi.Packed(4)
+final class __Request__kmod_create_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int info;
+}
+
+final class __Request__kmod_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kmod_t()
+  external int module;
+}
+
+final class __Request__kmod_control_t extends ffi.Opaque {}
+
+final class __Request__host_get_special_port_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int node;
+
+  @ffi.Int()
+  external int which;
+}
+
+final class __Request__host_set_special_port_t extends ffi.Opaque {}
+
+final class __Request__host_set_exception_ports_t extends ffi.Opaque {}
+
+final class __Request__host_get_exception_ports_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @exception_mask_t()
+  external int exception_mask;
+}
+
+final class __Request__host_swap_exception_ports_t extends ffi.Opaque {}
+
+final class __Request__mach_vm_wire_t extends ffi.Opaque {}
+
+final class __Request__host_processor_sets_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_processor_set_priv_t extends ffi.Opaque {}
+
+final class __Request__host_set_UNDServer_t extends ffi.Opaque {}
+
+final class __Request__host_get_UNDServer_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__kext_request_t extends ffi.Opaque {}
+
+final class __RequestUnion__host_priv_subsystem extends ffi.Opaque {}
+
+final class __Reply__host_get_boot_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int boot_infoOffset;
+
+  @mach_msg_type_number_t()
+  external int boot_infoCnt;
+
+  @ffi.Array.multi([4096])
+  external ffi.Array<ffi.Char> boot_info;
+}
+
+final class __Reply__host_reboot_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_priv_statistics_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int host_info_outCnt;
+
+  @ffi.Array.multi([68])
+  external ffi.Array<integer_t> host_info_out;
+}
+
+final class __Reply__host_default_memory_manager_t extends ffi.Opaque {}
+
+final class __Reply__vm_wire_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_wire_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__vm_allocate_cpm_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int address;
+}
+
+final class __Reply__host_processors_t extends ffi.Opaque {}
+
+final class __Reply__host_get_clock_control_t extends ffi.Opaque {}
+
+final class __Reply__kmod_create_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @kmod_t()
+  external int module;
+}
+
+final class __Reply__kmod_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__kmod_control_t extends ffi.Opaque {}
+
+final class __Reply__host_get_special_port_t extends ffi.Opaque {}
+
+final class __Reply__host_set_special_port_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_set_exception_ports_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_get_exception_ports_t extends ffi.Opaque {}
+
+final class __Reply__host_swap_exception_ports_t extends ffi.Opaque {}
+
+final class __Reply__mach_vm_wire_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_processor_sets_t extends ffi.Opaque {}
+
+final class __Reply__host_processor_set_priv_t extends ffi.Opaque {}
+
+final class __Reply__host_set_UNDServer_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_get_UNDServer_t extends ffi.Opaque {}
+
+final class __Reply__kext_request_t extends ffi.Opaque {}
+
+final class __ReplyUnion__host_priv_subsystem extends ffi.Opaque {}
+
+typedef host_security_t = mach_port_t;
+typedef task_t = mach_port_t;
+typedef host_t = mach_port_t;
+typedef ledger_array_t = ffi.Pointer<ledger_t>;
+typedef ledger_t = mach_port_t;
+
+final class __Request__host_security_create_task_token_t extends ffi.Opaque {}
+
+final class __Request__host_security_set_task_token_t extends ffi.Opaque {}
+
+final class __RequestUnion__host_security_subsystem extends ffi.Opaque {}
+
+final class __Reply__host_security_create_task_token_t extends ffi.Opaque {}
+
+final class __Reply__host_security_set_task_token_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __ReplyUnion__host_security_subsystem extends ffi.Opaque {}
+
+typedef processor_flavor_t = ffi.Int;
+typedef processor_info_t = ffi.Pointer<integer_t>;
+
+final class __Request__processor_start_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_exit_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @processor_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int processor_info_outCnt;
+}
+
+final class __Request__processor_control_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_msg_type_number_t()
+  external int processor_cmdCnt;
+
+  @ffi.Array.multi([20])
+  external ffi.Array<integer_t> processor_cmd;
+}
+
+final class __Request__processor_assign_t extends ffi.Opaque {}
+
+final class __Request__processor_get_assignment_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __RequestUnion__processor_subsystem extends ffi.Opaque {}
+
+final class __Reply__processor_start_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_exit_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_info_t extends ffi.Opaque {}
+
+final class __Reply__processor_control_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_assign_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_get_assignment_t extends ffi.Opaque {}
+
+final class __ReplyUnion__processor_subsystem extends ffi.Opaque {}
+
+typedef processor_set_flavor_t = ffi.Int;
+typedef processor_set_info_t = ffi.Pointer<integer_t>;
+typedef task_array_t = ffi.Pointer<task_t>;
+typedef thread_act_array_t = ffi.Pointer<thread_act_t>;
+typedef mach_task_flavor_t = ffi.UnsignedInt;
+
+final class __Request__processor_set_statistics_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @processor_set_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int info_outCnt;
+}
+
+final class __Request__processor_set_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_set_max_priority_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int max_priority;
+
+  @boolean_t()
+  external int change_threads;
+}
+
+final class __Request__processor_set_policy_enable_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int policy;
+}
+
+final class __Request__processor_set_policy_disable_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int policy;
+
+  @boolean_t()
+  external int change_threads;
+}
+
+final class __Request__processor_set_tasks_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_set_threads_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_set_policy_control_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @processor_set_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int policy_infoCnt;
+
+  @ffi.Array.multi([5])
+  external ffi.Array<integer_t> policy_info;
+
+  @boolean_t()
+  external int change;
+}
+
+final class __Request__processor_set_stack_usage_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_set_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int info_outCnt;
+}
+
+final class __Request__processor_set_tasks_with_flavor_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_task_flavor_t()
+  external int flavor;
+}
+
+final class __RequestUnion__processor_set_subsystem extends ffi.Union {
+  external __Request__processor_set_statistics_t
+      Request_processor_set_statistics;
+
+  external __Request__processor_set_destroy_t Request_processor_set_destroy;
+
+  external __Request__processor_set_max_priority_t
+      Request_processor_set_max_priority;
+
+  external __Request__processor_set_policy_enable_t
+      Request_processor_set_policy_enable;
+
+  external __Request__processor_set_policy_disable_t
+      Request_processor_set_policy_disable;
+
+  external __Request__processor_set_tasks_t Request_processor_set_tasks;
+
+  external __Request__processor_set_threads_t Request_processor_set_threads;
+
+  external __Request__processor_set_policy_control_t
+      Request_processor_set_policy_control;
+
+  external __Request__processor_set_stack_usage_t
+      Request_processor_set_stack_usage;
+
+  external __Request__processor_set_info_t Request_processor_set_info;
+
+  external __Request__processor_set_tasks_with_flavor_t
+      Request_processor_set_tasks_with_flavor;
+}
+
+final class __Reply__processor_set_statistics_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int info_outCnt;
+
+  @ffi.Array.multi([5])
+  external ffi.Array<integer_t> info_out;
+}
+
+final class __Reply__processor_set_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_set_max_priority_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_set_policy_enable_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_set_policy_disable_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__processor_set_tasks_t extends ffi.Opaque {}
+
+final class __Reply__processor_set_threads_t extends ffi.Opaque {}
+
+final class __Reply__processor_set_policy_control_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__processor_set_stack_usage_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.UnsignedInt()
+  external int ltotal;
+
+  @vm_size_t()
+  external int space;
+
+  @vm_size_t()
+  external int resident;
+
+  @vm_size_t()
+  external int maxusage;
+
+  @vm_offset_t()
+  external int maxstack;
+}
+
+final class __Reply__processor_set_info_t extends ffi.Opaque {}
+
+final class __Reply__processor_set_tasks_with_flavor_t extends ffi.Opaque {}
+
+final class __ReplyUnion__processor_set_subsystem extends ffi.Opaque {}
+
+typedef semaphore_t = mach_port_t;
+typedef thread_t = mach_port_t;
+typedef task_inspect_t = mach_port_t;
+typedef mach_port_array_t = ffi.Pointer<mach_port_t>;
+typedef task_name_t = mach_port_t;
+typedef task_flavor_t = natural_t;
+typedef task_info_t = ffi.Pointer<integer_t>;
+typedef task_read_t = mach_port_t;
+typedef thread_state_t = ffi.Pointer<natural_t>;
+typedef lock_set_t = mach_port_t;
+typedef task_policy_set_t = mach_port_t;
+typedef task_policy_flavor_t = natural_t;
+typedef task_policy_t = ffi.Pointer<integer_t>;
+typedef task_policy_get_t = mach_port_t;
+typedef policy_base_t = ffi.Pointer<integer_t>;
+typedef emulation_vector_t = ffi.Pointer<mach_vm_offset_t>;
+typedef mach_zone_name_array_t = ffi.Pointer<mach_zone_name_t>;
+typedef mach_zone_name_t = mach_zone_name;
+typedef task_zone_info_array_t = ffi.Pointer<task_zone_info_t>;
+typedef task_zone_info_t = task_zone_info_data;
+typedef policy_limit_t = ffi.Pointer<integer_t>;
+typedef task_suspension_token_t = mach_port_t;
+typedef task_purgable_info_t = vm_purgeable_info;
+typedef mach_voucher_selector_t = ffi.Uint32;
+typedef ipc_voucher_t = mach_voucher_t;
+typedef mach_voucher_t = mach_port_t;
+typedef dyld_kernel_image_info_array_t = ffi.Pointer<dyld_kernel_image_info_t>;
+typedef dyld_kernel_image_info_t = dyld_kernel_image_info;
+typedef dyld_kernel_process_info_t = dyld_kernel_process_info;
+typedef task_inspect_flavor_t = natural_t;
+typedef task_inspect_info_t = ffi.Pointer<integer_t>;
+typedef task_exc_guard_behavior_t = ffi.Uint32;
+typedef task_id_token_t = mach_port_t;
+typedef exception_handler_info_array_t = ffi.Pointer<ipc_info_port_t>;
+typedef ipc_info_port_t = ipc_info_port;
+typedef task_corpse_forking_behavior_t = ffi.Uint32;
+typedef kcdata_object_t = mach_port_t;
+
+final class __Request__task_create_t extends ffi.Opaque {}
+
+final class __Request__task_terminate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_threads_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__mach_ports_register_t extends ffi.Opaque {}
+
+final class __Request__mach_ports_lookup_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int task_info_outCnt;
+}
+
+final class __Request__task_set_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int task_info_inCnt;
+
+  @ffi.Array.multi([90])
+  external ffi.Array<integer_t> task_info_in;
+}
+
+final class __Request__task_suspend_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_resume_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_get_special_port_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int which_port;
+}
+
+final class __Request__task_set_special_port_t extends ffi.Opaque {}
+
+final class __Request__thread_create_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_create_running_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_state_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int new_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> new_state;
+}
+
+final class __Request__task_set_exception_ports_t extends ffi.Opaque {}
+
+final class __Request__task_get_exception_ports_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @exception_mask_t()
+  external int exception_mask;
+}
+
+final class __Request__task_swap_exception_ports_t extends ffi.Opaque {}
+
+final class __Request__lock_set_create_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int n_ulocks;
+
+  @ffi.Int()
+  external int policy;
+}
+
+final class __Request__lock_set_destroy_t extends ffi.Opaque {}
+
+final class __Request__semaphore_create_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int policy;
+
+  @ffi.Int()
+  external int value;
+}
+
+final class __Request__semaphore_destroy_t extends ffi.Opaque {}
+
+final class __Request__task_policy_set_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_policy_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int policy_infoCnt;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<integer_t> policy_info;
+}
+
+final class __Request__task_policy_get_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_policy_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int policy_infoCnt;
+
+  @boolean_t()
+  external int get_default;
+}
+
+final class __Request__task_sample_t extends ffi.Opaque {}
+
+final class __Request__task_policy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @policy_t()
+  external int policy;
+
+  @mach_msg_type_number_t()
+  external int baseCnt;
+
+  @ffi.Array.multi([5])
+  external ffi.Array<integer_t> base;
+
+  @boolean_t()
+  external int set_limit;
+
+  @boolean_t()
+  external int change;
+}
+
+@ffi.Packed(4)
+final class __Request__task_set_emulation_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int routine_entry_pt;
+
+  @ffi.Int()
+  external int routine_number;
+}
+
+final class __Request__task_get_emulation_vector_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_set_emulation_vector_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Request__task_set_ras_pc_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int basepc;
+
+  @vm_address_t()
+  external int boundspc;
+}
+
+final class __Request__task_zone_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_assign_t extends ffi.Opaque {}
+
+final class __Request__task_assign_default_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @boolean_t()
+  external int assign_threads;
+}
+
+final class __Request__task_get_assignment_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_set_policy_t extends ffi.Opaque {}
+
+final class __Request__task_get_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_state_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int old_stateCnt;
+}
+
+final class __Request__task_set_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_state_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int new_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> new_state;
+}
+
+final class __Request__task_set_phys_footprint_limit_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int new_limit;
+}
+
+final class __Request__task_suspend2_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_resume2_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_purgable_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_get_mach_voucher_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_voucher_selector_t()
+  external int which;
+}
+
+final class __Request__task_set_mach_voucher_t extends ffi.Opaque {}
+
+final class __Request__task_swap_mach_voucher_t extends ffi.Opaque {}
+
+final class __Request__task_generate_corpse_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_map_corpse_info_t extends ffi.Opaque {}
+
+final class __Request__task_register_dyld_image_infos_t extends ffi.Opaque {}
+
+final class __Request__task_unregister_dyld_image_infos_t extends ffi.Opaque {}
+
+final class __Request__task_get_dyld_image_infos_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+@ffi.Packed(4)
+final class __Request__task_register_dyld_shared_cache_image_info_t
+    extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  external dyld_kernel_image_info_t dyld_cache_image;
+
+  @boolean_t()
+  external int no_cache;
+
+  @boolean_t()
+  external int private_cache;
+}
+
+final class __Request__task_register_dyld_set_dyld_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Uint8()
+  external int dyld_state;
+
+  @ffi.Array.multi([3])
+  external ffi.Array<ffi.Char> dyld_statePad;
+}
+
+final class __Request__task_register_dyld_get_process_state_t
+    extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_map_corpse_info_64_t extends ffi.Opaque {}
+
+final class __Request__task_inspect_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_inspect_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int info_outCnt;
+}
+
+final class __Request__task_get_exc_guard_behavior_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_set_exc_guard_behavior_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_exc_guard_behavior_t()
+  external int behavior;
+}
+
+final class __Request__task_dyld_process_info_notify_register_t
+    extends ffi.Opaque {}
+
+final class __Request__task_create_identity_token_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__task_identity_token_get_task_port_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_flavor_t()
+  external int flavor;
+}
+
+final class __Request__task_dyld_process_info_notify_deregister_t
+    extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int notify;
+}
+
+final class __Request__task_get_exception_ports_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @exception_mask_t()
+  external int exception_mask;
+}
+
+final class __Request__task_test_sync_upcall_t extends ffi.Opaque {}
+
+final class __Request__task_set_corpse_forking_behavior_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @task_corpse_forking_behavior_t()
+  external int behavior;
+}
+
+final class __Request__task_test_async_upcall_propagation_t
+    extends ffi.Opaque {}
+
+final class __Request__task_map_kcdata_object_64_t extends ffi.Opaque {}
+
+final class __RequestUnion__task_subsystem extends ffi.Opaque {}
+
+final class __Reply__task_create_t extends ffi.Opaque {}
+
+final class __Reply__task_terminate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_threads_t extends ffi.Opaque {}
+
+final class __Reply__mach_ports_register_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_ports_lookup_t extends ffi.Opaque {}
+
+final class __Reply__task_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int task_info_outCnt;
+
+  @ffi.Array.multi([90])
+  external ffi.Array<integer_t> task_info_out;
+}
+
+final class __Reply__task_set_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_suspend_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_resume_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_get_special_port_t extends ffi.Opaque {}
+
+final class __Reply__task_set_special_port_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_create_t extends ffi.Opaque {}
+
+final class __Reply__thread_create_running_t extends ffi.Opaque {}
+
+final class __Reply__task_set_exception_ports_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_get_exception_ports_t extends ffi.Opaque {}
+
+final class __Reply__task_swap_exception_ports_t extends ffi.Opaque {}
+
+final class __Reply__lock_set_create_t extends ffi.Opaque {}
+
+final class __Reply__lock_set_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__semaphore_create_t extends ffi.Opaque {}
+
+final class __Reply__semaphore_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_policy_set_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_policy_get_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int policy_infoCnt;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<integer_t> policy_info;
+
+  @boolean_t()
+  external int get_default;
+}
+
+final class __Reply__task_sample_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_policy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_set_emulation_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_get_emulation_vector_t extends ffi.Opaque {}
+
+final class __Reply__task_set_emulation_vector_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_set_ras_pc_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_zone_info_t extends ffi.Opaque {}
+
+final class __Reply__task_assign_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_assign_default_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_get_assignment_t extends ffi.Opaque {}
+
+final class __Reply__task_set_policy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_get_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int old_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> old_state;
+}
+
+final class __Reply__task_set_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_set_phys_footprint_limit_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.Int()
+  external int old_limit;
+}
+
+final class __Reply__task_suspend2_t extends ffi.Opaque {}
+
+final class __Reply__task_resume2_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__task_purgable_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  external task_purgable_info_t stats;
+}
+
+final class __Reply__task_get_mach_voucher_t extends ffi.Opaque {}
+
+final class __Reply__task_set_mach_voucher_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_swap_mach_voucher_t extends ffi.Opaque {}
+
+final class __Reply__task_generate_corpse_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Reply__task_map_corpse_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int kcd_addr_begin;
+
+  @ffi.Uint32()
+  external int kcd_size;
+}
+
+final class __Reply__task_register_dyld_image_infos_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_unregister_dyld_image_infos_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_get_dyld_image_infos_t extends ffi.Opaque {}
+
+final class __Reply__task_register_dyld_shared_cache_image_info_t
+    extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_register_dyld_set_dyld_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__task_register_dyld_get_process_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  external dyld_kernel_process_info_t dyld_process_state;
+}
+
+@ffi.Packed(4)
+final class __Reply__task_map_corpse_info_64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_vm_address_t()
+  external int kcd_addr_begin;
+
+  @mach_vm_size_t()
+  external int kcd_size;
+}
+
+final class __Reply__task_inspect_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int info_outCnt;
+
+  @ffi.Array.multi([4])
+  external ffi.Array<integer_t> info_out;
+}
+
+final class __Reply__task_get_exc_guard_behavior_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @task_exc_guard_behavior_t()
+  external int behavior;
+}
+
+final class __Reply__task_set_exc_guard_behavior_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_dyld_process_info_notify_register_t
+    extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_create_identity_token_t extends ffi.Opaque {}
+
+final class __Reply__task_identity_token_get_task_port_t extends ffi.Opaque {}
+
+final class __Reply__task_dyld_process_info_notify_deregister_t
+    extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_get_exception_ports_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int masksCnt;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<exception_mask_t> masks;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<exception_handler_info_t> old_handlers_info;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<exception_behavior_t> old_behaviors;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<thread_state_flavor_t> old_flavors;
+}
+
+typedef exception_handler_info_t = ipc_info_port_t;
+
+final class __Reply__task_test_sync_upcall_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_set_corpse_forking_behavior_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__task_test_async_upcall_propagation_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__task_map_kcdata_object_64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_vm_address_t()
+  external int kcd_addr_begin;
+
+  @mach_vm_size_t()
+  external int kcd_size;
+}
+
+final class __ReplyUnion__task_subsystem extends ffi.Opaque {}
+
+typedef thread_read_t = mach_port_t;
+typedef thread_inspect_t = mach_port_t;
+typedef thread_flavor_t = natural_t;
+typedef thread_info_t = ffi.Pointer<integer_t>;
+typedef thread_policy_flavor_t = natural_t;
+typedef thread_policy_t = ffi.Pointer<integer_t>;
+
+final class __Request__thread_terminate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__act_get_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int old_stateCnt;
+}
+
+final class __Request__act_set_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int new_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> new_state;
+}
+
+final class __Request__thread_get_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_state_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int old_stateCnt;
+}
+
+final class __Request__thread_set_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_state_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int new_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> new_state;
+}
+
+final class __Request__thread_suspend_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_resume_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_abort_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_abort_safely_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_depress_abort_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_get_special_port_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int which_port;
+}
+
+final class __Request__thread_set_special_port_t extends ffi.Opaque {}
+
+final class __Request__thread_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int thread_info_outCnt;
+}
+
+final class __Request__thread_set_exception_ports_t extends ffi.Opaque {}
+
+final class __Request__thread_get_exception_ports_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @exception_mask_t()
+  external int exception_mask;
+}
+
+final class __Request__thread_swap_exception_ports_t extends ffi.Opaque {}
+
+final class __Request__thread_policy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @policy_t()
+  external int policy;
+
+  @mach_msg_type_number_t()
+  external int baseCnt;
+
+  @ffi.Array.multi([5])
+  external ffi.Array<integer_t> base;
+
+  @boolean_t()
+  external int set_limit;
+}
+
+final class __Request__thread_policy_set_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_policy_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int policy_infoCnt;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<integer_t> policy_info;
+}
+
+final class __Request__thread_policy_get_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @thread_policy_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int policy_infoCnt;
+
+  @boolean_t()
+  external int get_default;
+}
+
+final class __Request__thread_sample_t extends ffi.Opaque {}
+
+final class __Request__etap_trace_thread_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @boolean_t()
+  external int trace_status;
+}
+
+final class __Request__thread_assign_t extends ffi.Opaque {}
+
+final class __Request__thread_assign_default_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_get_assignment_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__thread_set_policy_t extends ffi.Opaque {}
+
+final class __Request__thread_get_mach_voucher_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_voucher_selector_t()
+  external int which;
+}
+
+final class __Request__thread_set_mach_voucher_t extends ffi.Opaque {}
+
+final class __Request__thread_swap_mach_voucher_t extends ffi.Opaque {}
+
+final class __Request__thread_convert_thread_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int direction;
+
+  @thread_state_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int in_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> in_state;
+
+  @mach_msg_type_number_t()
+  external int out_stateCnt;
+}
+
+final class __Request__thread_get_exception_ports_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @exception_mask_t()
+  external int exception_mask;
+}
+
+final class __RequestUnion__thread_act_subsystem extends ffi.Opaque {}
+
+final class __Reply__thread_terminate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__act_get_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int old_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> old_state;
+}
+
+final class __Reply__act_set_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_get_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int old_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> old_state;
+}
+
+final class __Reply__thread_set_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_suspend_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_resume_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_abort_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_abort_safely_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_depress_abort_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_get_special_port_t extends ffi.Opaque {}
+
+final class __Reply__thread_set_special_port_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int thread_info_outCnt;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<integer_t> thread_info_out;
+}
+
+final class __Reply__thread_set_exception_ports_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_get_exception_ports_t extends ffi.Opaque {}
+
+final class __Reply__thread_swap_exception_ports_t extends ffi.Opaque {}
+
+final class __Reply__thread_policy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_policy_set_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_policy_get_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int policy_infoCnt;
+
+  @ffi.Array.multi([16])
+  external ffi.Array<integer_t> policy_info;
+
+  @boolean_t()
+  external int get_default;
+}
+
+final class __Reply__thread_sample_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__etap_trace_thread_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_assign_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_assign_default_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_get_assignment_t extends ffi.Opaque {}
+
+final class __Reply__thread_set_policy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_get_mach_voucher_t extends ffi.Opaque {}
+
+final class __Reply__thread_set_mach_voucher_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__thread_swap_mach_voucher_t extends ffi.Opaque {}
+
+final class __Reply__thread_convert_thread_state_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int out_stateCnt;
+
+  @ffi.Array.multi([1296])
+  external ffi.Array<natural_t> out_state;
+}
+
+final class __Reply__thread_get_exception_ports_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int masksCnt;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<exception_mask_t> masks;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<exception_handler_info_t> old_handlers_info;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<exception_behavior_t> old_behaviors;
+
+  @ffi.Array.multi([32])
+  external ffi.Array<thread_state_flavor_t> old_flavors;
+}
+
+final class __ReplyUnion__thread_act_subsystem extends ffi.Opaque {}
+
+typedef vm_map_read_t = mach_port_t;
+typedef vm_region_flavor_t = ffi.Int;
+typedef vm_region_info_t = ffi.Pointer<ffi.Int>;
+typedef vm_sync_t = ffi.UnsignedInt;
+typedef mem_entry_name_port_t = mach_port_t;
+typedef vm_machine_attribute_t = ffi.UnsignedInt;
+typedef vm_machine_attribute_val_t = ffi.Int;
+typedef vm_info_region_t = vm_info_region;
+typedef vm_info_object_array_t = ffi.Pointer<vm_info_object_t>;
+typedef vm_info_object_t = vm_info_object;
+typedef page_address_array_t = ffi.Pointer<vm_offset_t>;
+typedef vm_region_recurse_info_t = ffi.Pointer<ffi.Int>;
+typedef vm_info_region_64_t = vm_info_region_64;
+typedef memory_object_size_t = ffi.UnsignedLongLong;
+typedef vm_purgable_t = ffi.Int;
+
+@ffi.Packed(4)
+final class __Request__vm_region_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_region_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int infoCnt;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_allocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @ffi.Int()
+  external int flags;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_deallocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_protect_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @boolean_t()
+  external int set_maximum;
+
+  @vm_prot_t()
+  external int new_protection;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_inherit_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @vm_inherit_t()
+  external int new_inheritance;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_read_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+}
+
+final class __Request__vm_read_list_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<vm_read_entry> data_list;
+
+  @natural_t()
+  external int count;
+}
+
+final class __Request__vm_write_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Request__vm_copy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int source_address;
+
+  @vm_size_t()
+  external int size;
+
+  @vm_address_t()
+  external int dest_address;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_read_overwrite_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @vm_address_t()
+  external int data;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_msync_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @vm_sync_t()
+  external int sync_flags;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_behavior_set_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @vm_behavior_t()
+  external int new_behavior;
+}
+
+final class __Request__vm_map_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Request__vm_machine_attribute_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @vm_machine_attribute_t()
+  external int attribute;
+
+  @vm_machine_attribute_val_t()
+  external int value;
+}
+
+final class __Request__vm_remap_t extends ffi.Opaque {}
+
+final class __Request__task_wire_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @boolean_t()
+  external int must_wire;
+}
+
+final class __Request__mach_make_memory_entry_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Request__vm_map_page_query_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_offset_t()
+  external int offset;
+}
+
+@ffi.Packed(4)
+final class __Request__mach_vm_region_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+}
+
+final class __Request__vm_mapped_pages_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_region_recurse_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @natural_t()
+  external int nesting_depth;
+
+  @mach_msg_type_number_t()
+  external int infoCnt;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_region_recurse_64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @natural_t()
+  external int nesting_depth;
+
+  @mach_msg_type_number_t()
+  external int infoCnt;
+}
+
+@ffi.Packed(4)
+final class __Request__mach_vm_region_info_64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+}
+
+@ffi.Packed(4)
+final class __Request__vm_region_64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_region_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int infoCnt;
+}
+
+final class __Request__mach_make_memory_entry_64_t extends ffi.Opaque {}
+
+final class __Request__vm_map_64_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Request__vm_purgable_control_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_purgable_t()
+  external int control;
+
+  @ffi.Int()
+  external int state;
+}
+
+final class __Request__vm_map_exec_lockdown_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__vm_remap_new_t extends ffi.Opaque {}
+
+final class __RequestUnion__vm_map_subsystem extends ffi.Opaque {}
+
+final class __Reply__vm_region_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Reply__vm_allocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int address;
+}
+
+final class __Reply__vm_deallocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__vm_protect_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__vm_inherit_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__vm_read_t extends ffi.Opaque {}
+
+final class __Reply__vm_read_list_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<vm_read_entry> data_list;
+}
+
+final class __Reply__vm_write_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__vm_copy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__vm_read_overwrite_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_size_t()
+  external int outsize;
+}
+
+final class __Reply__vm_msync_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__vm_behavior_set_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__vm_map_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int address;
+}
+
+final class __Reply__vm_machine_attribute_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_machine_attribute_val_t()
+  external int value;
+}
+
+@ffi.Packed(4)
+final class __Reply__vm_remap_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int target_address;
+
+  @vm_prot_t()
+  external int cur_protection;
+
+  @vm_prot_t()
+  external int max_protection;
+}
+
+final class __Reply__task_wire_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_make_memory_entry_t extends ffi.Opaque {}
+
+final class __Reply__vm_map_page_query_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @integer_t()
+  external int disposition;
+
+  @integer_t()
+  external int ref_count;
+}
+
+final class __Reply__mach_vm_region_info_t extends ffi.Opaque {}
+
+final class __Reply__vm_mapped_pages_info_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Reply__vm_region_recurse_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @natural_t()
+  external int nesting_depth;
+
+  @mach_msg_type_number_t()
+  external int infoCnt;
+
+  @ffi.Array.multi([19])
+  external ffi.Array<ffi.Int> info;
+}
+
+@ffi.Packed(4)
+final class __Reply__vm_region_recurse_64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int address;
+
+  @vm_size_t()
+  external int size;
+
+  @natural_t()
+  external int nesting_depth;
+
+  @mach_msg_type_number_t()
+  external int infoCnt;
+
+  @ffi.Array.multi([19])
+  external ffi.Array<ffi.Int> info;
+}
+
+final class __Reply__mach_vm_region_info_64_t extends ffi.Opaque {}
+
+final class __Reply__vm_region_64_t extends ffi.Opaque {}
+
+final class __Reply__mach_make_memory_entry_64_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Reply__vm_map_64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int address;
+}
+
+final class __Reply__vm_purgable_control_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.Int()
+  external int state;
+}
+
+final class __Reply__vm_map_exec_lockdown_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__vm_remap_new_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_address_t()
+  external int target_address;
+
+  @vm_prot_t()
+  external int cur_protection;
+
+  @vm_prot_t()
+  external int max_protection;
+}
+
+final class __ReplyUnion__vm_map_subsystem extends ffi.Opaque {}
+
+typedef ipc_space_t = mach_port_t;
+typedef mach_port_name_array_t = ffi.Pointer<mach_port_name_t>;
+typedef mach_port_type_array_t = ffi.Pointer<mach_port_type_t>;
+typedef mach_port_right_t = natural_t;
+typedef mach_port_delta_t = integer_t;
+typedef mach_msg_trailer_info_t = ffi.Pointer<ffi.Char>;
+typedef ipc_space_read_t = mach_port_t;
+typedef mach_msg_type_name_t = ffi.UnsignedInt;
+typedef mach_port_flavor_t = ffi.Int;
+typedef mach_port_info_t = ffi.Pointer<integer_t>;
+typedef mach_port_qos_t = mach_port_qos;
+typedef ipc_info_space_t = ipc_info_space;
+typedef ipc_info_name_array_t = ffi.Pointer<ipc_info_name_t>;
+typedef ipc_info_tree_name_array_t = ffi.Pointer<ipc_info_tree_name_t>;
+typedef ipc_info_tree_name_t = ipc_info_tree_name;
+typedef mach_port_options_ptr_t = ffi.Pointer<mach_port_options_t>;
+typedef mach_port_options_t = mach_port_options;
+typedef ipc_space_inspect_t = mach_port_t;
+typedef ipc_info_space_basic_t = ipc_info_space_basic;
+typedef mach_service_port_info_data_t = mach_service_port_info;
+
+final class __Request__mach_port_names_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__mach_port_type_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_rename_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int old_name;
+
+  @mach_port_name_t()
+  external int new_name;
+}
+
+final class __Request__mach_port_allocate_name_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_right_t()
+  external int right;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_allocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_right_t()
+  external int right;
+}
+
+final class __Request__mach_port_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_deallocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_get_refs_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_right_t()
+  external int right;
+}
+
+final class __Request__mach_port_mod_refs_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_right_t()
+  external int right;
+
+  @mach_port_delta_t()
+  external int delta;
+}
+
+final class __Request__mach_port_peek_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_msg_trailer_type_t()
+  external int trailer_type;
+
+  @mach_port_seqno_t()
+  external int request_seqnop;
+
+  @mach_msg_type_number_t()
+  external int trailer_infopCnt;
+}
+
+final class __Request__mach_port_set_mscount_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_mscount_t()
+  external int mscount;
+}
+
+final class __Request__mach_port_get_set_status_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_move_member_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int member;
+
+  @mach_port_name_t()
+  external int after;
+}
+
+final class __Request__mach_port_request_notification_t extends ffi.Opaque {}
+
+final class __Request__mach_port_insert_right_t extends ffi.Opaque {}
+
+final class __Request__mach_port_extract_right_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_msg_type_name_t()
+  external int msgt_name;
+}
+
+final class __Request__mach_port_set_seqno_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_seqno_t()
+  external int seqno;
+}
+
+final class __Request__mach_port_get_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int port_info_outCnt;
+}
+
+final class __Request__mach_port_set_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int port_infoCnt;
+
+  @ffi.Array.multi([17])
+  external ffi.Array<integer_t> port_info;
+}
+
+final class __Request__mach_port_allocate_qos_t extends ffi.Opaque {}
+
+final class __Request__mach_port_allocate_full_t extends ffi.Opaque {}
+
+final class __Request__task_set_port_space_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Int()
+  external int table_entries;
+}
+
+final class __Request__mach_port_get_srights_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_space_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__mach_port_dnrequest_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_kernel_object_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_insert_member_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_name_t()
+  external int pset;
+}
+
+final class __Request__mach_port_extract_member_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_name_t()
+  external int pset;
+}
+
+final class __Request__mach_port_get_context_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+@ffi.Packed(4)
+final class __Request__mach_port_set_context_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_context_t()
+  external int context;
+}
+
+final class __Request__mach_port_kobject_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_construct_t extends ffi.Opaque {}
+
+@ffi.Packed(4)
+final class __Request__mach_port_destruct_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_delta_t()
+  external int srdelta;
+
+  @mach_port_context_t()
+  external int guard;
+}
+
+@ffi.Packed(4)
+final class __Request__mach_port_guard_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_context_t()
+  external int guard;
+
+  @boolean_t()
+  external int strict;
+}
+
+@ffi.Packed(4)
+final class __Request__mach_port_unguard_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_context_t()
+  external int guard;
+}
+
+final class __Request__mach_port_space_basic_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+@ffi.Packed(4)
+final class __Request__mach_port_guard_with_flags_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_context_t()
+  external int guard;
+
+  @ffi.Uint64()
+  external int flags;
+}
+
+@ffi.Packed(4)
+final class __Request__mach_port_swap_guard_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_context_t()
+  external int old_guard;
+
+  @mach_port_context_t()
+  external int new_guard;
+}
+
+final class __Request__mach_port_kobject_description_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_is_connection_for_service_t
+    extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int connection_port;
+
+  @mach_port_name_t()
+  external int service_port;
+}
+
+final class __Request__mach_port_get_service_port_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Request__mach_port_assert_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_port_name_t()
+  external int name;
+
+  @mach_port_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int infoCnt;
+
+  @ffi.Array.multi([17])
+  external ffi.Array<integer_t> info;
+}
+
+final class __RequestUnion__mach_port_subsystem extends ffi.Opaque {}
+
+final class __Reply__mach_port_names_t extends ffi.Opaque {}
+
+final class __Reply__mach_port_type_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_port_type_t()
+  external int ptype;
+}
+
+final class __Reply__mach_port_rename_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_allocate_name_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_allocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Reply__mach_port_destroy_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_deallocate_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_get_refs_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_port_urefs_t()
+  external int refs;
+}
+
+final class __Reply__mach_port_mod_refs_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_peek_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_port_seqno_t()
+  external int request_seqnop;
+
+  @mach_msg_size_t()
+  external int msg_sizep;
+
+  @mach_msg_id_t()
+  external int msg_idp;
+
+  @mach_msg_type_number_t()
+  external int trailer_infopCnt;
+
+  @ffi.Array.multi([68])
+  external ffi.Array<ffi.Char> trailer_infop;
+}
+
+final class __Reply__mach_port_set_mscount_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_get_set_status_t extends ffi.Opaque {}
+
+final class __Reply__mach_port_move_member_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_request_notification_t extends ffi.Opaque {}
+
+final class __Reply__mach_port_insert_right_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_extract_right_t extends ffi.Opaque {}
+
+final class __Reply__mach_port_set_seqno_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_get_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int port_info_outCnt;
+
+  @ffi.Array.multi([17])
+  external ffi.Array<integer_t> port_info_out;
+}
+
+final class __Reply__mach_port_set_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_allocate_qos_t extends ffi.Opaque {}
+
+final class __Reply__mach_port_allocate_full_t extends ffi.Opaque {}
+
+final class __Reply__task_set_port_space_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_get_srights_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_port_rights_t()
+  external int srights;
+}
+
+final class __Reply__mach_port_space_info_t extends ffi.Opaque {}
+
+final class __Reply__mach_port_dnrequest_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.UnsignedInt()
+  external int dnr_total;
+
+  @ffi.UnsignedInt()
+  external int dnr_used;
+}
+
+final class __Reply__mach_port_kernel_object_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.UnsignedInt()
+  external int object_type;
+
+  @ffi.UnsignedInt()
+  external int object_addr;
+}
+
+final class __Reply__mach_port_insert_member_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_extract_member_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__mach_port_get_context_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_port_context_t()
+  external int context;
+}
+
+final class __Reply__mach_port_set_context_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__mach_port_kobject_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @natural_t()
+  external int object_type;
+
+  @mach_vm_address_t()
+  external int object_addr;
+}
+
+final class __Reply__mach_port_construct_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_port_name_t()
+  external int name;
+}
+
+final class __Reply__mach_port_destruct_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_guard_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_unguard_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_space_basic_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  external ipc_info_space_basic_t basic_info;
+}
+
+final class __Reply__mach_port_guard_with_flags_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__mach_port_swap_guard_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+@ffi.Packed(4)
+final class __Reply__mach_port_kobject_description_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @natural_t()
+  external int object_type;
+
+  @mach_vm_address_t()
+  external int object_addr;
+
+  @mach_msg_type_number_t()
+  external int descriptionOffset;
+
+  @mach_msg_type_number_t()
+  external int descriptionCnt;
+
+  @ffi.Array.multi([512])
+  external ffi.Array<ffi.Char> description;
+}
+
+@ffi.Packed(4)
+final class __Reply__mach_port_is_connection_for_service_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.Uint64()
+  external int filter_policy_id;
+}
+
+final class __Reply__mach_port_get_service_port_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  external mach_service_port_info_data_t sp_info_out;
+}
+
+final class __Reply__mach_port_assert_attributes_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __ReplyUnion__mach_port_subsystem extends ffi.Opaque {}
+
+typedef sleep_type_t = ffi.Int;
+typedef mach_voucher_attr_raw_recipe_array_t = mach_voucher_attr_raw_recipe_t;
+typedef mach_voucher_attr_raw_recipe_t = ffi.Pointer<ffi.Uint8>;
+typedef mach_voucher_attr_key_t = ffi.Uint32;
+typedef memory_object_t = mach_port_t;
+typedef processor_info_array_t = ffi.Pointer<integer_t>;
+typedef io_main_t = mach_port_t;
+typedef clock_serv_t = mach_port_t;
+typedef hash_info_bucket_array_t = ffi.Pointer<hash_info_bucket_t>;
+typedef hash_info_bucket_t = hash_info_bucket;
+typedef lockgroup_info_array_t = ffi.Pointer<lockgroup_info_t>;
+typedef lockgroup_info_t = lockgroup_info;
+typedef host_info64_t = ffi.Pointer<integer_t>;
+typedef mach_zone_info_array_t = ffi.Pointer<mach_zone_info_t>;
+typedef mach_zone_info_t = mach_zone_info_data;
+typedef mach_voucher_attr_manager_t = mach_port_t;
+typedef mach_voucher_attr_value_handle_t = ffi.Uint64;
+typedef ipc_voucher_attr_control_t = mach_port_t;
+typedef mach_memory_info_array_t = ffi.Pointer<mach_memory_info_t>;
+typedef mach_memory_info_t = mach_memory_info;
+
+final class __Request__host_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @host_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int host_info_outCnt;
+}
+
+final class __Request__host_kernel_version_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request___host_page_size_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__mach_memory_object_memory_entry_t extends ffi.Opaque {}
+
+final class __Request__host_processor_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @processor_flavor_t()
+  external int flavor;
+}
+
+final class __Request__host_get_io_main_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_get_clock_service_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @clock_id_t()
+  external int clock_id;
+}
+
+final class __Request__kmod_get_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_virtual_physical_table_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_set_default_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__processor_set_create_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__mach_memory_object_memory_entry_64_t
+    extends ffi.Opaque {}
+
+final class __Request__host_statistics_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @host_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int host_info_outCnt;
+}
+
+final class __Request__host_request_notification_t extends ffi.Opaque {}
+
+final class __Request__host_lockgroup_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_statistics64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @host_flavor_t()
+  external int flavor;
+
+  @mach_msg_type_number_t()
+  external int host_info64_outCnt;
+}
+
+final class __Request__mach_zone_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_create_mach_voucher_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @mach_msg_type_number_t()
+  external int recipesCnt;
+
+  @ffi.Array.multi([5120])
+  external ffi.Array<ffi.Uint8> recipes;
+}
+
+final class __Request__host_register_mach_voucher_attr_manager_t
+    extends ffi.Opaque {}
+
+final class __Request__host_register_well_known_mach_voucher_attr_manager_t
+    extends ffi.Opaque {}
+
+final class __Request__host_set_atm_diagnostic_flag_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Uint32()
+  external int diagnostic_flag;
+}
+
+final class __Request__host_get_atm_diagnostic_flag_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__mach_memory_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_set_multiuser_config_flags_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @ffi.Uint32()
+  external int multiuser_flags;
+}
+
+final class __Request__host_get_multiuser_config_flags_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__host_check_multiuser_mode_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+}
+
+final class __Request__mach_zone_info_for_zone_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  external mach_zone_name_t name;
+}
+
+final class __RequestUnion__mach_host_subsystem extends ffi.Opaque {}
+
+final class __Reply__host_info_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int host_info_outCnt;
+
+  @ffi.Array.multi([68])
+  external ffi.Array<integer_t> host_info_out;
+}
+
+final class __Reply__host_kernel_version_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int kernel_versionOffset;
+
+  @mach_msg_type_number_t()
+  external int kernel_versionCnt;
+
+  @ffi.Array.multi([512])
+  external ffi.Array<ffi.Char> kernel_version;
+}
+
+@ffi.Packed(4)
+final class __Reply___host_page_size_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @vm_size_t()
+  external int out_page_size;
+}
+
+final class __Reply__mach_memory_object_memory_entry_t extends ffi.Opaque {}
+
+final class __Reply__host_processor_info_t extends ffi.Opaque {}
+
+final class __Reply__host_get_io_main_t extends ffi.Opaque {}
+
+final class __Reply__host_get_clock_service_t extends ffi.Opaque {}
+
+final class __Reply__kmod_get_info_t extends ffi.Opaque {}
+
+final class __Reply__host_virtual_physical_table_info_t extends ffi.Opaque {}
+
+final class __Reply__processor_set_default_t extends ffi.Opaque {}
+
+final class __Reply__processor_set_create_t extends ffi.Opaque {}
+
+final class __Reply__mach_memory_object_memory_entry_64_t extends ffi.Opaque {}
+
+final class __Reply__host_statistics_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int host_info_outCnt;
+
+  @ffi.Array.multi([68])
+  external ffi.Array<integer_t> host_info_out;
+}
+
+final class __Reply__host_request_notification_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_lockgroup_info_t extends ffi.Opaque {}
+
+final class __Reply__host_statistics64_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @mach_msg_type_number_t()
+  external int host_info64_outCnt;
+
+  @ffi.Array.multi([256])
+  external ffi.Array<integer_t> host_info64_out;
+}
+
+final class __Reply__mach_zone_info_t extends ffi.Opaque {}
+
+final class __Reply__host_create_mach_voucher_t extends ffi.Opaque {}
+
+final class __Reply__host_register_mach_voucher_attr_manager_t
+    extends ffi.Opaque {}
+
+final class __Reply__host_register_well_known_mach_voucher_attr_manager_t
+    extends ffi.Opaque {}
+
+final class __Reply__host_set_atm_diagnostic_flag_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_get_atm_diagnostic_flag_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.Uint32()
+  external int diagnostic_flag;
+}
+
+final class __Reply__mach_memory_info_t extends ffi.Opaque {}
+
+final class __Reply__host_set_multiuser_config_flags_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+}
+
+final class __Reply__host_get_multiuser_config_flags_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.Uint32()
+  external int multiuser_flags;
+}
+
+final class __Reply__host_check_multiuser_mode_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  @ffi.Uint32()
+  external int multiuser_mode;
+}
+
+@ffi.Packed(4)
+final class __Reply__mach_zone_info_for_zone_t extends ffi.Struct {
+  external mach_msg_header_t Head;
+
+  external NDR_record_t NDR;
+
+  @kern_return_t()
+  external int RetCode;
+
+  external mach_zone_info_t info;
+}
+
+final class __ReplyUnion__mach_host_subsystem extends ffi.Opaque {}
+
+final class rpc_routine_arg_descriptor extends ffi.Struct {
+  @routine_arg_type()
+  external int type;
+
+  @routine_arg_size()
+  external int size;
+
+  @routine_arg_size()
+  external int count;
+
+  @routine_arg_offset()
+  external int offset;
+}
+
+typedef routine_arg_type = ffi.UnsignedInt;
+typedef routine_arg_size = ffi.UnsignedInt;
+typedef routine_arg_offset = ffi.UnsignedInt;
+
+final class rpc_routine_descriptor extends ffi.Struct {
+  external mig_impl_routine_t impl_routine;
+
+  external mig_stub_routine_t stub_routine;
+
+  @ffi.UnsignedInt()
+  external int argc;
+
+  @ffi.UnsignedInt()
+  external int descr_count;
+
+  external rpc_routine_arg_descriptor_t arg_descr;
+
+  @ffi.UnsignedInt()
+  external int max_reply_msg;
+}
+
+typedef rpc_routine_arg_descriptor_t = ffi.Pointer<rpc_routine_arg_descriptor>;
+
+final class rpc_signature extends ffi.Struct {
+  external rpc_routine_descriptor rd;
+
+  @ffi.Array.multi([1])
+  external ffi.Array<rpc_routine_arg_descriptor> rad;
+}
+
+final class rpc_subsystem extends ffi.Struct {
+  external ffi.Pointer<ffi.Void> reserved;
+
+  @mach_msg_id_t()
+  external int start;
+
+  @mach_msg_id_t()
+  external int end;
+
+  @ffi.UnsignedInt()
+  external int maxsize;
+
+  @vm_address_t()
+  external int base_addr;
+
+  @ffi.Array.multi([1])
+  external ffi.Array<rpc_routine_descriptor> routine;
+
+  @ffi.Array.multi([1])
+  external ffi.Array<rpc_routine_arg_descriptor> arg_descriptor;
+}
+
+typedef mach_error_t = kern_return_t;
+typedef mach_msg_options_t = integer_t;
+
+final class voucher_mach_msg_state_s extends ffi.Opaque {}
+
+/// !
+/// @typedef voucher_mach_msg_state_t
+///
+/// @abstract
+/// Opaque object encapsulating state changed by voucher_mach_msg_adopt().
+typedef voucher_mach_msg_state_t = ffi.Pointer<voucher_mach_msg_state_s>;
+
+final class _launch_data extends ffi.Opaque {}
+
+abstract class launch_data_type_t {
+  static const int LAUNCH_DATA_DICTIONARY = 1;
+  static const int LAUNCH_DATA_ARRAY = 2;
+  static const int LAUNCH_DATA_FD = 3;
+  static const int LAUNCH_DATA_INTEGER = 4;
+  static const int LAUNCH_DATA_REAL = 5;
+  static const int LAUNCH_DATA_BOOL = 6;
+  static const int LAUNCH_DATA_STRING = 7;
+  static const int LAUNCH_DATA_OPAQUE = 8;
+  static const int LAUNCH_DATA_ERRNO = 9;
+  static const int LAUNCH_DATA_MACHPORT = 10;
+}
+
+typedef launch_data_t = ffi.Pointer<_launch_data>;
+typedef launch_data_dict_iterator_t = ffi.Pointer<
+    ffi.NativeFunction<
+        ffi.Void Function(launch_data_t lval, ffi.Pointer<ffi.Char> key,
+            ffi.Pointer<ffi.Void> ctx)>>;
+
+/// !
+/// @typedef xpc_type_t
+/// A type that describes XPC object types.
+typedef xpc_type_t = ffi.Pointer<_xpc_type_s>;
+typedef xpc_array_applier_t = ffi.Pointer<_ObjCBlock>;
+bool _ObjCBlock_bool_ffiSize_xpcobjectt_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0, xpc_object_t arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(ffi.Size arg0, xpc_object_t arg1)>>()
+      .asFunction<bool Function(int arg0, xpc_object_t arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_bool_ffiSize_xpcobjectt_closureRegistry = <int, Function>{};
+int _ObjCBlock_bool_ffiSize_xpcobjectt_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_bool_ffiSize_xpcobjectt_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_bool_ffiSize_xpcobjectt_closureRegistryIndex;
+  _ObjCBlock_bool_ffiSize_xpcobjectt_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_ffiSize_xpcobjectt_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, int arg0, xpc_object_t arg1) {
+  return (_ObjCBlock_bool_ffiSize_xpcobjectt_closureRegistry[block
+      .ref.target.address] as bool Function(int, xpc_object_t))(arg0, arg1);
+}
+
+class ObjCBlock_bool_ffiSize_xpcobjectt extends _ObjCBlockBase {
+  ObjCBlock_bool_ffiSize_xpcobjectt._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ffiSize_xpcobjectt.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Bool Function(ffi.Size arg0, xpc_object_t arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Size arg0, xpc_object_t arg1)>(
+                        _ObjCBlock_bool_ffiSize_xpcobjectt_fnPtrTrampoline,
+                        false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ffiSize_xpcobjectt.fromFunction(
+      PedometerBindings lib, bool Function(int arg0, xpc_object_t arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Size arg0, xpc_object_t arg1)>(
+                        _ObjCBlock_bool_ffiSize_xpcobjectt_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_ffiSize_xpcobjectt_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(int arg0, xpc_object_t arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(ffi.Pointer<_ObjCBlock> block, ffi.Size arg0,
+                    xpc_object_t arg1)>>()
+        .asFunction<
+            bool Function(ffi.Pointer<_ObjCBlock> block, int arg0,
+                xpc_object_t arg1)>()(_id, arg0, arg1);
+  }
+}
+
+typedef xpc_dictionary_applier_t = ffi.Pointer<_ObjCBlock>;
+bool _ObjCBlock_bool_ffiChar_xpcobjectt_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ffi.Char> arg0,
+    xpc_object_t arg1) {
+  return block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Bool Function(
+                  ffi.Pointer<ffi.Char> arg0, xpc_object_t arg1)>>()
+      .asFunction<
+          bool Function(
+              ffi.Pointer<ffi.Char> arg0, xpc_object_t arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_bool_ffiChar_xpcobjectt_closureRegistry = <int, Function>{};
+int _ObjCBlock_bool_ffiChar_xpcobjectt_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_bool_ffiChar_xpcobjectt_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_bool_ffiChar_xpcobjectt_closureRegistryIndex;
+  _ObjCBlock_bool_ffiChar_xpcobjectt_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+bool _ObjCBlock_bool_ffiChar_xpcobjectt_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ffi.Char> arg0,
+    xpc_object_t arg1) {
+  return (_ObjCBlock_bool_ffiChar_xpcobjectt_closureRegistry[
+          block.ref.target.address]
+      as bool Function(ffi.Pointer<ffi.Char>, xpc_object_t))(arg0, arg1);
+}
+
+class ObjCBlock_bool_ffiChar_xpcobjectt extends _ObjCBlockBase {
+  ObjCBlock_bool_ffiChar_xpcobjectt._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ffiChar_xpcobjectt.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Bool Function(ffi.Pointer<ffi.Char> arg0,
+                      xpc_object_t arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Char> arg0, xpc_object_t arg1)>(
+                        _ObjCBlock_bool_ffiChar_xpcobjectt_fnPtrTrampoline,
+                        false)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_bool_ffiChar_xpcobjectt.fromFunction(PedometerBindings lib,
+      bool Function(ffi.Pointer<ffi.Char> arg0, xpc_object_t arg1) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ffi.Char> arg0, xpc_object_t arg1)>(
+                        _ObjCBlock_bool_ffiChar_xpcobjectt_closureTrampoline,
+                        false)
+                    .cast(),
+                _ObjCBlock_bool_ffiChar_xpcobjectt_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  bool call(ffi.Pointer<ffi.Char> arg0, xpc_object_t arg1) {
+    return _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Bool Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ffi.Char> arg0, xpc_object_t arg1)>>()
+        .asFunction<
+            bool Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ffi.Char> arg0,
+                xpc_object_t arg1)>()(_id, arg0, arg1);
+  }
+}
+
+/// !
+/// @typedef xpc_connection_handler_t
+/// The type of the function that will be invoked for a bundled XPC service when
+/// there is a new connection on the service.
+///
+/// @param connection
+/// A new connection that is equivalent to one received by a listener connection.
+/// See the documentation for {@link xpc_connection_set_event_handler} for the
+/// semantics associated with the received connection.
+typedef xpc_connection_handler_t = ffi.Pointer<
+    ffi.NativeFunction<ffi.Void Function(xpc_connection_t connection)>>;
+
+abstract class NSXPCConnectionOptions {
+  static const int NSXPCConnectionPrivileged = 4096;
+}
+
+abstract class NSByteCountFormatterUnits {
+  static const int NSByteCountFormatterUseDefault = 0;
+  static const int NSByteCountFormatterUseBytes = 1;
+  static const int NSByteCountFormatterUseKB = 2;
+  static const int NSByteCountFormatterUseMB = 4;
+  static const int NSByteCountFormatterUseGB = 8;
+  static const int NSByteCountFormatterUseTB = 16;
+  static const int NSByteCountFormatterUsePB = 32;
+  static const int NSByteCountFormatterUseEB = 64;
+  static const int NSByteCountFormatterUseZB = 128;
+  static const int NSByteCountFormatterUseYBOrHigher = 65280;
+  static const int NSByteCountFormatterUseAll = 65535;
+}
+
+abstract class NSByteCountFormatterCountStyle {
+  static const int NSByteCountFormatterCountStyleFile = 0;
+  static const int NSByteCountFormatterCountStyleMemory = 1;
+  static const int NSByteCountFormatterCountStyleDecimal = 2;
+  static const int NSByteCountFormatterCountStyleBinary = 3;
+}
+
+abstract class NSComparisonPredicateOptions {
+  static const int NSCaseInsensitivePredicateOption = 1;
+  static const int NSDiacriticInsensitivePredicateOption = 2;
+  static const int NSNormalizedPredicateOption = 4;
+}
+
+abstract class NSComparisonPredicateModifier {
+  static const int NSDirectPredicateModifier = 0;
+  static const int NSAllPredicateModifier = 1;
+  static const int NSAnyPredicateModifier = 2;
+}
+
+abstract class NSPredicateOperatorType {
+  static const int NSLessThanPredicateOperatorType = 0;
+  static const int NSLessThanOrEqualToPredicateOperatorType = 1;
+  static const int NSGreaterThanPredicateOperatorType = 2;
+  static const int NSGreaterThanOrEqualToPredicateOperatorType = 3;
+  static const int NSEqualToPredicateOperatorType = 4;
+  static const int NSNotEqualToPredicateOperatorType = 5;
+  static const int NSMatchesPredicateOperatorType = 6;
+  static const int NSLikePredicateOperatorType = 7;
+  static const int NSBeginsWithPredicateOperatorType = 8;
+  static const int NSEndsWithPredicateOperatorType = 9;
+  static const int NSInPredicateOperatorType = 10;
+  static const int NSCustomSelectorPredicateOperatorType = 11;
+  static const int NSContainsPredicateOperatorType = 99;
+  static const int NSBetweenPredicateOperatorType = 100;
+}
+
+abstract class NSCompoundPredicateType {
+  static const int NSNotPredicateType = 0;
+  static const int NSAndPredicateType = 1;
+  static const int NSOrPredicateType = 2;
+}
+
+abstract class NSDateComponentsFormatterUnitsStyle {
+  static const int NSDateComponentsFormatterUnitsStylePositional = 0;
+  static const int NSDateComponentsFormatterUnitsStyleAbbreviated = 1;
+  static const int NSDateComponentsFormatterUnitsStyleShort = 2;
+  static const int NSDateComponentsFormatterUnitsStyleFull = 3;
+  static const int NSDateComponentsFormatterUnitsStyleSpellOut = 4;
+  static const int NSDateComponentsFormatterUnitsStyleBrief = 5;
+}
+
+abstract class NSDateComponentsFormatterZeroFormattingBehavior {
+  static const int NSDateComponentsFormatterZeroFormattingBehaviorNone = 0;
+  static const int NSDateComponentsFormatterZeroFormattingBehaviorDefault = 1;
+  static const int NSDateComponentsFormatterZeroFormattingBehaviorDropLeading =
+      2;
+  static const int NSDateComponentsFormatterZeroFormattingBehaviorDropMiddle =
+      4;
+  static const int NSDateComponentsFormatterZeroFormattingBehaviorDropTrailing =
+      8;
+  static const int NSDateComponentsFormatterZeroFormattingBehaviorDropAll = 14;
+  static const int NSDateComponentsFormatterZeroFormattingBehaviorPad = 65536;
+}
+
+abstract class NSExpressionType {
+  static const int NSConstantValueExpressionType = 0;
+  static const int NSEvaluatedObjectExpressionType = 1;
+  static const int NSVariableExpressionType = 2;
+  static const int NSKeyPathExpressionType = 3;
+  static const int NSFunctionExpressionType = 4;
+  static const int NSUnionSetExpressionType = 5;
+  static const int NSIntersectSetExpressionType = 6;
+  static const int NSMinusSetExpressionType = 7;
+  static const int NSSubqueryExpressionType = 13;
+  static const int NSAggregateExpressionType = 14;
+  static const int NSAnyKeyExpressionType = 15;
+  static const int NSBlockExpressionType = 19;
+  static const int NSConditionalExpressionType = 20;
+}
+
+abstract class NSFileCoordinatorReadingOptions {
+  static const int NSFileCoordinatorReadingWithoutChanges = 1;
+  static const int NSFileCoordinatorReadingResolvesSymbolicLink = 2;
+  static const int NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly = 4;
+  static const int NSFileCoordinatorReadingForUploading = 8;
+}
+
+abstract class NSFileCoordinatorWritingOptions {
+  static const int NSFileCoordinatorWritingForDeleting = 1;
+  static const int NSFileCoordinatorWritingForMoving = 2;
+  static const int NSFileCoordinatorWritingForMerging = 4;
+  static const int NSFileCoordinatorWritingForReplacing = 8;
+  static const int NSFileCoordinatorWritingContentIndependentMetadataOnly = 16;
+}
+
+abstract class NSFileVersionAddingOptions {
+  static const int NSFileVersionAddingByMoving = 1;
+}
+
+abstract class NSFileVersionReplacingOptions {
+  static const int NSFileVersionReplacingByMoving = 1;
+}
+
+abstract class NSFileWrapperReadingOptions {
+  static const int NSFileWrapperReadingImmediate = 1;
+  static const int NSFileWrapperReadingWithoutMapping = 2;
+}
+
+abstract class NSFileWrapperWritingOptions {
+  static const int NSFileWrapperWritingAtomic = 1;
+  static const int NSFileWrapperWritingWithNameUpdating = 2;
+}
+
+typedef NSLinguisticTag = ffi.Pointer<ObjCObject>;
+
+abstract class NSLinguisticTaggerUnit {
+  static const int NSLinguisticTaggerUnitWord = 0;
+  static const int NSLinguisticTaggerUnitSentence = 1;
+  static const int NSLinguisticTaggerUnitParagraph = 2;
+  static const int NSLinguisticTaggerUnitDocument = 3;
+}
+
+abstract class NSNetServicesError {
+  static const int NSNetServicesUnknownError = -72000;
+  static const int NSNetServicesCollisionError = -72001;
+  static const int NSNetServicesNotFoundError = -72002;
+  static const int NSNetServicesActivityInProgress = -72003;
+  static const int NSNetServicesBadArgumentError = -72004;
+  static const int NSNetServicesCancelledError = -72005;
+  static const int NSNetServicesInvalidError = -72006;
+  static const int NSNetServicesTimeoutError = -72007;
+  static const int NSNetServicesMissingRequiredConfigurationError = -72008;
+}
+
+abstract class NSNetServiceOptions {
+  static const int NSNetServiceNoAutoRename = 1;
+  static const int NSNetServiceListenForConnections = 2;
+}
+
+/// Common typedefs ***
+final class SSLContext extends ffi.Opaque {}
+
+abstract class SSLSessionOption {
+  static const int kSSLSessionOptionBreakOnServerAuth = 0;
+  static const int kSSLSessionOptionBreakOnCertRequested = 1;
+  static const int kSSLSessionOptionBreakOnClientAuth = 2;
+  static const int kSSLSessionOptionFalseStart = 3;
+  static const int kSSLSessionOptionSendOneByteRecord = 4;
+  static const int kSSLSessionOptionAllowServerIdentityChange = 5;
+  static const int kSSLSessionOptionFallback = 6;
+  static const int kSSLSessionOptionBreakOnClientHello = 7;
+  static const int kSSLSessionOptionAllowRenegotiation = 8;
+  static const int kSSLSessionOptionEnableSessionTickets = 9;
+}
+
+abstract class SSLSessionState {
+  static const int kSSLIdle = 0;
+  static const int kSSLHandshake = 1;
+  static const int kSSLConnected = 2;
+  static const int kSSLClosed = 3;
+  static const int kSSLAborted = 4;
+}
+
+abstract class SSLClientCertificateState {
+  static const int kSSLClientCertNone = 0;
+  static const int kSSLClientCertRequested = 1;
+  static const int kSSLClientCertSent = 2;
+  static const int kSSLClientCertRejected = 3;
+}
+
+abstract class SSLProtocolSide {
+  static const int kSSLServerSide = 0;
+  static const int kSSLClientSide = 1;
+}
+
+abstract class SSLConnectionType {
+  static const int kSSLStreamType = 0;
+  static const int kSSLDatagramType = 1;
+}
+
+typedef SSLContextRef = ffi.Pointer<SSLContext>;
+typedef SSLReadFunc = ffi.Pointer<
+    ffi.NativeFunction<
+        OSStatus Function(SSLConnectionRef connection,
+            ffi.Pointer<ffi.Void> data, ffi.Pointer<ffi.Size> dataLength)>>;
+typedef SSLConnectionRef = ffi.Pointer<ffi.Void>;
+typedef SSLWriteFunc = ffi.Pointer<
+    ffi.NativeFunction<
+        OSStatus Function(SSLConnectionRef connection,
+            ffi.Pointer<ffi.Void> data, ffi.Pointer<ffi.Size> dataLength)>>;
+
+abstract class SSLAuthenticate {
+  static const int kNeverAuthenticate = 0;
+  static const int kAlwaysAuthenticate = 1;
+  static const int kTryAuthenticate = 2;
+}
+
+class NSURLSession extends NSObject {
+  NSURLSession._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSession] that points to the same underlying object as [other].
+  static NSURLSession castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSession._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSession] that wraps the given raw object pointer.
+  static NSURLSession castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSession._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSession].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURLSession1);
+  }
+
+  static NSURLSession? getSharedSession(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_817(
+        _lib._class_NSURLSession1, _lib._sel_sharedSession1);
+    return _ret.address == 0
+        ? null
+        : NSURLSession._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSession sessionWithConfiguration_(
+      PedometerBindings _lib, NSURLSessionConfiguration? configuration) {
+    final _ret = _lib._objc_msgSend_828(
+        _lib._class_NSURLSession1,
+        _lib._sel_sessionWithConfiguration_1,
+        configuration?._id ?? ffi.nullptr);
+    return NSURLSession._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSession sessionWithConfiguration_delegate_delegateQueue_(
+      PedometerBindings _lib,
+      NSURLSessionConfiguration? configuration,
+      NSObject? delegate,
+      NSOperationQueue? queue) {
+    final _ret = _lib._objc_msgSend_829(
+        _lib._class_NSURLSession1,
+        _lib._sel_sessionWithConfiguration_delegate_delegateQueue_1,
+        configuration?._id ?? ffi.nullptr,
+        delegate?._id ?? ffi.nullptr,
+        queue?._id ?? ffi.nullptr);
+    return NSURLSession._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSOperationQueue? get delegateQueue {
+    final _ret = _lib._objc_msgSend_720(_id, _lib._sel_delegateQueue1);
+    return _ret.address == 0
+        ? null
+        : NSOperationQueue._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSObject? get delegate {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionConfiguration? get configuration {
+    final _ret = _lib._objc_msgSend_818(_id, _lib._sel_configuration1);
+    return _ret.address == 0
+        ? null
+        : NSURLSessionConfiguration._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get sessionDescription {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_sessionDescription1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set sessionDescription(NSString? value) {
+    return _lib._objc_msgSend_462(
+        _id, _lib._sel_setSessionDescription_1, value?._id ?? ffi.nullptr);
+  }
+
+  void finishTasksAndInvalidate() {
+    _lib._objc_msgSend_1(_id, _lib._sel_finishTasksAndInvalidate1);
+  }
+
+  void invalidateAndCancel() {
+    _lib._objc_msgSend_1(_id, _lib._sel_invalidateAndCancel1);
+  }
+
+  void resetWithCompletionHandler_(ObjCBlock_ffiVoid completionHandler) {
+    _lib._objc_msgSend_450(
+        _id, _lib._sel_resetWithCompletionHandler_1, completionHandler._id);
+  }
+
+  void flushWithCompletionHandler_(ObjCBlock_ffiVoid completionHandler) {
+    _lib._objc_msgSend_450(
+        _id, _lib._sel_flushWithCompletionHandler_1, completionHandler._id);
+  }
+
+  void getTasksWithCompletionHandler_(
+      ObjCBlock_ffiVoid_NSArray_NSArray_NSArray completionHandler) {
+    _lib._objc_msgSend_830(
+        _id, _lib._sel_getTasksWithCompletionHandler_1, completionHandler._id);
+  }
+
+  void getAllTasksWithCompletionHandler_(
+      ObjCBlock_ffiVoid_NSArray completionHandler) {
+    _lib._objc_msgSend_831(_id, _lib._sel_getAllTasksWithCompletionHandler_1,
+        completionHandler._id);
+  }
+
+  NSURLSessionDataTask dataTaskWithRequest_(NSURLRequest? request) {
+    final _ret = _lib._objc_msgSend_832(
+        _id, _lib._sel_dataTaskWithRequest_1, request?._id ?? ffi.nullptr);
+    return NSURLSessionDataTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDataTask dataTaskWithURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_833(
+        _id, _lib._sel_dataTaskWithURL_1, url?._id ?? ffi.nullptr);
+    return NSURLSessionDataTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionUploadTask uploadTaskWithRequest_fromFile_(
+      NSURLRequest? request, NSURL? fileURL) {
+    final _ret = _lib._objc_msgSend_834(
+        _id,
+        _lib._sel_uploadTaskWithRequest_fromFile_1,
+        request?._id ?? ffi.nullptr,
+        fileURL?._id ?? ffi.nullptr);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionUploadTask uploadTaskWithRequest_fromData_(
+      NSURLRequest? request, NSData? bodyData) {
+    final _ret = _lib._objc_msgSend_835(
+        _id,
+        _lib._sel_uploadTaskWithRequest_fromData_1,
+        request?._id ?? ffi.nullptr,
+        bodyData?._id ?? ffi.nullptr);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionUploadTask uploadTaskWithStreamedRequest_(NSURLRequest? request) {
+    final _ret = _lib._objc_msgSend_836(_id,
+        _lib._sel_uploadTaskWithStreamedRequest_1, request?._id ?? ffi.nullptr);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDownloadTask downloadTaskWithRequest_(NSURLRequest? request) {
+    final _ret = _lib._objc_msgSend_838(
+        _id, _lib._sel_downloadTaskWithRequest_1, request?._id ?? ffi.nullptr);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDownloadTask downloadTaskWithURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_839(
+        _id, _lib._sel_downloadTaskWithURL_1, url?._id ?? ffi.nullptr);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDownloadTask downloadTaskWithResumeData_(NSData? resumeData) {
+    final _ret = _lib._objc_msgSend_840(_id,
+        _lib._sel_downloadTaskWithResumeData_1, resumeData?._id ?? ffi.nullptr);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionStreamTask streamTaskWithHostName_port_(
+      NSString? hostname, int port) {
+    final _ret = _lib._objc_msgSend_843(
+        _id,
+        _lib._sel_streamTaskWithHostName_port_1,
+        hostname?._id ?? ffi.nullptr,
+        port);
+    return NSURLSessionStreamTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionStreamTask streamTaskWithNetService_(NSNetService? service) {
+    final _ret = _lib._objc_msgSend_849(
+        _id, _lib._sel_streamTaskWithNetService_1, service?._id ?? ffi.nullptr);
+    return NSURLSessionStreamTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionWebSocketTask webSocketTaskWithURL_(NSURL? url) {
+    final _ret = _lib._objc_msgSend_856(
+        _id, _lib._sel_webSocketTaskWithURL_1, url?._id ?? ffi.nullptr);
+    return NSURLSessionWebSocketTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionWebSocketTask webSocketTaskWithURL_protocols_(
+      NSURL? url, NSArray? protocols) {
+    final _ret = _lib._objc_msgSend_857(
+        _id,
+        _lib._sel_webSocketTaskWithURL_protocols_1,
+        url?._id ?? ffi.nullptr,
+        protocols?._id ?? ffi.nullptr);
+    return NSURLSessionWebSocketTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionWebSocketTask webSocketTaskWithRequest_(NSURLRequest? request) {
+    final _ret = _lib._objc_msgSend_858(
+        _id, _lib._sel_webSocketTaskWithRequest_1, request?._id ?? ffi.nullptr);
+    return NSURLSessionWebSocketTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSURLSession init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSession._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSession new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLSession1, _lib._sel_new1);
+    return NSURLSession._(_ret, _lib, retain: false, release: true);
+  }
+
+  NSURLSessionDataTask dataTaskWithRequest_completionHandler_(
+      NSURLRequest? request,
+      ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_859(
+        _id,
+        _lib._sel_dataTaskWithRequest_completionHandler_1,
+        request?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSURLSessionDataTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDataTask dataTaskWithURL_completionHandler_(NSURL? url,
+      ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_860(
+        _id,
+        _lib._sel_dataTaskWithURL_completionHandler_1,
+        url?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSURLSessionDataTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionUploadTask uploadTaskWithRequest_fromFile_completionHandler_(
+      NSURLRequest? request,
+      NSURL? fileURL,
+      ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_861(
+        _id,
+        _lib._sel_uploadTaskWithRequest_fromFile_completionHandler_1,
+        request?._id ?? ffi.nullptr,
+        fileURL?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionUploadTask uploadTaskWithRequest_fromData_completionHandler_(
+      NSURLRequest? request,
+      NSData? bodyData,
+      ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_862(
+        _id,
+        _lib._sel_uploadTaskWithRequest_fromData_completionHandler_1,
+        request?._id ?? ffi.nullptr,
+        bodyData?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDownloadTask downloadTaskWithRequest_completionHandler_(
+      NSURLRequest? request,
+      ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_863(
+        _id,
+        _lib._sel_downloadTaskWithRequest_completionHandler_1,
+        request?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDownloadTask downloadTaskWithURL_completionHandler_(NSURL? url,
+      ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_864(
+        _id,
+        _lib._sel_downloadTaskWithURL_completionHandler_1,
+        url?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSURLSessionDownloadTask downloadTaskWithResumeData_completionHandler_(
+      NSData? resumeData,
+      ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError completionHandler) {
+    final _ret = _lib._objc_msgSend_865(
+        _id,
+        _lib._sel_downloadTaskWithResumeData_completionHandler_1,
+        resumeData?._id ?? ffi.nullptr,
+        completionHandler._id);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSession alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSURLSession1, _lib._sel_alloc1);
+    return NSURLSession._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSession1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSession1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSURLSession1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSession1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSession1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSURLSession1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSession1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSURLSessionConfiguration extends NSObject {
+  NSURLSessionConfiguration._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionConfiguration] that points to the same underlying object as [other].
+  static NSURLSessionConfiguration castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSessionConfiguration._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionConfiguration] that wraps the given raw object pointer.
+  static NSURLSessionConfiguration castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionConfiguration._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionConfiguration].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionConfiguration1);
+  }
+
+  static NSURLSessionConfiguration? getDefaultSessionConfiguration(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_818(_lib._class_NSURLSessionConfiguration1,
+        _lib._sel_defaultSessionConfiguration1);
+    return _ret.address == 0
+        ? null
+        : NSURLSessionConfiguration._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionConfiguration? getEphemeralSessionConfiguration(
+      PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_818(_lib._class_NSURLSessionConfiguration1,
+        _lib._sel_ephemeralSessionConfiguration1);
+    return _ret.address == 0
+        ? null
+        : NSURLSessionConfiguration._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionConfiguration
+      backgroundSessionConfigurationWithIdentifier_(
+          PedometerBindings _lib, NSString? identifier) {
+    final _ret = _lib._objc_msgSend_819(
+        _lib._class_NSURLSessionConfiguration1,
+        _lib._sel_backgroundSessionConfigurationWithIdentifier_1,
+        identifier?._id ?? ffi.nullptr);
+    return NSURLSessionConfiguration._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get identifier {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_identifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get requestCachePolicy {
+    return _lib._objc_msgSend_676(_id, _lib._sel_requestCachePolicy1);
+  }
+
+  set requestCachePolicy(int value) {
+    return _lib._objc_msgSend_803(
+        _id, _lib._sel_setRequestCachePolicy_1, value);
+  }
+
+  double get timeoutIntervalForRequest {
+    return _lib._objc_msgSend_146(_id, _lib._sel_timeoutIntervalForRequest1);
+  }
+
+  set timeoutIntervalForRequest(double value) {
+    return _lib._objc_msgSend_459(
+        _id, _lib._sel_setTimeoutIntervalForRequest_1, value);
+  }
+
+  double get timeoutIntervalForResource {
+    return _lib._objc_msgSend_146(_id, _lib._sel_timeoutIntervalForResource1);
+  }
+
+  set timeoutIntervalForResource(double value) {
+    return _lib._objc_msgSend_459(
+        _id, _lib._sel_setTimeoutIntervalForResource_1, value);
+  }
+
+  int get networkServiceType {
+    return _lib._objc_msgSend_677(_id, _lib._sel_networkServiceType1);
+  }
+
+  set networkServiceType(int value) {
+    return _lib._objc_msgSend_804(
+        _id, _lib._sel_setNetworkServiceType_1, value);
+  }
+
+  bool get allowsCellularAccess {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsCellularAccess1);
+  }
+
+  set allowsCellularAccess(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAllowsCellularAccess_1, value);
+  }
+
+  bool get allowsExpensiveNetworkAccess {
+    return _lib._objc_msgSend_12(_id, _lib._sel_allowsExpensiveNetworkAccess1);
+  }
+
+  set allowsExpensiveNetworkAccess(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAllowsExpensiveNetworkAccess_1, value);
+  }
+
+  bool get allowsConstrainedNetworkAccess {
+    return _lib._objc_msgSend_12(
+        _id, _lib._sel_allowsConstrainedNetworkAccess1);
+  }
+
+  set allowsConstrainedNetworkAccess(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setAllowsConstrainedNetworkAccess_1, value);
+  }
+
+  bool get requiresDNSSECValidation {
+    return _lib._objc_msgSend_12(_id, _lib._sel_requiresDNSSECValidation1);
+  }
+
+  set requiresDNSSECValidation(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setRequiresDNSSECValidation_1, value);
+  }
+
+  bool get waitsForConnectivity {
+    return _lib._objc_msgSend_12(_id, _lib._sel_waitsForConnectivity1);
+  }
+
+  set waitsForConnectivity(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setWaitsForConnectivity_1, value);
+  }
+
+  bool get discretionary {
+    return _lib._objc_msgSend_12(_id, _lib._sel_isDiscretionary1);
+  }
+
+  set discretionary(bool value) {
+    return _lib._objc_msgSend_445(_id, _lib._sel_setDiscretionary_1, value);
+  }
+
+  NSString? get sharedContainerIdentifier {
+    final _ret =
+        _lib._objc_msgSend_20(_id, _lib._sel_sharedContainerIdentifier1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  set sharedContainerIdentifier(NSString? value) {
+    return _lib._objc_msgSend_462(_id, _lib._sel_setSharedContainerIdentifier_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  bool get sessionSendsLaunchEvents {
+    return _lib._objc_msgSend_12(_id, _lib._sel_sessionSendsLaunchEvents1);
+  }
+
+  set sessionSendsLaunchEvents(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setSessionSendsLaunchEvents_1, value);
+  }
+
+  NSDictionary? get connectionProxyDictionary {
+    final _ret =
+        _lib._objc_msgSend_319(_id, _lib._sel_connectionProxyDictionary1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  set connectionProxyDictionary(NSDictionary? value) {
+    return _lib._objc_msgSend_563(_id, _lib._sel_setConnectionProxyDictionary_1,
+        value?._id ?? ffi.nullptr);
+  }
+
+  int get TLSMinimumSupportedProtocol {
+    return _lib._objc_msgSend_820(_id, _lib._sel_TLSMinimumSupportedProtocol1);
+  }
+
+  set TLSMinimumSupportedProtocol(int value) {
+    return _lib._objc_msgSend_821(
+        _id, _lib._sel_setTLSMinimumSupportedProtocol_1, value);
+  }
+
+  int get TLSMaximumSupportedProtocol {
+    return _lib._objc_msgSend_820(_id, _lib._sel_TLSMaximumSupportedProtocol1);
+  }
+
+  set TLSMaximumSupportedProtocol(int value) {
+    return _lib._objc_msgSend_821(
+        _id, _lib._sel_setTLSMaximumSupportedProtocol_1, value);
+  }
+
+  int get TLSMinimumSupportedProtocolVersion {
+    return _lib._objc_msgSend_822(
+        _id, _lib._sel_TLSMinimumSupportedProtocolVersion1);
+  }
+
+  set TLSMinimumSupportedProtocolVersion(int value) {
+    return _lib._objc_msgSend_823(
+        _id, _lib._sel_setTLSMinimumSupportedProtocolVersion_1, value);
+  }
+
+  int get TLSMaximumSupportedProtocolVersion {
+    return _lib._objc_msgSend_822(
+        _id, _lib._sel_TLSMaximumSupportedProtocolVersion1);
+  }
+
+  set TLSMaximumSupportedProtocolVersion(int value) {
+    return _lib._objc_msgSend_823(
+        _id, _lib._sel_setTLSMaximumSupportedProtocolVersion_1, value);
+  }
+
+  bool get HTTPShouldUsePipelining {
+    return _lib._objc_msgSend_12(_id, _lib._sel_HTTPShouldUsePipelining1);
+  }
+
+  set HTTPShouldUsePipelining(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setHTTPShouldUsePipelining_1, value);
+  }
+
+  bool get HTTPShouldSetCookies {
+    return _lib._objc_msgSend_12(_id, _lib._sel_HTTPShouldSetCookies1);
+  }
+
+  set HTTPShouldSetCookies(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setHTTPShouldSetCookies_1, value);
+  }
+
+  int get HTTPCookieAcceptPolicy {
+    return _lib._objc_msgSend_673(_id, _lib._sel_HTTPCookieAcceptPolicy1);
+  }
+
+  set HTTPCookieAcceptPolicy(int value) {
+    return _lib._objc_msgSend_674(
+        _id, _lib._sel_setHTTPCookieAcceptPolicy_1, value);
+  }
+
+  NSDictionary? get HTTPAdditionalHeaders {
+    final _ret = _lib._objc_msgSend_319(_id, _lib._sel_HTTPAdditionalHeaders1);
+    return _ret.address == 0
+        ? null
+        : NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  set HTTPAdditionalHeaders(NSDictionary? value) {
+    return _lib._objc_msgSend_563(
+        _id, _lib._sel_setHTTPAdditionalHeaders_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get HTTPMaximumConnectionsPerHost {
+    return _lib._objc_msgSend_70(_id, _lib._sel_HTTPMaximumConnectionsPerHost1);
+  }
+
+  set HTTPMaximumConnectionsPerHost(int value) {
+    return _lib._objc_msgSend_575(
+        _id, _lib._sel_setHTTPMaximumConnectionsPerHost_1, value);
+  }
+
+  NSHTTPCookieStorage? get HTTPCookieStorage {
+    final _ret = _lib._objc_msgSend_667(_id, _lib._sel_HTTPCookieStorage1);
+    return _ret.address == 0
+        ? null
+        : NSHTTPCookieStorage._(_ret, _lib, retain: true, release: true);
+  }
+
+  set HTTPCookieStorage(NSHTTPCookieStorage? value) {
+    return _lib._objc_msgSend_824(
+        _id, _lib._sel_setHTTPCookieStorage_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSURLCredentialStorage? get URLCredentialStorage {
+    final _ret = _lib._objc_msgSend_789(_id, _lib._sel_URLCredentialStorage1);
+    return _ret.address == 0
+        ? null
+        : NSURLCredentialStorage._(_ret, _lib, retain: true, release: true);
+  }
+
+  set URLCredentialStorage(NSURLCredentialStorage? value) {
+    return _lib._objc_msgSend_825(
+        _id, _lib._sel_setURLCredentialStorage_1, value?._id ?? ffi.nullptr);
+  }
+
+  NSURLCache? get URLCache {
+    final _ret = _lib._objc_msgSend_759(_id, _lib._sel_URLCache1);
+    return _ret.address == 0
+        ? null
+        : NSURLCache._(_ret, _lib, retain: true, release: true);
+  }
+
+  set URLCache(NSURLCache? value) {
+    return _lib._objc_msgSend_760(
+        _id, _lib._sel_setURLCache_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get shouldUseExtendedBackgroundIdleMode {
+    return _lib._objc_msgSend_12(
+        _id, _lib._sel_shouldUseExtendedBackgroundIdleMode1);
+  }
+
+  set shouldUseExtendedBackgroundIdleMode(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setShouldUseExtendedBackgroundIdleMode_1, value);
+  }
+
+  NSArray? get protocolClasses {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_protocolClasses1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  set protocolClasses(NSArray? value) {
+    return _lib._objc_msgSend_601(
+        _id, _lib._sel_setProtocolClasses_1, value?._id ?? ffi.nullptr);
+  }
+
+  int get multipathServiceType {
+    return _lib._objc_msgSend_826(_id, _lib._sel_multipathServiceType1);
+  }
+
+  set multipathServiceType(int value) {
+    return _lib._objc_msgSend_827(
+        _id, _lib._sel_setMultipathServiceType_1, value);
+  }
+
+  @override
+  NSURLSessionConfiguration init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionConfiguration._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionConfiguration new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionConfiguration1, _lib._sel_new1);
+    return NSURLSessionConfiguration._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static NSURLSessionConfiguration backgroundSessionConfiguration_(
+      PedometerBindings _lib, NSString? identifier) {
+    final _ret = _lib._objc_msgSend_819(
+        _lib._class_NSURLSessionConfiguration1,
+        _lib._sel_backgroundSessionConfiguration_1,
+        identifier?._id ?? ffi.nullptr);
+    return NSURLSessionConfiguration._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionConfiguration alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionConfiguration1, _lib._sel_alloc1);
+    return NSURLSessionConfiguration._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionConfiguration1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionConfiguration1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionConfiguration1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionConfiguration1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionConfiguration1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLSessionConfiguration1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLSessionConfiguration1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+/// !
+/// @enum NSURLSessionMultipathServiceType
+///
+/// @discussion The NSURLSessionMultipathServiceType enum defines constants that
+/// can be used to specify the multipath service type to associate an NSURLSession.  The
+/// multipath service type determines whether multipath TCP should be attempted and the conditions
+/// for creating and switching between subflows.  Using these service types requires the appropriate entitlement.  Any connection attempt will fail if the process does not have the required entitlement.
+/// A primary interface is a generally less expensive interface in terms of both cost and power (such as WiFi or ethernet).  A secondary interface is more expensive (such as 3G or LTE).
+///
+/// @constant NSURLSessionMultipathServiceTypeNone Specifies that multipath tcp should not be used.  Connections will use a single flow.
+/// This is the default value.  No entitlement is required to set this value.
+///
+/// @constant NSURLSessionMultipathServiceTypeHandover Specifies that a secondary subflow should only be used
+/// when the primary subflow is not performing adequately.   Requires the com.apple.developer.networking.multipath entitlement.
+///
+/// @constant NSURLSessionMultipathServiceTypeInteractive Specifies that a secondary subflow should be used if the
+/// primary subflow is not performing adequately (packet loss, high round trip times, bandwidth issues).  The secondary
+/// subflow will be created more aggressively than with NSURLSessionMultipathServiceTypeHandover.  Requires the com.apple.developer.networking.multipath entitlement.
+///
+/// @constant NSURLSessionMultipathServiceTypeAggregate Specifies that multiple subflows across multiple interfaces should be
+/// used for better bandwidth.  This mode is only available for experimentation on devices configured for development use.
+/// It can be enabled in the Developer section of the Settings app.
+abstract class NSURLSessionMultipathServiceType {
+  static const int NSURLSessionMultipathServiceTypeNone = 0;
+  static const int NSURLSessionMultipathServiceTypeHandover = 1;
+  static const int NSURLSessionMultipathServiceTypeInteractive = 2;
+  static const int NSURLSessionMultipathServiceTypeAggregate = 3;
+}
+
+void _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1,
+                  ffi.Pointer<ObjCObject> arg2)>>()
+      .asFunction<
+          void Function(
+              ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  (_ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSArray_NSArray_NSArray extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSArray_NSArray_NSArray._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSArray_NSArray_NSArray.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1,
+                      ffi.Pointer<ObjCObject> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSArray_NSArray_NSArray.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSArray_NSArray_NSArray.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSArray_NSArray_NSArray_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1,
+          ffi.Pointer<ObjCObject> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+      ffi.Pointer<ObjCObject> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1,
+                    ffi.Pointer<ObjCObject> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1,
+                ffi.Pointer<ObjCObject> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+class NSURLSessionUploadTask extends NSURLSessionDataTask {
+  NSURLSessionUploadTask._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionUploadTask] that points to the same underlying object as [other].
+  static NSURLSessionUploadTask castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSessionUploadTask._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionUploadTask] that wraps the given raw object pointer.
+  static NSURLSessionUploadTask castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionUploadTask._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionUploadTask].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionUploadTask1);
+  }
+
+  @override
+  NSURLSessionUploadTask init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionUploadTask new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionUploadTask1, _lib._sel_new1);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLSessionUploadTask alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionUploadTask1, _lib._sel_alloc1);
+    return NSURLSessionUploadTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionUploadTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionUploadTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionUploadTask1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionUploadTask1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionUploadTask1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLSessionUploadTask1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLSessionUploadTask1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSURLSessionDownloadTask extends NSURLSessionTask {
+  NSURLSessionDownloadTask._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionDownloadTask] that points to the same underlying object as [other].
+  static NSURLSessionDownloadTask castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSessionDownloadTask._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionDownloadTask] that wraps the given raw object pointer.
+  static NSURLSessionDownloadTask castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionDownloadTask._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionDownloadTask].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionDownloadTask1);
+  }
+
+  void cancelByProducingResumeData_(
+      ObjCBlock_ffiVoid_NSData completionHandler) {
+    _lib._objc_msgSend_837(
+        _id, _lib._sel_cancelByProducingResumeData_1, completionHandler._id);
+  }
+
+  @override
+  NSURLSessionDownloadTask init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionDownloadTask new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionDownloadTask1, _lib._sel_new1);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLSessionDownloadTask alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionDownloadTask1, _lib._sel_alloc1);
+    return NSURLSessionDownloadTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionDownloadTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionDownloadTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionDownloadTask1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionDownloadTask1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionDownloadTask1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLSessionDownloadTask1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLSessionDownloadTask1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSData_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>()
+      .asFunction<void Function(ffi.Pointer<ObjCObject> arg0)>()(arg0);
+}
+
+final _ObjCBlock_ffiVoid_NSData_closureRegistry = <int, Function>{};
+int _ObjCBlock_ffiVoid_NSData_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSData_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSData_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSData_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSData_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0) {
+  (_ObjCBlock_ffiVoid_NSData_closureRegistry[block.ref.target.address] as void
+      Function(ffi.Pointer<ObjCObject>))(arg0);
+}
+
+class ObjCBlock_ffiVoid_NSData extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSData._(ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi
+              .NativeFunction<ffi.Void Function(ffi.Pointer<ObjCObject> arg0)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSData_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData.fromFunction(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>(
+                        _ObjCBlock_ffiVoid_NSData_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSData.listener(
+      PedometerBindings lib, void Function(ffi.Pointer<ObjCObject> arg0) fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0)>.listener(
+                        _ObjCBlock_ffiVoid_NSData_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+          ffi.Void Function(
+              ffi.Pointer<_ObjCBlock> block, ffi.Pointer<ObjCObject> arg0)>?
+      _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0)>>()
+        .asFunction<
+            void Function(ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0)>()(_id, arg0);
+  }
+}
+
+class NSURLSessionStreamTask extends NSURLSessionTask {
+  NSURLSessionStreamTask._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionStreamTask] that points to the same underlying object as [other].
+  static NSURLSessionStreamTask castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSessionStreamTask._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionStreamTask] that wraps the given raw object pointer.
+  static NSURLSessionStreamTask castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionStreamTask._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionStreamTask].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionStreamTask1);
+  }
+
+  void readDataOfMinLength_maxLength_timeout_completionHandler_(
+      int minBytes,
+      int maxBytes,
+      double timeout,
+      ObjCBlock_ffiVoid_NSData_bool_NSError completionHandler) {
+    _lib._objc_msgSend_841(
+        _id,
+        _lib._sel_readDataOfMinLength_maxLength_timeout_completionHandler_1,
+        minBytes,
+        maxBytes,
+        timeout,
+        completionHandler._id);
+  }
+
+  void writeData_timeout_completionHandler_(NSData? data, double timeout,
+      ObjCBlock_ffiVoid_NSError completionHandler) {
+    _lib._objc_msgSend_842(_id, _lib._sel_writeData_timeout_completionHandler_1,
+        data?._id ?? ffi.nullptr, timeout, completionHandler._id);
+  }
+
+  void captureStreams() {
+    _lib._objc_msgSend_1(_id, _lib._sel_captureStreams1);
+  }
+
+  void closeWrite() {
+    _lib._objc_msgSend_1(_id, _lib._sel_closeWrite1);
+  }
+
+  void closeRead() {
+    _lib._objc_msgSend_1(_id, _lib._sel_closeRead1);
+  }
+
+  void startSecureConnection() {
+    _lib._objc_msgSend_1(_id, _lib._sel_startSecureConnection1);
+  }
+
+  void stopSecureConnection() {
+    _lib._objc_msgSend_1(_id, _lib._sel_stopSecureConnection1);
+  }
+
+  @override
+  NSURLSessionStreamTask init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionStreamTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionStreamTask new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionStreamTask1, _lib._sel_new1);
+    return NSURLSessionStreamTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSURLSessionStreamTask alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionStreamTask1, _lib._sel_alloc1);
+    return NSURLSessionStreamTask._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionStreamTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionStreamTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionStreamTask1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionStreamTask1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionStreamTask1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLSessionStreamTask1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLSessionStreamTask1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSData_bool_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    bool arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0, ffi.Bool arg1,
+                  ffi.Pointer<ObjCObject> arg2)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ObjCObject> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSData_bool_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSData_bool_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void> _ObjCBlock_ffiVoid_NSData_bool_NSError_registerClosure(
+    Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_NSData_bool_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSData_bool_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSData_bool_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    bool arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  (_ObjCBlock_ffiVoid_NSData_bool_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, bool,
+          ffi.Pointer<ObjCObject>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSData_bool_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSData_bool_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData_bool_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0, ffi.Bool arg1,
+                      ffi.Pointer<ObjCObject> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSData_bool_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData_bool_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSData_bool_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_bool_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSData_bool_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, bool arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Bool arg1,
+                                ffi.Pointer<ObjCObject> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSData_bool_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_bool_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Bool arg1,
+          ffi.Pointer<ObjCObject> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(
+      ffi.Pointer<ObjCObject> arg0, bool arg1, ffi.Pointer<ObjCObject> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Bool arg1,
+                    ffi.Pointer<ObjCObject> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                bool arg1,
+                ffi.Pointer<ObjCObject> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+class NSNetService extends NSObject {
+  NSNetService._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSNetService] that points to the same underlying object as [other].
+  static NSNetService castFrom<T extends _ObjCWrapper>(T other) {
+    return NSNetService._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [NSNetService] that wraps the given raw object pointer.
+  static NSNetService castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSNetService._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSNetService].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSNetService1);
+  }
+
+  NSNetService initWithDomain_type_name_port_(
+      NSString? domain, NSString? type, NSString? name, int port) {
+    final _ret = _lib._objc_msgSend_844(
+        _id,
+        _lib._sel_initWithDomain_type_name_port_1,
+        domain?._id ?? ffi.nullptr,
+        type?._id ?? ffi.nullptr,
+        name?._id ?? ffi.nullptr,
+        port);
+    return NSNetService._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNetService initWithDomain_type_name_(
+      NSString? domain, NSString? type, NSString? name) {
+    final _ret = _lib._objc_msgSend_26(
+        _id,
+        _lib._sel_initWithDomain_type_name_1,
+        domain?._id ?? ffi.nullptr,
+        type?._id ?? ffi.nullptr,
+        name?._id ?? ffi.nullptr);
+    return NSNetService._(_ret, _lib, retain: true, release: true);
+  }
+
+  void scheduleInRunLoop_forMode_(NSRunLoop? aRunLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_scheduleInRunLoop_forMode_1,
+        aRunLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  void removeFromRunLoop_forMode_(NSRunLoop? aRunLoop, NSRunLoopMode mode) {
+    _lib._objc_msgSend_626(_id, _lib._sel_removeFromRunLoop_forMode_1,
+        aRunLoop?._id ?? ffi.nullptr, mode);
+  }
+
+  NSObject? get delegate {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_delegate1);
+    return _ret.address == 0
+        ? null
+        : NSObject._(_ret, _lib, retain: true, release: true);
+  }
+
+  set delegate(NSObject? value) {
+    return _lib._objc_msgSend_343(
+        _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr);
+  }
+
+  bool get includesPeerToPeer {
+    return _lib._objc_msgSend_12(_id, _lib._sel_includesPeerToPeer1);
+  }
+
+  set includesPeerToPeer(bool value) {
+    return _lib._objc_msgSend_445(
+        _id, _lib._sel_setIncludesPeerToPeer_1, value);
+  }
+
+  NSString? get name {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_name1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get type {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_type1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get domain {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_domain1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get hostName {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_hostName1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSArray? get addresses {
+    final _ret = _lib._objc_msgSend_71(_id, _lib._sel_addresses1);
+    return _ret.address == 0
+        ? null
+        : NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get port {
+    return _lib._objc_msgSend_70(_id, _lib._sel_port1);
+  }
+
+  void publish() {
+    _lib._objc_msgSend_1(_id, _lib._sel_publish1);
+  }
+
+  void publishWithOptions_(int options) {
+    _lib._objc_msgSend_845(_id, _lib._sel_publishWithOptions_1, options);
+  }
+
+  void resolve() {
+    _lib._objc_msgSend_1(_id, _lib._sel_resolve1);
+  }
+
+  void stop() {
+    _lib._objc_msgSend_1(_id, _lib._sel_stop1);
+  }
+
+  static NSDictionary dictionaryFromTXTRecordData_(
+      PedometerBindings _lib, NSData? txtData) {
+    final _ret = _lib._objc_msgSend_846(_lib._class_NSNetService1,
+        _lib._sel_dictionaryFromTXTRecordData_1, txtData?._id ?? ffi.nullptr);
+    return NSDictionary._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSData dataFromTXTRecordDictionary_(
+      PedometerBindings _lib, NSDictionary? txtDictionary) {
+    final _ret = _lib._objc_msgSend_847(
+        _lib._class_NSNetService1,
+        _lib._sel_dataFromTXTRecordDictionary_1,
+        txtDictionary?._id ?? ffi.nullptr);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  void resolveWithTimeout_(double timeout) {
+    _lib._objc_msgSend_458(_id, _lib._sel_resolveWithTimeout_1, timeout);
+  }
+
+  bool getInputStream_outputStream_(
+      ffi.Pointer<ffi.Pointer<ObjCObject>> inputStream,
+      ffi.Pointer<ffi.Pointer<ObjCObject>> outputStream) {
+    return _lib._objc_msgSend_848(_id, _lib._sel_getInputStream_outputStream_1,
+        inputStream, outputStream);
+  }
+
+  bool setTXTRecordData_(NSData? recordData) {
+    return _lib._objc_msgSend_23(
+        _id, _lib._sel_setTXTRecordData_1, recordData?._id ?? ffi.nullptr);
+  }
+
+  NSData TXTRecordData() {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_TXTRecordData1);
+    return NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  void startMonitoring() {
+    _lib._objc_msgSend_1(_id, _lib._sel_startMonitoring1);
+  }
+
+  void stopMonitoring() {
+    _lib._objc_msgSend_1(_id, _lib._sel_stopMonitoring1);
+  }
+
+  static NSNetService new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSNetService1, _lib._sel_new1);
+    return NSNetService._(_ret, _lib, retain: false, release: true);
+  }
+
+  static NSNetService alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_NSNetService1, _lib._sel_alloc1);
+    return NSNetService._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSNetService1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSNetService1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_NSNetService1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSNetService1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSNetService1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSNetService1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSNetService1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSURLSessionWebSocketTask extends NSURLSessionTask {
+  NSURLSessionWebSocketTask._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionWebSocketTask] that points to the same underlying object as [other].
+  static NSURLSessionWebSocketTask castFrom<T extends _ObjCWrapper>(T other) {
+    return NSURLSessionWebSocketTask._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionWebSocketTask] that wraps the given raw object pointer.
+  static NSURLSessionWebSocketTask castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionWebSocketTask._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionWebSocketTask].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionWebSocketTask1);
+  }
+
+  void sendMessage_completionHandler_(NSURLSessionWebSocketMessage? message,
+      ObjCBlock_ffiVoid_NSError completionHandler) {
+    _lib._objc_msgSend_851(_id, _lib._sel_sendMessage_completionHandler_1,
+        message?._id ?? ffi.nullptr, completionHandler._id);
+  }
+
+  void receiveMessageWithCompletionHandler_(
+      ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError
+          completionHandler) {
+    _lib._objc_msgSend_852(_id, _lib._sel_receiveMessageWithCompletionHandler_1,
+        completionHandler._id);
+  }
+
+  void sendPingWithPongReceiveHandler_(
+      ObjCBlock_ffiVoid_NSError pongReceiveHandler) {
+    _lib._objc_msgSend_853(_id, _lib._sel_sendPingWithPongReceiveHandler_1,
+        pongReceiveHandler._id);
+  }
+
+  void cancelWithCloseCode_reason_(int closeCode, NSData? reason) {
+    _lib._objc_msgSend_854(_id, _lib._sel_cancelWithCloseCode_reason_1,
+        closeCode, reason?._id ?? ffi.nullptr);
+  }
+
+  int get maximumMessageSize {
+    return _lib._objc_msgSend_70(_id, _lib._sel_maximumMessageSize1);
+  }
+
+  set maximumMessageSize(int value) {
+    return _lib._objc_msgSend_575(
+        _id, _lib._sel_setMaximumMessageSize_1, value);
+  }
+
+  int get closeCode {
+    return _lib._objc_msgSend_855(_id, _lib._sel_closeCode1);
+  }
+
+  NSData? get closeReason {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_closeReason1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSURLSessionWebSocketTask init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionWebSocketTask._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSURLSessionWebSocketTask new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionWebSocketTask1, _lib._sel_new1);
+    return NSURLSessionWebSocketTask._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static NSURLSessionWebSocketTask alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionWebSocketTask1, _lib._sel_alloc1);
+    return NSURLSessionWebSocketTask._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionWebSocketTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionWebSocketTask1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionWebSocketTask1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionWebSocketTask1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionWebSocketTask1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_NSURLSessionWebSocketTask1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLSessionWebSocketTask1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+class NSURLSessionWebSocketMessage extends NSObject {
+  NSURLSessionWebSocketMessage._(
+      ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [NSURLSessionWebSocketMessage] that points to the same underlying object as [other].
+  static NSURLSessionWebSocketMessage castFrom<T extends _ObjCWrapper>(
+      T other) {
+    return NSURLSessionWebSocketMessage._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [NSURLSessionWebSocketMessage] that wraps the given raw object pointer.
+  static NSURLSessionWebSocketMessage castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return NSURLSessionWebSocketMessage._(other, lib,
+        retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [NSURLSessionWebSocketMessage].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_NSURLSessionWebSocketMessage1);
+  }
+
+  NSURLSessionWebSocketMessage initWithData_(NSData? data) {
+    final _ret = _lib._objc_msgSend_206(
+        _id, _lib._sel_initWithData_1, data?._id ?? ffi.nullptr);
+    return NSURLSessionWebSocketMessage._(_ret, _lib,
+        retain: true, release: true);
+  }
+
+  NSURLSessionWebSocketMessage initWithString_(NSString? string) {
+    final _ret = _lib._objc_msgSend_30(
+        _id, _lib._sel_initWithString_1, string?._id ?? ffi.nullptr);
+    return NSURLSessionWebSocketMessage._(_ret, _lib,
+        retain: true, release: true);
+  }
+
+  int get type {
+    return _lib._objc_msgSend_850(_id, _lib._sel_type1);
+  }
+
+  NSData? get data {
+    final _ret = _lib._objc_msgSend_39(_id, _lib._sel_data1);
+    return _ret.address == 0
+        ? null
+        : NSData._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSString? get string {
+    final _ret = _lib._objc_msgSend_20(_id, _lib._sel_string1);
+    return _ret.address == 0
+        ? null
+        : NSString._(_ret, _lib, retain: true, release: true);
+  }
+
+  @override
+  NSURLSessionWebSocketMessage init() {
+    final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1);
+    return NSURLSessionWebSocketMessage._(_ret, _lib,
+        retain: true, release: true);
+  }
+
+  static NSURLSessionWebSocketMessage new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionWebSocketMessage1, _lib._sel_new1);
+    return NSURLSessionWebSocketMessage._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static NSURLSessionWebSocketMessage alloc(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_NSURLSessionWebSocketMessage1, _lib._sel_alloc1);
+    return NSURLSessionWebSocketMessage._(_ret, _lib,
+        retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_NSURLSessionWebSocketMessage1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_NSURLSessionWebSocketMessage1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_NSURLSessionWebSocketMessage1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_NSURLSessionWebSocketMessage1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_NSURLSessionWebSocketMessage1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_NSURLSessionWebSocketMessage1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_NSURLSessionWebSocketMessage1,
+        _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+abstract class NSURLSessionWebSocketMessageType {
+  static const int NSURLSessionWebSocketMessageTypeData = 0;
+  static const int NSURLSessionWebSocketMessageTypeString = 1;
+}
+
+void _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureRegistryIndex =
+    0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureRegistry[id] =
+      fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  (_ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError
+    extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURLSessionWebSocketMessage_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+abstract class NSURLSessionWebSocketCloseCode {
+  static const int NSURLSessionWebSocketCloseCodeInvalid = 0;
+  static const int NSURLSessionWebSocketCloseCodeNormalClosure = 1000;
+  static const int NSURLSessionWebSocketCloseCodeGoingAway = 1001;
+  static const int NSURLSessionWebSocketCloseCodeProtocolError = 1002;
+  static const int NSURLSessionWebSocketCloseCodeUnsupportedData = 1003;
+  static const int NSURLSessionWebSocketCloseCodeNoStatusReceived = 1005;
+  static const int NSURLSessionWebSocketCloseCodeAbnormalClosure = 1006;
+  static const int NSURLSessionWebSocketCloseCodeInvalidFramePayloadData = 1007;
+  static const int NSURLSessionWebSocketCloseCodePolicyViolation = 1008;
+  static const int NSURLSessionWebSocketCloseCodeMessageTooBig = 1009;
+  static const int NSURLSessionWebSocketCloseCodeMandatoryExtensionMissing =
+      1010;
+  static const int NSURLSessionWebSocketCloseCodeInternalServerError = 1011;
+  static const int NSURLSessionWebSocketCloseCodeTLSHandshakeFailure = 1015;
+}
+
+void _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1,
+                  ffi.Pointer<ObjCObject> arg2)>>()
+      .asFunction<
+          void Function(
+              ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  (_ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1,
+                      ffi.Pointer<ObjCObject> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSData_NSURLResponse_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1,
+          ffi.Pointer<ObjCObject> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+      ffi.Pointer<ObjCObject> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1,
+                    ffi.Pointer<ObjCObject> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1,
+                ffi.Pointer<ObjCObject> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+void _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(
+                  ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1,
+                  ffi.Pointer<ObjCObject> arg2)>>()
+      .asFunction<
+          void Function(
+              ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)>()(arg0, arg1, arg2);
+}
+
+final _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_registerClosure(
+        Function fn) {
+  final id =
+      ++_ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1,
+    ffi.Pointer<ObjCObject> arg2) {
+  (_ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>,
+          ffi.Pointer<ObjCObject>))(arg0, arg1, arg2);
+}
+
+class ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(
+                      ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1,
+                      ffi.Pointer<ObjCObject> arg2)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>(
+                        _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+              ffi.Pointer<ObjCObject> arg2)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1,
+                                ffi.Pointer<ObjCObject> arg2)>.listener(
+                        _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_NSURL_NSURLResponse_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1,
+          ffi.Pointer<ObjCObject> arg2)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1,
+      ffi.Pointer<ObjCObject> arg2) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1,
+                    ffi.Pointer<ObjCObject> arg2)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1,
+                ffi.Pointer<ObjCObject> arg2)>()(_id, arg0, arg1, arg2);
+  }
+}
+
+abstract class NSURLSessionDelayedRequestDisposition {
+  static const int NSURLSessionDelayedRequestContinueLoading = 0;
+  static const int NSURLSessionDelayedRequestUseNewRequest = 1;
+  static const int NSURLSessionDelayedRequestCancel = 2;
+}
+
+abstract class NSURLSessionAuthChallengeDisposition {
+  static const int NSURLSessionAuthChallengeUseCredential = 0;
+  static const int NSURLSessionAuthChallengePerformDefaultHandling = 1;
+  static const int NSURLSessionAuthChallengeCancelAuthenticationChallenge = 2;
+  static const int NSURLSessionAuthChallengeRejectProtectionSpace = 3;
+}
+
+abstract class NSURLSessionResponseDisposition {
+  static const int NSURLSessionResponseCancel = 0;
+  static const int NSURLSessionResponseAllow = 1;
+  static const int NSURLSessionResponseBecomeDownload = 2;
+  static const int NSURLSessionResponseBecomeStream = 3;
+}
+
+abstract class NSURLSessionTaskMetricsResourceFetchType {
+  static const int NSURLSessionTaskMetricsResourceFetchTypeUnknown = 0;
+  static const int NSURLSessionTaskMetricsResourceFetchTypeNetworkLoad = 1;
+  static const int NSURLSessionTaskMetricsResourceFetchTypeServerPush = 2;
+  static const int NSURLSessionTaskMetricsResourceFetchTypeLocalCache = 3;
+}
+
+abstract class NSURLSessionTaskMetricsDomainResolutionProtocol {
+  static const int NSURLSessionTaskMetricsDomainResolutionProtocolUnknown = 0;
+  static const int NSURLSessionTaskMetricsDomainResolutionProtocolUDP = 1;
+  static const int NSURLSessionTaskMetricsDomainResolutionProtocolTCP = 2;
+  static const int NSURLSessionTaskMetricsDomainResolutionProtocolTLS = 3;
+  static const int NSURLSessionTaskMetricsDomainResolutionProtocolHTTPS = 4;
+}
+
+abstract class CMAuthorizationStatus {
+  static const int CMAuthorizationStatusNotDetermined = 0;
+  static const int CMAuthorizationStatusRestricted = 1;
+  static const int CMAuthorizationStatusDenied = 2;
+  static const int CMAuthorizationStatusAuthorized = 3;
+}
+
+abstract class CMPedometerEventType {
+  static const int CMPedometerEventTypePause = 0;
+  static const int CMPedometerEventTypeResume = 1;
+}
+
+class CMPedometer extends NSObject {
+  CMPedometer._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [CMPedometer] that points to the same underlying object as [other].
+  static CMPedometer castFrom<T extends _ObjCWrapper>(T other) {
+    return CMPedometer._(other._id, other._lib, retain: true, release: true);
+  }
+
+  /// Returns a [CMPedometer] that wraps the given raw object pointer.
+  static CMPedometer castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return CMPedometer._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [CMPedometer].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(
+        obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CMPedometer1);
+  }
+
+  static bool isStepCountingAvailable(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_CMPedometer1, _lib._sel_isStepCountingAvailable1);
+  }
+
+  static bool isDistanceAvailable(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_CMPedometer1, _lib._sel_isDistanceAvailable1);
+  }
+
+  static bool isFloorCountingAvailable(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_CMPedometer1, _lib._sel_isFloorCountingAvailable1);
+  }
+
+  static bool isPaceAvailable(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_CMPedometer1, _lib._sel_isPaceAvailable1);
+  }
+
+  static bool isCadenceAvailable(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_CMPedometer1, _lib._sel_isCadenceAvailable1);
+  }
+
+  static bool isPedometerEventTrackingAvailable(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_CMPedometer1, _lib._sel_isPedometerEventTrackingAvailable1);
+  }
+
+  static int authorizationStatus(PedometerBindings _lib) {
+    return _lib._objc_msgSend_866(
+        _lib._class_CMPedometer1, _lib._sel_authorizationStatus1);
+  }
+
+  void queryPedometerDataFromDate_toDate_withHandler_(
+      NSDate? start, NSDate? end, CMPedometerHandler handler) {
+    _lib._objc_msgSend_867(
+        _id,
+        _lib._sel_queryPedometerDataFromDate_toDate_withHandler_1,
+        start?._id ?? ffi.nullptr,
+        end?._id ?? ffi.nullptr,
+        handler);
+  }
+
+  void startPedometerUpdatesFromDate_withHandler_(
+      NSDate? start, CMPedometerHandler handler) {
+    _lib._objc_msgSend_868(
+        _id,
+        _lib._sel_startPedometerUpdatesFromDate_withHandler_1,
+        start?._id ?? ffi.nullptr,
+        handler);
+  }
+
+  void stopPedometerUpdates() {
+    _lib._objc_msgSend_1(_id, _lib._sel_stopPedometerUpdates1);
+  }
+
+  void startPedometerEventUpdatesWithHandler_(CMPedometerEventHandler handler) {
+    _lib._objc_msgSend_870(
+        _id, _lib._sel_startPedometerEventUpdatesWithHandler_1, handler);
+  }
+
+  void stopPedometerEventUpdates() {
+    _lib._objc_msgSend_1(_id, _lib._sel_stopPedometerEventUpdates1);
+  }
+
+  static CMPedometer new1(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(_lib._class_CMPedometer1, _lib._sel_new1);
+    return CMPedometer._(_ret, _lib, retain: false, release: true);
+  }
+
+  static CMPedometer alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_CMPedometer1, _lib._sel_alloc1);
+    return CMPedometer._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_CMPedometer1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_CMPedometer1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(
+        _lib._class_CMPedometer1, _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_CMPedometer1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_CMPedometer1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(
+        _lib._class_CMPedometer1, _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_CMPedometer1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef CMPedometerHandler = ffi.Pointer<_ObjCBlock>;
+void _ObjCBlock_ffiVoid_CMPedometerData_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_CMPedometerData_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_CMPedometerData_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_CMPedometerData_NSError_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_CMPedometerData_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_CMPedometerData_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_CMPedometerData_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  (_ObjCBlock_ffiVoid_CMPedometerData_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_CMPedometerData_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_CMPedometerData_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CMPedometerData_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib._newBlock1(
+                _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_CMPedometerData_NSError_fnPtrTrampoline)
+                    .cast(),
+                ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CMPedometerData_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_CMPedometerData_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_CMPedometerData_NSError_registerClosure(fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_CMPedometerData_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_CMPedometerData_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_CMPedometerData_NSError_registerClosure(fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+class CMPedometerData extends NSObject {
+  CMPedometerData._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [CMPedometerData] that points to the same underlying object as [other].
+  static CMPedometerData castFrom<T extends _ObjCWrapper>(T other) {
+    return CMPedometerData._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [CMPedometerData] that wraps the given raw object pointer.
+  static CMPedometerData castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return CMPedometerData._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [CMPedometerData].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_CMPedometerData1);
+  }
+
+  NSDate? get startDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_startDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSDate? get endDate {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_endDate1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get numberOfSteps {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_numberOfSteps1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get distance {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_distance1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get floorsAscended {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_floorsAscended1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get floorsDescended {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_floorsDescended1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get currentPace {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_currentPace1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get currentCadence {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_currentCadence1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  NSNumber? get averageActivePace {
+    final _ret = _lib._objc_msgSend_155(_id, _lib._sel_averageActivePace1);
+    return _ret.address == 0
+        ? null
+        : NSNumber._(_ret, _lib, retain: true, release: true);
+  }
+
+  static CMPedometerData new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_CMPedometerData1, _lib._sel_new1);
+    return CMPedometerData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static CMPedometerData alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_CMPedometerData1, _lib._sel_alloc1);
+    return CMPedometerData._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_CMPedometerData1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_CMPedometerData1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_CMPedometerData1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_CMPedometerData1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_CMPedometerData1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_CMPedometerData1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_CMPedometerData1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+typedef CMPedometerEventHandler = ffi.Pointer<_ObjCBlock>;
+void _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_fnPtrTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  block.ref.target
+      .cast<
+          ffi.NativeFunction<
+              ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                  ffi.Pointer<ObjCObject> arg1)>>()
+      .asFunction<
+          void Function(ffi.Pointer<ObjCObject> arg0,
+              ffi.Pointer<ObjCObject> arg1)>()(arg0, arg1);
+}
+
+final _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureRegistry =
+    <int, Function>{};
+int _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureRegistryIndex = 0;
+ffi.Pointer<ffi.Void>
+    _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_registerClosure(Function fn) {
+  final id = ++_ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureRegistryIndex;
+  _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureRegistry[id] = fn;
+  return ffi.Pointer<ffi.Void>.fromAddress(id);
+}
+
+void _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureTrampoline(
+    ffi.Pointer<_ObjCBlock> block,
+    ffi.Pointer<ObjCObject> arg0,
+    ffi.Pointer<ObjCObject> arg1) {
+  (_ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureRegistry[
+          block.ref.target.address]
+      as void Function(
+          ffi.Pointer<ObjCObject>, ffi.Pointer<ObjCObject>))(arg0, arg1);
+}
+
+class ObjCBlock_ffiVoid_CMPedometerEvent_NSError extends _ObjCBlockBase {
+  ObjCBlock_ffiVoid_CMPedometerEvent_NSError._(
+      ffi.Pointer<_ObjCBlock> id, PedometerBindings lib)
+      : super._(id, lib, retain: false, release: true);
+
+  /// Creates a block from a C function pointer.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CMPedometerEvent_NSError.fromFunctionPointer(
+      PedometerBindings lib,
+      ffi.Pointer<
+              ffi.NativeFunction<
+                  ffi.Void Function(ffi.Pointer<ObjCObject> arg0,
+                      ffi.Pointer<ObjCObject> arg1)>>
+          ptr)
+      : this._(
+            lib
+                ._newBlock1(
+                    _cFuncTrampoline ??= ffi.Pointer.fromFunction<
+                                ffi.Void Function(
+                                    ffi.Pointer<_ObjCBlock> block,
+                                    ffi.Pointer<ObjCObject> arg0,
+                                    ffi.Pointer<ObjCObject> arg1)>(
+                            _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_fnPtrTrampoline)
+                        .cast(),
+                    ptr.cast()),
+            lib);
+  static ffi.Pointer<ffi.Void>? _cFuncTrampoline;
+
+  /// Creates a block from a Dart function.
+  ///
+  /// This block must be invoked by native code running on the same thread as
+  /// the isolate that registered it. Invoking the block on the wrong thread
+  /// will result in a crash.
+  ObjCBlock_ffiVoid_CMPedometerEvent_NSError.fromFunction(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                _dartFuncTrampoline ??= ffi.Pointer.fromFunction<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>(
+                        _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureTrampoline)
+                    .cast(),
+                _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.Pointer<ffi.Void>? _dartFuncTrampoline;
+
+  /// Creates a listener block from a Dart function.
+  ///
+  /// This is based on FFI's NativeCallable.listener, and has the same
+  /// capabilities and limitations. This block can be invoked from any thread,
+  /// but only supports void functions, and is not run synchronously. See
+  /// NativeCallable.listener for more details.
+  ///
+  /// Note that unlike the default behavior of NativeCallable.listener, listener
+  /// blocks do not keep the isolate alive.
+  ObjCBlock_ffiVoid_CMPedometerEvent_NSError.listener(
+      PedometerBindings lib,
+      void Function(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1)
+          fn)
+      : this._(
+            lib._newBlock1(
+                (_dartFuncListenerTrampoline ??= ffi.NativeCallable<
+                            ffi.Void Function(
+                                ffi.Pointer<_ObjCBlock> block,
+                                ffi.Pointer<ObjCObject> arg0,
+                                ffi.Pointer<ObjCObject> arg1)>.listener(
+                        _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_closureTrampoline)
+                      ..keepIsolateAlive = false)
+                    .nativeFunction
+                    .cast(),
+                _ObjCBlock_ffiVoid_CMPedometerEvent_NSError_registerClosure(
+                    fn)),
+            lib);
+  static ffi.NativeCallable<
+      ffi.Void Function(
+          ffi.Pointer<_ObjCBlock> block,
+          ffi.Pointer<ObjCObject> arg0,
+          ffi.Pointer<ObjCObject> arg1)>? _dartFuncListenerTrampoline;
+
+  void call(ffi.Pointer<ObjCObject> arg0, ffi.Pointer<ObjCObject> arg1) {
+    _id.ref.invoke
+        .cast<
+            ffi.NativeFunction<
+                ffi.Void Function(
+                    ffi.Pointer<_ObjCBlock> block,
+                    ffi.Pointer<ObjCObject> arg0,
+                    ffi.Pointer<ObjCObject> arg1)>>()
+        .asFunction<
+            void Function(
+                ffi.Pointer<_ObjCBlock> block,
+                ffi.Pointer<ObjCObject> arg0,
+                ffi.Pointer<ObjCObject> arg1)>()(_id, arg0, arg1);
+  }
+}
+
+class CMPedometerEvent extends NSObject {
+  CMPedometerEvent._(ffi.Pointer<ObjCObject> id, PedometerBindings lib,
+      {bool retain = false, bool release = false})
+      : super._(id, lib, retain: retain, release: release);
+
+  /// Returns a [CMPedometerEvent] that points to the same underlying object as [other].
+  static CMPedometerEvent castFrom<T extends _ObjCWrapper>(T other) {
+    return CMPedometerEvent._(other._id, other._lib,
+        retain: true, release: true);
+  }
+
+  /// Returns a [CMPedometerEvent] that wraps the given raw object pointer.
+  static CMPedometerEvent castFromPointer(
+      PedometerBindings lib, ffi.Pointer<ObjCObject> other,
+      {bool retain = false, bool release = false}) {
+    return CMPedometerEvent._(other, lib, retain: retain, release: release);
+  }
+
+  /// Returns whether [obj] is an instance of [CMPedometerEvent].
+  static bool isInstance(_ObjCWrapper obj) {
+    return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1,
+        obj._lib._class_CMPedometerEvent1);
+  }
+
+  NSDate? get date {
+    final _ret = _lib._objc_msgSend_153(_id, _lib._sel_date1);
+    return _ret.address == 0
+        ? null
+        : NSDate._(_ret, _lib, retain: true, release: true);
+  }
+
+  int get type {
+    return _lib._objc_msgSend_869(_id, _lib._sel_type1);
+  }
+
+  static CMPedometerEvent new1(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_CMPedometerEvent1, _lib._sel_new1);
+    return CMPedometerEvent._(_ret, _lib, retain: false, release: true);
+  }
+
+  static CMPedometerEvent alloc(PedometerBindings _lib) {
+    final _ret =
+        _lib._objc_msgSend_2(_lib._class_CMPedometerEvent1, _lib._sel_alloc1);
+    return CMPedometerEvent._(_ret, _lib, retain: false, release: true);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_selector_object_(
+      PedometerBindings _lib,
+      NSObject aTarget,
+      ffi.Pointer<ObjCSel> aSelector,
+      NSObject anArgument) {
+    _lib._objc_msgSend_14(
+        _lib._class_CMPedometerEvent1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_selector_object_1,
+        aTarget._id,
+        aSelector,
+        anArgument._id);
+  }
+
+  static void cancelPreviousPerformRequestsWithTarget_(
+      PedometerBindings _lib, NSObject aTarget) {
+    _lib._objc_msgSend_15(_lib._class_CMPedometerEvent1,
+        _lib._sel_cancelPreviousPerformRequestsWithTarget_1, aTarget._id);
+  }
+
+  static bool getAccessInstanceVariablesDirectly(PedometerBindings _lib) {
+    return _lib._objc_msgSend_12(_lib._class_CMPedometerEvent1,
+        _lib._sel_accessInstanceVariablesDirectly1);
+  }
+
+  static NSSet keyPathsForValuesAffectingValueForKey_(
+      PedometerBindings _lib, NSString? key) {
+    final _ret = _lib._objc_msgSend_50(
+        _lib._class_CMPedometerEvent1,
+        _lib._sel_keyPathsForValuesAffectingValueForKey_1,
+        key?._id ?? ffi.nullptr);
+    return NSSet._(_ret, _lib, retain: true, release: true);
+  }
+
+  static bool automaticallyNotifiesObserversForKey_(
+      PedometerBindings _lib, NSString? key) {
+    return _lib._objc_msgSend_51(
+        _lib._class_CMPedometerEvent1,
+        _lib._sel_automaticallyNotifiesObserversForKey_1,
+        key?._id ?? ffi.nullptr);
+  }
+
+  static NSArray classFallbacksForKeyedArchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_71(_lib._class_CMPedometerEvent1,
+        _lib._sel_classFallbacksForKeyedArchiver1);
+    return NSArray._(_ret, _lib, retain: true, release: true);
+  }
+
+  static NSObject classForKeyedUnarchiver(PedometerBindings _lib) {
+    final _ret = _lib._objc_msgSend_2(
+        _lib._class_CMPedometerEvent1, _lib._sel_classForKeyedUnarchiver1);
+    return NSObject._(_ret, _lib, retain: true, release: true);
+  }
+}
+
+const int noErr = 0;
+
+const int kNilOptions = 0;
+
+const int kVariableLengthArray = 1;
+
+const int kUnknownType = 1061109567;
+
+const int normal = 0;
+
+const int bold = 1;
+
+const int italic = 2;
+
+const int underline = 4;
+
+const int outline = 8;
+
+const int shadow = 16;
+
+const int condense = 32;
+
+const int extend = 64;
+
+const int developStage = 32;
+
+const int alphaStage = 64;
+
+const int betaStage = 96;
+
+const int finalStage = 128;
+
+const int OSUnknownByteOrder = 0;
+
+const int OSLittleEndian = 1;
+
+const int OSBigEndian = 2;
+
+const int kCFNotificationDeliverImmediately = 1;
+
+const int kCFNotificationPostToAllSessions = 2;
+
+const int kCFCalendarComponentsWrap = 1;
+
+const int kCFSocketAutomaticallyReenableReadCallBack = 1;
+
+const int kCFSocketAutomaticallyReenableAcceptCallBack = 2;
+
+const int kCFSocketAutomaticallyReenableDataCallBack = 3;
+
+const int kCFSocketAutomaticallyReenableWriteCallBack = 8;
+
+const int kCFSocketLeaveErrors = 64;
+
+const int kCFSocketCloseOnInvalidate = 128;
+
+const int DISPATCH_WALLTIME_NOW = -2;
+
+const int kCFPropertyListReadCorruptError = 3840;
+
+const int kCFPropertyListReadUnknownVersionError = 3841;
+
+const int kCFPropertyListReadStreamError = 3842;
+
+const int kCFPropertyListWriteStreamError = 3851;
+
+const int kCFBundleExecutableArchitectureI386 = 7;
+
+const int kCFBundleExecutableArchitecturePPC = 18;
+
+const int kCFBundleExecutableArchitectureX86_64 = 16777223;
+
+const int kCFBundleExecutableArchitecturePPC64 = 16777234;
+
+const int kCFBundleExecutableArchitectureARM64 = 16777228;
+
+const int kCFMessagePortSuccess = 0;
+
+const int kCFMessagePortSendTimeout = -1;
+
+const int kCFMessagePortReceiveTimeout = -2;
+
+const int kCFMessagePortIsInvalid = -3;
+
+const int kCFMessagePortTransportError = -4;
+
+const int kCFMessagePortBecameInvalidError = -5;
+
+const int kCFStringTokenizerUnitWord = 0;
+
+const int kCFStringTokenizerUnitSentence = 1;
+
+const int kCFStringTokenizerUnitParagraph = 2;
+
+const int kCFStringTokenizerUnitLineBreak = 3;
+
+const int kCFStringTokenizerUnitWordBoundary = 4;
+
+const int kCFStringTokenizerAttributeLatinTranscription = 65536;
+
+const int kCFStringTokenizerAttributeLanguage = 131072;
+
+const int kCFFileDescriptorReadCallBack = 1;
+
+const int kCFFileDescriptorWriteCallBack = 2;
+
+const int kCFUserNotificationStopAlertLevel = 0;
+
+const int kCFUserNotificationNoteAlertLevel = 1;
+
+const int kCFUserNotificationCautionAlertLevel = 2;
+
+const int kCFUserNotificationPlainAlertLevel = 3;
+
+const int kCFUserNotificationDefaultResponse = 0;
+
+const int kCFUserNotificationAlternateResponse = 1;
+
+const int kCFUserNotificationOtherResponse = 2;
+
+const int kCFUserNotificationCancelResponse = 3;
+
+const int kCFUserNotificationNoDefaultButtonFlag = 32;
+
+const int kCFUserNotificationUseRadioButtonsFlag = 64;
+
+const int NSASCIIStringEncoding = 1;
+
+const int NSNEXTSTEPStringEncoding = 2;
+
+const int NSJapaneseEUCStringEncoding = 3;
+
+const int NSUTF8StringEncoding = 4;
+
+const int NSISOLatin1StringEncoding = 5;
+
+const int NSSymbolStringEncoding = 6;
+
+const int NSNonLossyASCIIStringEncoding = 7;
+
+const int NSShiftJISStringEncoding = 8;
+
+const int NSISOLatin2StringEncoding = 9;
+
+const int NSUnicodeStringEncoding = 10;
+
+const int NSWindowsCP1251StringEncoding = 11;
+
+const int NSWindowsCP1252StringEncoding = 12;
+
+const int NSWindowsCP1253StringEncoding = 13;
+
+const int NSWindowsCP1254StringEncoding = 14;
+
+const int NSWindowsCP1250StringEncoding = 15;
+
+const int NSISO2022JPStringEncoding = 21;
+
+const int NSMacOSRomanStringEncoding = 30;
+
+const int NSUTF16StringEncoding = 10;
+
+const int NSUTF16BigEndianStringEncoding = 2415919360;
+
+const int NSUTF16LittleEndianStringEncoding = 2483028224;
+
+const int NSUTF32StringEncoding = 2348810496;
+
+const int NSUTF32BigEndianStringEncoding = 2550137088;
+
+const int NSUTF32LittleEndianStringEncoding = 2617245952;
+
+const int NSProprietaryStringEncoding = 65536;
+
+const int NSBundleExecutableArchitectureI386 = 7;
+
+const int NSBundleExecutableArchitecturePPC = 18;
+
+const int NSBundleExecutableArchitectureX86_64 = 16777223;
+
+const int NSBundleExecutableArchitecturePPC64 = 16777234;
+
+const int NSBundleExecutableArchitectureARM64 = 16777228;
+
+const int NS_UnknownByteOrder = 0;
+
+const int NS_LittleEndian = 1;
+
+const int NS_BigEndian = 2;
+
+const int NSWrapCalendarComponents = 1;
+
+const int NSDateComponentUndefined = 9223372036854775807;
+
+const int NSUndefinedDateComponent = 9223372036854775807;
+
+const int NSOpenStepUnicodeReservedBase = 62464;
+
+const int NSWindowsNTOperatingSystem = 1;
+
+const int NSWindows95OperatingSystem = 2;
+
+const int NSSolarisOperatingSystem = 3;
+
+const int NSHPUXOperatingSystem = 4;
+
+const int NSMACHOperatingSystem = 5;
+
+const int NSSunOSOperatingSystem = 6;
+
+const int NSOSF1OperatingSystem = 7;
+
+const int NSTextCheckingAllSystemTypes = 4294967295;
+
+const int NSTextCheckingAllCustomTypes = -4294967296;
+
+const int NSTextCheckingAllTypes = -1;
+
+const int errSecSuccess = 0;
+
+const int errSecUnimplemented = -4;
+
+const int errSecDiskFull = -34;
+
+const int errSecDskFull = -34;
+
+const int errSecIO = -36;
+
+const int errSecOpWr = -49;
+
+const int errSecParam = -50;
+
+const int errSecWrPerm = -61;
+
+const int errSecAllocate = -108;
+
+const int errSecUserCanceled = -128;
+
+const int errSecBadReq = -909;
+
+const int errSecInternalComponent = -2070;
+
+const int errSecCoreFoundationUnknown = -4960;
+
+const int errSecMissingEntitlement = -34018;
+
+const int errSecRestrictedAPI = -34020;
+
+const int errSecNotAvailable = -25291;
+
+const int errSecReadOnly = -25292;
+
+const int errSecAuthFailed = -25293;
+
+const int errSecNoSuchKeychain = -25294;
+
+const int errSecInvalidKeychain = -25295;
+
+const int errSecDuplicateKeychain = -25296;
+
+const int errSecDuplicateCallback = -25297;
+
+const int errSecInvalidCallback = -25298;
+
+const int errSecDuplicateItem = -25299;
+
+const int errSecItemNotFound = -25300;
+
+const int errSecBufferTooSmall = -25301;
+
+const int errSecDataTooLarge = -25302;
+
+const int errSecNoSuchAttr = -25303;
+
+const int errSecInvalidItemRef = -25304;
+
+const int errSecInvalidSearchRef = -25305;
+
+const int errSecNoSuchClass = -25306;
+
+const int errSecNoDefaultKeychain = -25307;
+
+const int errSecInteractionNotAllowed = -25308;
+
+const int errSecReadOnlyAttr = -25309;
+
+const int errSecWrongSecVersion = -25310;
+
+const int errSecKeySizeNotAllowed = -25311;
+
+const int errSecNoStorageModule = -25312;
+
+const int errSecNoCertificateModule = -25313;
+
+const int errSecNoPolicyModule = -25314;
+
+const int errSecInteractionRequired = -25315;
+
+const int errSecDataNotAvailable = -25316;
+
+const int errSecDataNotModifiable = -25317;
+
+const int errSecCreateChainFailed = -25318;
+
+const int errSecInvalidPrefsDomain = -25319;
+
+const int errSecInDarkWake = -25320;
+
+const int errSecACLNotSimple = -25240;
+
+const int errSecPolicyNotFound = -25241;
+
+const int errSecInvalidTrustSetting = -25242;
+
+const int errSecNoAccessForItem = -25243;
+
+const int errSecInvalidOwnerEdit = -25244;
+
+const int errSecTrustNotAvailable = -25245;
+
+const int errSecUnsupportedFormat = -25256;
+
+const int errSecUnknownFormat = -25257;
+
+const int errSecKeyIsSensitive = -25258;
+
+const int errSecMultiplePrivKeys = -25259;
+
+const int errSecPassphraseRequired = -25260;
+
+const int errSecInvalidPasswordRef = -25261;
+
+const int errSecInvalidTrustSettings = -25262;
+
+const int errSecNoTrustSettings = -25263;
+
+const int errSecPkcs12VerifyFailure = -25264;
+
+const int errSecNotSigner = -26267;
+
+const int errSecDecode = -26275;
+
+const int errSecServiceNotAvailable = -67585;
+
+const int errSecInsufficientClientID = -67586;
+
+const int errSecDeviceReset = -67587;
+
+const int errSecDeviceFailed = -67588;
+
+const int errSecAppleAddAppACLSubject = -67589;
+
+const int errSecApplePublicKeyIncomplete = -67590;
+
+const int errSecAppleSignatureMismatch = -67591;
+
+const int errSecAppleInvalidKeyStartDate = -67592;
+
+const int errSecAppleInvalidKeyEndDate = -67593;
+
+const int errSecConversionError = -67594;
+
+const int errSecAppleSSLv2Rollback = -67595;
+
+const int errSecQuotaExceeded = -67596;
+
+const int errSecFileTooBig = -67597;
+
+const int errSecInvalidDatabaseBlob = -67598;
+
+const int errSecInvalidKeyBlob = -67599;
+
+const int errSecIncompatibleDatabaseBlob = -67600;
+
+const int errSecIncompatibleKeyBlob = -67601;
+
+const int errSecHostNameMismatch = -67602;
+
+const int errSecUnknownCriticalExtensionFlag = -67603;
+
+const int errSecNoBasicConstraints = -67604;
+
+const int errSecNoBasicConstraintsCA = -67605;
+
+const int errSecInvalidAuthorityKeyID = -67606;
+
+const int errSecInvalidSubjectKeyID = -67607;
+
+const int errSecInvalidKeyUsageForPolicy = -67608;
+
+const int errSecInvalidExtendedKeyUsage = -67609;
+
+const int errSecInvalidIDLinkage = -67610;
+
+const int errSecPathLengthConstraintExceeded = -67611;
+
+const int errSecInvalidRoot = -67612;
+
+const int errSecCRLExpired = -67613;
+
+const int errSecCRLNotValidYet = -67614;
+
+const int errSecCRLNotFound = -67615;
+
+const int errSecCRLServerDown = -67616;
+
+const int errSecCRLBadURI = -67617;
+
+const int errSecUnknownCertExtension = -67618;
+
+const int errSecUnknownCRLExtension = -67619;
+
+const int errSecCRLNotTrusted = -67620;
+
+const int errSecCRLPolicyFailed = -67621;
+
+const int errSecIDPFailure = -67622;
+
+const int errSecSMIMEEmailAddressesNotFound = -67623;
+
+const int errSecSMIMEBadExtendedKeyUsage = -67624;
+
+const int errSecSMIMEBadKeyUsage = -67625;
+
+const int errSecSMIMEKeyUsageNotCritical = -67626;
+
+const int errSecSMIMENoEmailAddress = -67627;
+
+const int errSecSMIMESubjAltNameNotCritical = -67628;
+
+const int errSecSSLBadExtendedKeyUsage = -67629;
+
+const int errSecOCSPBadResponse = -67630;
+
+const int errSecOCSPBadRequest = -67631;
+
+const int errSecOCSPUnavailable = -67632;
+
+const int errSecOCSPStatusUnrecognized = -67633;
+
+const int errSecEndOfData = -67634;
+
+const int errSecIncompleteCertRevocationCheck = -67635;
+
+const int errSecNetworkFailure = -67636;
+
+const int errSecOCSPNotTrustedToAnchor = -67637;
+
+const int errSecRecordModified = -67638;
+
+const int errSecOCSPSignatureError = -67639;
+
+const int errSecOCSPNoSigner = -67640;
+
+const int errSecOCSPResponderMalformedReq = -67641;
+
+const int errSecOCSPResponderInternalError = -67642;
+
+const int errSecOCSPResponderTryLater = -67643;
+
+const int errSecOCSPResponderSignatureRequired = -67644;
+
+const int errSecOCSPResponderUnauthorized = -67645;
+
+const int errSecOCSPResponseNonceMismatch = -67646;
+
+const int errSecCodeSigningBadCertChainLength = -67647;
+
+const int errSecCodeSigningNoBasicConstraints = -67648;
+
+const int errSecCodeSigningBadPathLengthConstraint = -67649;
+
+const int errSecCodeSigningNoExtendedKeyUsage = -67650;
+
+const int errSecCodeSigningDevelopment = -67651;
+
+const int errSecResourceSignBadCertChainLength = -67652;
+
+const int errSecResourceSignBadExtKeyUsage = -67653;
+
+const int errSecTrustSettingDeny = -67654;
+
+const int errSecInvalidSubjectName = -67655;
+
+const int errSecUnknownQualifiedCertStatement = -67656;
+
+const int errSecMobileMeRequestQueued = -67657;
+
+const int errSecMobileMeRequestRedirected = -67658;
+
+const int errSecMobileMeServerError = -67659;
+
+const int errSecMobileMeServerNotAvailable = -67660;
+
+const int errSecMobileMeServerAlreadyExists = -67661;
+
+const int errSecMobileMeServerServiceErr = -67662;
+
+const int errSecMobileMeRequestAlreadyPending = -67663;
+
+const int errSecMobileMeNoRequestPending = -67664;
+
+const int errSecMobileMeCSRVerifyFailure = -67665;
+
+const int errSecMobileMeFailedConsistencyCheck = -67666;
+
+const int errSecNotInitialized = -67667;
+
+const int errSecInvalidHandleUsage = -67668;
+
+const int errSecPVCReferentNotFound = -67669;
+
+const int errSecFunctionIntegrityFail = -67670;
+
+const int errSecInternalError = -67671;
+
+const int errSecMemoryError = -67672;
+
+const int errSecInvalidData = -67673;
+
+const int errSecMDSError = -67674;
+
+const int errSecInvalidPointer = -67675;
+
+const int errSecSelfCheckFailed = -67676;
+
+const int errSecFunctionFailed = -67677;
+
+const int errSecModuleManifestVerifyFailed = -67678;
+
+const int errSecInvalidGUID = -67679;
+
+const int errSecInvalidHandle = -67680;
+
+const int errSecInvalidDBList = -67681;
+
+const int errSecInvalidPassthroughID = -67682;
+
+const int errSecInvalidNetworkAddress = -67683;
+
+const int errSecCRLAlreadySigned = -67684;
+
+const int errSecInvalidNumberOfFields = -67685;
+
+const int errSecVerificationFailure = -67686;
+
+const int errSecUnknownTag = -67687;
+
+const int errSecInvalidSignature = -67688;
+
+const int errSecInvalidName = -67689;
+
+const int errSecInvalidCertificateRef = -67690;
+
+const int errSecInvalidCertificateGroup = -67691;
+
+const int errSecTagNotFound = -67692;
+
+const int errSecInvalidQuery = -67693;
+
+const int errSecInvalidValue = -67694;
+
+const int errSecCallbackFailed = -67695;
+
+const int errSecACLDeleteFailed = -67696;
+
+const int errSecACLReplaceFailed = -67697;
+
+const int errSecACLAddFailed = -67698;
+
+const int errSecACLChangeFailed = -67699;
+
+const int errSecInvalidAccessCredentials = -67700;
+
+const int errSecInvalidRecord = -67701;
+
+const int errSecInvalidACL = -67702;
+
+const int errSecInvalidSampleValue = -67703;
+
+const int errSecIncompatibleVersion = -67704;
+
+const int errSecPrivilegeNotGranted = -67705;
+
+const int errSecInvalidScope = -67706;
+
+const int errSecPVCAlreadyConfigured = -67707;
+
+const int errSecInvalidPVC = -67708;
+
+const int errSecEMMLoadFailed = -67709;
+
+const int errSecEMMUnloadFailed = -67710;
+
+const int errSecAddinLoadFailed = -67711;
+
+const int errSecInvalidKeyRef = -67712;
+
+const int errSecInvalidKeyHierarchy = -67713;
+
+const int errSecAddinUnloadFailed = -67714;
+
+const int errSecLibraryReferenceNotFound = -67715;
+
+const int errSecInvalidAddinFunctionTable = -67716;
+
+const int errSecInvalidServiceMask = -67717;
+
+const int errSecModuleNotLoaded = -67718;
+
+const int errSecInvalidSubServiceID = -67719;
+
+const int errSecAttributeNotInContext = -67720;
+
+const int errSecModuleManagerInitializeFailed = -67721;
+
+const int errSecModuleManagerNotFound = -67722;
+
+const int errSecEventNotificationCallbackNotFound = -67723;
+
+const int errSecInputLengthError = -67724;
+
+const int errSecOutputLengthError = -67725;
+
+const int errSecPrivilegeNotSupported = -67726;
+
+const int errSecDeviceError = -67727;
+
+const int errSecAttachHandleBusy = -67728;
+
+const int errSecNotLoggedIn = -67729;
+
+const int errSecAlgorithmMismatch = -67730;
+
+const int errSecKeyUsageIncorrect = -67731;
+
+const int errSecKeyBlobTypeIncorrect = -67732;
+
+const int errSecKeyHeaderInconsistent = -67733;
+
+const int errSecUnsupportedKeyFormat = -67734;
+
+const int errSecUnsupportedKeySize = -67735;
+
+const int errSecInvalidKeyUsageMask = -67736;
+
+const int errSecUnsupportedKeyUsageMask = -67737;
+
+const int errSecInvalidKeyAttributeMask = -67738;
+
+const int errSecUnsupportedKeyAttributeMask = -67739;
+
+const int errSecInvalidKeyLabel = -67740;
+
+const int errSecUnsupportedKeyLabel = -67741;
+
+const int errSecInvalidKeyFormat = -67742;
+
+const int errSecUnsupportedVectorOfBuffers = -67743;
+
+const int errSecInvalidInputVector = -67744;
+
+const int errSecInvalidOutputVector = -67745;
+
+const int errSecInvalidContext = -67746;
+
+const int errSecInvalidAlgorithm = -67747;
+
+const int errSecInvalidAttributeKey = -67748;
+
+const int errSecMissingAttributeKey = -67749;
+
+const int errSecInvalidAttributeInitVector = -67750;
+
+const int errSecMissingAttributeInitVector = -67751;
+
+const int errSecInvalidAttributeSalt = -67752;
+
+const int errSecMissingAttributeSalt = -67753;
+
+const int errSecInvalidAttributePadding = -67754;
+
+const int errSecMissingAttributePadding = -67755;
+
+const int errSecInvalidAttributeRandom = -67756;
+
+const int errSecMissingAttributeRandom = -67757;
+
+const int errSecInvalidAttributeSeed = -67758;
+
+const int errSecMissingAttributeSeed = -67759;
+
+const int errSecInvalidAttributePassphrase = -67760;
+
+const int errSecMissingAttributePassphrase = -67761;
+
+const int errSecInvalidAttributeKeyLength = -67762;
+
+const int errSecMissingAttributeKeyLength = -67763;
+
+const int errSecInvalidAttributeBlockSize = -67764;
+
+const int errSecMissingAttributeBlockSize = -67765;
+
+const int errSecInvalidAttributeOutputSize = -67766;
+
+const int errSecMissingAttributeOutputSize = -67767;
+
+const int errSecInvalidAttributeRounds = -67768;
+
+const int errSecMissingAttributeRounds = -67769;
+
+const int errSecInvalidAlgorithmParms = -67770;
+
+const int errSecMissingAlgorithmParms = -67771;
+
+const int errSecInvalidAttributeLabel = -67772;
+
+const int errSecMissingAttributeLabel = -67773;
+
+const int errSecInvalidAttributeKeyType = -67774;
+
+const int errSecMissingAttributeKeyType = -67775;
+
+const int errSecInvalidAttributeMode = -67776;
+
+const int errSecMissingAttributeMode = -67777;
+
+const int errSecInvalidAttributeEffectiveBits = -67778;
+
+const int errSecMissingAttributeEffectiveBits = -67779;
+
+const int errSecInvalidAttributeStartDate = -67780;
+
+const int errSecMissingAttributeStartDate = -67781;
+
+const int errSecInvalidAttributeEndDate = -67782;
+
+const int errSecMissingAttributeEndDate = -67783;
+
+const int errSecInvalidAttributeVersion = -67784;
+
+const int errSecMissingAttributeVersion = -67785;
+
+const int errSecInvalidAttributePrime = -67786;
+
+const int errSecMissingAttributePrime = -67787;
+
+const int errSecInvalidAttributeBase = -67788;
+
+const int errSecMissingAttributeBase = -67789;
+
+const int errSecInvalidAttributeSubprime = -67790;
+
+const int errSecMissingAttributeSubprime = -67791;
+
+const int errSecInvalidAttributeIterationCount = -67792;
+
+const int errSecMissingAttributeIterationCount = -67793;
+
+const int errSecInvalidAttributeDLDBHandle = -67794;
+
+const int errSecMissingAttributeDLDBHandle = -67795;
+
+const int errSecInvalidAttributeAccessCredentials = -67796;
+
+const int errSecMissingAttributeAccessCredentials = -67797;
+
+const int errSecInvalidAttributePublicKeyFormat = -67798;
+
+const int errSecMissingAttributePublicKeyFormat = -67799;
+
+const int errSecInvalidAttributePrivateKeyFormat = -67800;
+
+const int errSecMissingAttributePrivateKeyFormat = -67801;
+
+const int errSecInvalidAttributeSymmetricKeyFormat = -67802;
+
+const int errSecMissingAttributeSymmetricKeyFormat = -67803;
+
+const int errSecInvalidAttributeWrappedKeyFormat = -67804;
+
+const int errSecMissingAttributeWrappedKeyFormat = -67805;
+
+const int errSecStagedOperationInProgress = -67806;
+
+const int errSecStagedOperationNotStarted = -67807;
+
+const int errSecVerifyFailed = -67808;
+
+const int errSecQuerySizeUnknown = -67809;
+
+const int errSecBlockSizeMismatch = -67810;
+
+const int errSecPublicKeyInconsistent = -67811;
+
+const int errSecDeviceVerifyFailed = -67812;
+
+const int errSecInvalidLoginName = -67813;
+
+const int errSecAlreadyLoggedIn = -67814;
+
+const int errSecInvalidDigestAlgorithm = -67815;
+
+const int errSecInvalidCRLGroup = -67816;
+
+const int errSecCertificateCannotOperate = -67817;
+
+const int errSecCertificateExpired = -67818;
+
+const int errSecCertificateNotValidYet = -67819;
+
+const int errSecCertificateRevoked = -67820;
+
+const int errSecCertificateSuspended = -67821;
+
+const int errSecInsufficientCredentials = -67822;
+
+const int errSecInvalidAction = -67823;
+
+const int errSecInvalidAuthority = -67824;
+
+const int errSecVerifyActionFailed = -67825;
+
+const int errSecInvalidCertAuthority = -67826;
+
+const int errSecInvalidCRLAuthority = -67827;
+
+const int errSecInvaldCRLAuthority = -67827;
+
+const int errSecInvalidCRLEncoding = -67828;
+
+const int errSecInvalidCRLType = -67829;
+
+const int errSecInvalidCRL = -67830;
+
+const int errSecInvalidFormType = -67831;
+
+const int errSecInvalidID = -67832;
+
+const int errSecInvalidIdentifier = -67833;
+
+const int errSecInvalidIndex = -67834;
+
+const int errSecInvalidPolicyIdentifiers = -67835;
+
+const int errSecInvalidTimeString = -67836;
+
+const int errSecInvalidReason = -67837;
+
+const int errSecInvalidRequestInputs = -67838;
+
+const int errSecInvalidResponseVector = -67839;
+
+const int errSecInvalidStopOnPolicy = -67840;
+
+const int errSecInvalidTuple = -67841;
+
+const int errSecMultipleValuesUnsupported = -67842;
+
+const int errSecNotTrusted = -67843;
+
+const int errSecNoDefaultAuthority = -67844;
+
+const int errSecRejectedForm = -67845;
+
+const int errSecRequestLost = -67846;
+
+const int errSecRequestRejected = -67847;
+
+const int errSecUnsupportedAddressType = -67848;
+
+const int errSecUnsupportedService = -67849;
+
+const int errSecInvalidTupleGroup = -67850;
+
+const int errSecInvalidBaseACLs = -67851;
+
+const int errSecInvalidTupleCredentials = -67852;
+
+const int errSecInvalidTupleCredendtials = -67852;
+
+const int errSecInvalidEncoding = -67853;
+
+const int errSecInvalidValidityPeriod = -67854;
+
+const int errSecInvalidRequestor = -67855;
+
+const int errSecRequestDescriptor = -67856;
+
+const int errSecInvalidBundleInfo = -67857;
+
+const int errSecInvalidCRLIndex = -67858;
+
+const int errSecNoFieldValues = -67859;
+
+const int errSecUnsupportedFieldFormat = -67860;
+
+const int errSecUnsupportedIndexInfo = -67861;
+
+const int errSecUnsupportedLocality = -67862;
+
+const int errSecUnsupportedNumAttributes = -67863;
+
+const int errSecUnsupportedNumIndexes = -67864;
+
+const int errSecUnsupportedNumRecordTypes = -67865;
+
+const int errSecFieldSpecifiedMultiple = -67866;
+
+const int errSecIncompatibleFieldFormat = -67867;
+
+const int errSecInvalidParsingModule = -67868;
+
+const int errSecDatabaseLocked = -67869;
+
+const int errSecDatastoreIsOpen = -67870;
+
+const int errSecMissingValue = -67871;
+
+const int errSecUnsupportedQueryLimits = -67872;
+
+const int errSecUnsupportedNumSelectionPreds = -67873;
+
+const int errSecUnsupportedOperator = -67874;
+
+const int errSecInvalidDBLocation = -67875;
+
+const int errSecInvalidAccessRequest = -67876;
+
+const int errSecInvalidIndexInfo = -67877;
+
+const int errSecInvalidNewOwner = -67878;
+
+const int errSecInvalidModifyMode = -67879;
+
+const int errSecMissingRequiredExtension = -67880;
+
+const int errSecExtendedKeyUsageNotCritical = -67881;
+
+const int errSecTimestampMissing = -67882;
+
+const int errSecTimestampInvalid = -67883;
+
+const int errSecTimestampNotTrusted = -67884;
+
+const int errSecTimestampServiceNotAvailable = -67885;
+
+const int errSecTimestampBadAlg = -67886;
+
+const int errSecTimestampBadRequest = -67887;
+
+const int errSecTimestampBadDataFormat = -67888;
+
+const int errSecTimestampTimeNotAvailable = -67889;
+
+const int errSecTimestampUnacceptedPolicy = -67890;
+
+const int errSecTimestampUnacceptedExtension = -67891;
+
+const int errSecTimestampAddInfoNotAvailable = -67892;
+
+const int errSecTimestampSystemFailure = -67893;
+
+const int errSecSigningTimeMissing = -67894;
+
+const int errSecTimestampRejection = -67895;
+
+const int errSecTimestampWaiting = -67896;
+
+const int errSecTimestampRevocationWarning = -67897;
+
+const int errSecTimestampRevocationNotification = -67898;
+
+const int errSecCertificatePolicyNotAllowed = -67899;
+
+const int errSecCertificateNameNotAllowed = -67900;
+
+const int errSecCertificateValidityPeriodTooLong = -67901;
+
+const int errSecCertificateIsCA = -67902;
+
+const int errSecCertificateDuplicateExtension = -67903;
+
+const int errSSLProtocol = -9800;
+
+const int errSSLNegotiation = -9801;
+
+const int errSSLFatalAlert = -9802;
+
+const int errSSLWouldBlock = -9803;
+
+const int errSSLSessionNotFound = -9804;
+
+const int errSSLClosedGraceful = -9805;
+
+const int errSSLClosedAbort = -9806;
+
+const int errSSLXCertChainInvalid = -9807;
+
+const int errSSLBadCert = -9808;
+
+const int errSSLCrypto = -9809;
+
+const int errSSLInternal = -9810;
+
+const int errSSLModuleAttach = -9811;
+
+const int errSSLUnknownRootCert = -9812;
+
+const int errSSLNoRootCert = -9813;
+
+const int errSSLCertExpired = -9814;
+
+const int errSSLCertNotYetValid = -9815;
+
+const int errSSLClosedNoNotify = -9816;
+
+const int errSSLBufferOverflow = -9817;
+
+const int errSSLBadCipherSuite = -9818;
+
+const int errSSLPeerUnexpectedMsg = -9819;
+
+const int errSSLPeerBadRecordMac = -9820;
+
+const int errSSLPeerDecryptionFail = -9821;
+
+const int errSSLPeerRecordOverflow = -9822;
+
+const int errSSLPeerDecompressFail = -9823;
+
+const int errSSLPeerHandshakeFail = -9824;
+
+const int errSSLPeerBadCert = -9825;
+
+const int errSSLPeerUnsupportedCert = -9826;
+
+const int errSSLPeerCertRevoked = -9827;
+
+const int errSSLPeerCertExpired = -9828;
+
+const int errSSLPeerCertUnknown = -9829;
+
+const int errSSLIllegalParam = -9830;
+
+const int errSSLPeerUnknownCA = -9831;
+
+const int errSSLPeerAccessDenied = -9832;
+
+const int errSSLPeerDecodeError = -9833;
+
+const int errSSLPeerDecryptError = -9834;
+
+const int errSSLPeerExportRestriction = -9835;
+
+const int errSSLPeerProtocolVersion = -9836;
+
+const int errSSLPeerInsufficientSecurity = -9837;
+
+const int errSSLPeerInternalError = -9838;
+
+const int errSSLPeerUserCancelled = -9839;
+
+const int errSSLPeerNoRenegotiation = -9840;
+
+const int errSSLPeerAuthCompleted = -9841;
+
+const int errSSLClientCertRequested = -9842;
+
+const int errSSLHostNameMismatch = -9843;
+
+const int errSSLConnectionRefused = -9844;
+
+const int errSSLDecryptionFail = -9845;
+
+const int errSSLBadRecordMac = -9846;
+
+const int errSSLRecordOverflow = -9847;
+
+const int errSSLBadConfiguration = -9848;
+
+const int errSSLUnexpectedRecord = -9849;
+
+const int errSSLWeakPeerEphemeralDHKey = -9850;
+
+const int errSSLClientHelloReceived = -9851;
+
+const int errSSLTransportReset = -9852;
+
+const int errSSLNetworkTimeout = -9853;
+
+const int errSSLConfigurationFailed = -9854;
+
+const int errSSLUnsupportedExtension = -9855;
+
+const int errSSLUnexpectedMessage = -9856;
+
+const int errSSLDecompressFail = -9857;
+
+const int errSSLHandshakeFail = -9858;
+
+const int errSSLDecodeError = -9859;
+
+const int errSSLInappropriateFallback = -9860;
+
+const int errSSLMissingExtension = -9861;
+
+const int errSSLBadCertificateStatusResponse = -9862;
+
+const int errSSLCertificateRequired = -9863;
+
+const int errSSLUnknownPSKIdentity = -9864;
+
+const int errSSLUnrecognizedName = -9865;
+
+const int errSSLATSViolation = -9880;
+
+const int errSSLATSMinimumVersionViolation = -9881;
+
+const int errSSLATSCiphersuiteViolation = -9882;
+
+const int errSSLATSMinimumKeySizeViolation = -9883;
+
+const int errSSLATSLeafCertificateHashAlgorithmViolation = -9884;
+
+const int errSSLATSCertificateHashAlgorithmViolation = -9885;
+
+const int errSSLATSCertificateTrustViolation = -9886;
+
+const int errSSLEarlyDataRejected = -9890;
+
+const int kSecRevocationOCSPMethod = 1;
+
+const int kSecRevocationCRLMethod = 2;
+
+const int kSecRevocationPreferCRL = 4;
+
+const int kSecRevocationRequirePositiveResponse = 8;
+
+const int kSecRevocationNetworkAccessDisabled = 16;
+
+const int kSecRevocationUseAnyAvailableMethod = 3;
+
+const int SSL_NULL_WITH_NULL_NULL = 0;
+
+const int SSL_RSA_WITH_NULL_MD5 = 1;
+
+const int SSL_RSA_WITH_NULL_SHA = 2;
+
+const int SSL_RSA_EXPORT_WITH_RC4_40_MD5 = 3;
+
+const int SSL_RSA_WITH_RC4_128_MD5 = 4;
+
+const int SSL_RSA_WITH_RC4_128_SHA = 5;
+
+const int SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6;
+
+const int SSL_RSA_WITH_IDEA_CBC_SHA = 7;
+
+const int SSL_RSA_EXPORT_WITH_DES40_CBC_SHA = 8;
+
+const int SSL_RSA_WITH_DES_CBC_SHA = 9;
+
+const int SSL_RSA_WITH_3DES_EDE_CBC_SHA = 10;
+
+const int SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11;
+
+const int SSL_DH_DSS_WITH_DES_CBC_SHA = 12;
+
+const int SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13;
+
+const int SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14;
+
+const int SSL_DH_RSA_WITH_DES_CBC_SHA = 15;
+
+const int SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16;
+
+const int SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17;
+
+const int SSL_DHE_DSS_WITH_DES_CBC_SHA = 18;
+
+const int SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19;
+
+const int SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20;
+
+const int SSL_DHE_RSA_WITH_DES_CBC_SHA = 21;
+
+const int SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22;
+
+const int SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23;
+
+const int SSL_DH_anon_WITH_RC4_128_MD5 = 24;
+
+const int SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25;
+
+const int SSL_DH_anon_WITH_DES_CBC_SHA = 26;
+
+const int SSL_DH_anon_WITH_3DES_EDE_CBC_SHA = 27;
+
+const int SSL_FORTEZZA_DMS_WITH_NULL_SHA = 28;
+
+const int SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA = 29;
+
+const int TLS_RSA_WITH_AES_128_CBC_SHA = 47;
+
+const int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48;
+
+const int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49;
+
+const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50;
+
+const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51;
+
+const int TLS_DH_anon_WITH_AES_128_CBC_SHA = 52;
+
+const int TLS_RSA_WITH_AES_256_CBC_SHA = 53;
+
+const int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54;
+
+const int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55;
+
+const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56;
+
+const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57;
+
+const int TLS_DH_anon_WITH_AES_256_CBC_SHA = 58;
+
+const int TLS_ECDH_ECDSA_WITH_NULL_SHA = -16383;
+
+const int TLS_ECDH_ECDSA_WITH_RC4_128_SHA = -16382;
+
+const int TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = -16381;
+
+const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = -16380;
+
+const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = -16379;
+
+const int TLS_ECDHE_ECDSA_WITH_NULL_SHA = -16378;
+
+const int TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = -16377;
+
+const int TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = -16376;
+
+const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = -16375;
+
+const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = -16374;
+
+const int TLS_ECDH_RSA_WITH_NULL_SHA = -16373;
+
+const int TLS_ECDH_RSA_WITH_RC4_128_SHA = -16372;
+
+const int TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = -16371;
+
+const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = -16370;
+
+const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = -16369;
+
+const int TLS_ECDHE_RSA_WITH_NULL_SHA = -16368;
+
+const int TLS_ECDHE_RSA_WITH_RC4_128_SHA = -16367;
+
+const int TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = -16366;
+
+const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = -16365;
+
+const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = -16364;
+
+const int TLS_ECDH_anon_WITH_NULL_SHA = -16363;
+
+const int TLS_ECDH_anon_WITH_RC4_128_SHA = -16362;
+
+const int TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = -16361;
+
+const int TLS_ECDH_anon_WITH_AES_128_CBC_SHA = -16360;
+
+const int TLS_ECDH_anon_WITH_AES_256_CBC_SHA = -16359;
+
+const int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = -16331;
+
+const int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = -16330;
+
+const int TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = -13141;
+
+const int TLS_NULL_WITH_NULL_NULL = 0;
+
+const int TLS_RSA_WITH_NULL_MD5 = 1;
+
+const int TLS_RSA_WITH_NULL_SHA = 2;
+
+const int TLS_RSA_WITH_RC4_128_MD5 = 4;
+
+const int TLS_RSA_WITH_RC4_128_SHA = 5;
+
+const int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10;
+
+const int TLS_RSA_WITH_NULL_SHA256 = 59;
+
+const int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60;
+
+const int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61;
+
+const int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13;
+
+const int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16;
+
+const int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19;
+
+const int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22;
+
+const int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62;
+
+const int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63;
+
+const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64;
+
+const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103;
+
+const int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104;
+
+const int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105;
+
+const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106;
+
+const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107;
+
+const int TLS_DH_anon_WITH_RC4_128_MD5 = 24;
+
+const int TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 27;
+
+const int TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 108;
+
+const int TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 109;
+
+const int TLS_PSK_WITH_RC4_128_SHA = 138;
+
+const int TLS_PSK_WITH_3DES_EDE_CBC_SHA = 139;
+
+const int TLS_PSK_WITH_AES_128_CBC_SHA = 140;
+
+const int TLS_PSK_WITH_AES_256_CBC_SHA = 141;
+
+const int TLS_DHE_PSK_WITH_RC4_128_SHA = 142;
+
+const int TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 143;
+
+const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 144;
+
+const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 145;
+
+const int TLS_RSA_PSK_WITH_RC4_128_SHA = 146;
+
+const int TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 147;
+
+const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 148;
+
+const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 149;
+
+const int TLS_PSK_WITH_NULL_SHA = 44;
+
+const int TLS_DHE_PSK_WITH_NULL_SHA = 45;
+
+const int TLS_RSA_PSK_WITH_NULL_SHA = 46;
+
+const int TLS_RSA_WITH_AES_128_GCM_SHA256 = 156;
+
+const int TLS_RSA_WITH_AES_256_GCM_SHA384 = 157;
+
+const int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158;
+
+const int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159;
+
+const int TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 160;
+
+const int TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 161;
+
+const int TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 162;
+
+const int TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 163;
+
+const int TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 164;
+
+const int TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165;
+
+const int TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 166;
+
+const int TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 167;
+
+const int TLS_PSK_WITH_AES_128_GCM_SHA256 = 168;
+
+const int TLS_PSK_WITH_AES_256_GCM_SHA384 = 169;
+
+const int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170;
+
+const int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171;
+
+const int TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172;
+
+const int TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173;
+
+const int TLS_PSK_WITH_AES_128_CBC_SHA256 = 174;
+
+const int TLS_PSK_WITH_AES_256_CBC_SHA384 = 175;
+
+const int TLS_PSK_WITH_NULL_SHA256 = 176;
+
+const int TLS_PSK_WITH_NULL_SHA384 = 177;
+
+const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178;
+
+const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179;
+
+const int TLS_DHE_PSK_WITH_NULL_SHA256 = 180;
+
+const int TLS_DHE_PSK_WITH_NULL_SHA384 = 181;
+
+const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182;
+
+const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183;
+
+const int TLS_RSA_PSK_WITH_NULL_SHA256 = 184;
+
+const int TLS_RSA_PSK_WITH_NULL_SHA384 = 185;
+
+const int TLS_AES_128_GCM_SHA256 = 4865;
+
+const int TLS_AES_256_GCM_SHA384 = 4866;
+
+const int TLS_CHACHA20_POLY1305_SHA256 = 4867;
+
+const int TLS_AES_128_CCM_SHA256 = 4868;
+
+const int TLS_AES_128_CCM_8_SHA256 = 4869;
+
+const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = -16349;
+
+const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = -16348;
+
+const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = -16347;
+
+const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = -16346;
+
+const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = -16345;
+
+const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = -16344;
+
+const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = -16343;
+
+const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = -16342;
+
+const int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = -16341;
+
+const int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = -16340;
+
+const int TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = -16339;
+
+const int TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = -16338;
+
+const int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = -16337;
+
+const int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = -16336;
+
+const int TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = -16335;
+
+const int TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = -16334;
+
+const int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = -13144;
+
+const int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = -13143;
+
+const int TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255;
+
+const int SSL_RSA_WITH_RC2_CBC_MD5 = -128;
+
+const int SSL_RSA_WITH_IDEA_CBC_MD5 = -127;
+
+const int SSL_RSA_WITH_DES_CBC_MD5 = -126;
+
+const int SSL_RSA_WITH_3DES_EDE_CBC_MD5 = -125;
+
+const int SSL_NO_SUCH_CIPHERSUITE = -1;
+
+const int kCFStreamErrorSOCKSSubDomainNone = 0;
+
+const int kCFStreamErrorSOCKSSubDomainVersionCode = 1;
+
+const int kCFStreamErrorSOCKS4SubDomainResponse = 2;
+
+const int kCFStreamErrorSOCKS5SubDomainUserPass = 3;
+
+const int kCFStreamErrorSOCKS5SubDomainMethod = 4;
+
+const int kCFStreamErrorSOCKS5SubDomainResponse = 5;
+
+const int kCFStreamErrorSOCKS5BadResponseAddr = 1;
+
+const int kCFStreamErrorSOCKS5BadState = 2;
+
+const int kCFStreamErrorSOCKSUnknownClientVersion = 3;
+
+const int kCFStreamErrorSOCKS4RequestFailed = 91;
+
+const int kCFStreamErrorSOCKS4IdentdFailed = 92;
+
+const int kCFStreamErrorSOCKS4IdConflict = 93;
+
+const int kSOCKS5NoAcceptableMethod = 255;
+
+const int NSURLErrorCancelledReasonUserForceQuitApplication = 0;
+
+const int NSURLErrorCancelledReasonBackgroundUpdatesDisabled = 1;
+
+const int NSURLErrorCancelledReasonInsufficientSystemResources = 2;
+
+const int NSURLErrorUnknown = -1;
+
+const int NSURLErrorCancelled = -999;
+
+const int NSURLErrorBadURL = -1000;
+
+const int NSURLErrorTimedOut = -1001;
+
+const int NSURLErrorUnsupportedURL = -1002;
+
+const int NSURLErrorCannotFindHost = -1003;
+
+const int NSURLErrorCannotConnectToHost = -1004;
+
+const int NSURLErrorNetworkConnectionLost = -1005;
+
+const int NSURLErrorDNSLookupFailed = -1006;
+
+const int NSURLErrorHTTPTooManyRedirects = -1007;
+
+const int NSURLErrorResourceUnavailable = -1008;
+
+const int NSURLErrorNotConnectedToInternet = -1009;
+
+const int NSURLErrorRedirectToNonExistentLocation = -1010;
+
+const int NSURLErrorBadServerResponse = -1011;
+
+const int NSURLErrorUserCancelledAuthentication = -1012;
+
+const int NSURLErrorUserAuthenticationRequired = -1013;
+
+const int NSURLErrorZeroByteResource = -1014;
+
+const int NSURLErrorCannotDecodeRawData = -1015;
+
+const int NSURLErrorCannotDecodeContentData = -1016;
+
+const int NSURLErrorCannotParseResponse = -1017;
+
+const int NSURLErrorAppTransportSecurityRequiresSecureConnection = -1022;
+
+const int NSURLErrorFileDoesNotExist = -1100;
+
+const int NSURLErrorFileIsDirectory = -1101;
+
+const int NSURLErrorNoPermissionsToReadFile = -1102;
+
+const int NSURLErrorDataLengthExceedsMaximum = -1103;
+
+const int NSURLErrorFileOutsideSafeArea = -1104;
+
+const int NSURLErrorSecureConnectionFailed = -1200;
+
+const int NSURLErrorServerCertificateHasBadDate = -1201;
+
+const int NSURLErrorServerCertificateUntrusted = -1202;
+
+const int NSURLErrorServerCertificateHasUnknownRoot = -1203;
+
+const int NSURLErrorServerCertificateNotYetValid = -1204;
+
+const int NSURLErrorClientCertificateRejected = -1205;
+
+const int NSURLErrorClientCertificateRequired = -1206;
+
+const int NSURLErrorCannotLoadFromNetwork = -2000;
+
+const int NSURLErrorCannotCreateFile = -3000;
+
+const int NSURLErrorCannotOpenFile = -3001;
+
+const int NSURLErrorCannotCloseFile = -3002;
+
+const int NSURLErrorCannotWriteToFile = -3003;
+
+const int NSURLErrorCannotRemoveFile = -3004;
+
+const int NSURLErrorCannotMoveFile = -3005;
+
+const int NSURLErrorDownloadDecodingFailedMidStream = -3006;
+
+const int NSURLErrorDownloadDecodingFailedToComplete = -3007;
+
+const int NSURLErrorInternationalRoamingOff = -1018;
+
+const int NSURLErrorCallIsActive = -1019;
+
+const int NSURLErrorDataNotAllowed = -1020;
+
+const int NSURLErrorRequestBodyStreamExhausted = -1021;
+
+const int NSURLErrorBackgroundSessionRequiresSharedContainer = -995;
+
+const int NSURLErrorBackgroundSessionInUseByAnotherProcess = -996;
+
+const int NSURLErrorBackgroundSessionWasDisconnected = -997;
+
+const int XPC_ACTIVITY_STATE_CHECK_IN = 0;
+
+const int XPC_ACTIVITY_STATE_WAIT = 1;
+
+const int XPC_ACTIVITY_STATE_RUN = 2;
+
+const int XPC_ACTIVITY_STATE_DEFER = 3;
+
+const int XPC_ACTIVITY_STATE_CONTINUE = 4;
+
+const int XPC_ACTIVITY_STATE_DONE = 5;
+
+const int NSFileNoSuchFileError = 4;
+
+const int NSFileLockingError = 255;
+
+const int NSFileReadUnknownError = 256;
+
+const int NSFileReadNoPermissionError = 257;
+
+const int NSFileReadInvalidFileNameError = 258;
+
+const int NSFileReadCorruptFileError = 259;
+
+const int NSFileReadNoSuchFileError = 260;
+
+const int NSFileReadInapplicableStringEncodingError = 261;
+
+const int NSFileReadUnsupportedSchemeError = 262;
+
+const int NSFileReadTooLargeError = 263;
+
+const int NSFileReadUnknownStringEncodingError = 264;
+
+const int NSFileWriteUnknownError = 512;
+
+const int NSFileWriteNoPermissionError = 513;
+
+const int NSFileWriteInvalidFileNameError = 514;
+
+const int NSFileWriteFileExistsError = 516;
+
+const int NSFileWriteInapplicableStringEncodingError = 517;
+
+const int NSFileWriteUnsupportedSchemeError = 518;
+
+const int NSFileWriteOutOfSpaceError = 640;
+
+const int NSFileWriteVolumeReadOnlyError = 642;
+
+const int NSFileManagerUnmountUnknownError = 768;
+
+const int NSFileManagerUnmountBusyError = 769;
+
+const int NSKeyValueValidationError = 1024;
+
+const int NSFormattingError = 2048;
+
+const int NSUserCancelledError = 3072;
+
+const int NSFeatureUnsupportedError = 3328;
+
+const int NSExecutableNotLoadableError = 3584;
+
+const int NSExecutableArchitectureMismatchError = 3585;
+
+const int NSExecutableRuntimeMismatchError = 3586;
+
+const int NSExecutableLoadError = 3587;
+
+const int NSExecutableLinkError = 3588;
+
+const int NSFileErrorMinimum = 0;
+
+const int NSFileErrorMaximum = 1023;
+
+const int NSValidationErrorMinimum = 1024;
+
+const int NSValidationErrorMaximum = 2047;
+
+const int NSExecutableErrorMinimum = 3584;
+
+const int NSExecutableErrorMaximum = 3839;
+
+const int NSFormattingErrorMinimum = 2048;
+
+const int NSFormattingErrorMaximum = 2559;
+
+const int NSPropertyListReadCorruptError = 3840;
+
+const int NSPropertyListReadUnknownVersionError = 3841;
+
+const int NSPropertyListReadStreamError = 3842;
+
+const int NSPropertyListWriteStreamError = 3851;
+
+const int NSPropertyListWriteInvalidError = 3852;
+
+const int NSPropertyListErrorMinimum = 3840;
+
+const int NSPropertyListErrorMaximum = 4095;
+
+const int NSXPCConnectionInterrupted = 4097;
+
+const int NSXPCConnectionInvalid = 4099;
+
+const int NSXPCConnectionReplyInvalid = 4101;
+
+const int NSXPCConnectionCodeSigningRequirementFailure = 4102;
+
+const int NSXPCConnectionErrorMinimum = 4096;
+
+const int NSXPCConnectionErrorMaximum = 4224;
+
+const int NSUbiquitousFileUnavailableError = 4353;
+
+const int NSUbiquitousFileNotUploadedDueToQuotaError = 4354;
+
+const int NSUbiquitousFileUbiquityServerNotAvailable = 4355;
+
+const int NSUbiquitousFileErrorMinimum = 4352;
+
+const int NSUbiquitousFileErrorMaximum = 4607;
+
+const int NSUserActivityHandoffFailedError = 4608;
+
+const int NSUserActivityConnectionUnavailableError = 4609;
+
+const int NSUserActivityRemoteApplicationTimedOutError = 4610;
+
+const int NSUserActivityHandoffUserInfoTooLargeError = 4611;
+
+const int NSUserActivityErrorMinimum = 4608;
+
+const int NSUserActivityErrorMaximum = 4863;
+
+const int NSCoderReadCorruptError = 4864;
+
+const int NSCoderValueNotFoundError = 4865;
+
+const int NSCoderInvalidValueError = 4866;
+
+const int NSCoderErrorMinimum = 4864;
+
+const int NSCoderErrorMaximum = 4991;
+
+const int NSBundleErrorMinimum = 4992;
+
+const int NSBundleErrorMaximum = 5119;
+
+const int NSBundleOnDemandResourceOutOfSpaceError = 4992;
+
+const int NSBundleOnDemandResourceExceededMaximumSizeError = 4993;
+
+const int NSBundleOnDemandResourceInvalidTagError = 4994;
+
+const int NSCloudSharingNetworkFailureError = 5120;
+
+const int NSCloudSharingQuotaExceededError = 5121;
+
+const int NSCloudSharingTooManyParticipantsError = 5122;
+
+const int NSCloudSharingConflictError = 5123;
+
+const int NSCloudSharingNoPermissionError = 5124;
+
+const int NSCloudSharingOtherError = 5375;
+
+const int NSCloudSharingErrorMinimum = 5120;
+
+const int NSCloudSharingErrorMaximum = 5375;
+
+const int NSCompressionFailedError = 5376;
+
+const int NSDecompressionFailedError = 5377;
+
+const int NSCompressionErrorMinimum = 5376;
+
+const int NSCompressionErrorMaximum = 5503;
+
+const int NSUbiquitousKeyValueStoreServerChange = 0;
+
+const int NSUbiquitousKeyValueStoreInitialSyncChange = 1;
+
+const int NSUbiquitousKeyValueStoreQuotaViolationChange = 2;
+
+const int NSUbiquitousKeyValueStoreAccountChange = 3;
+
+const int __COREFOUNDATION__ = 1;
+
+const int __DARWIN_ONLY_64_BIT_INO_T = 0;
+
+const int __DARWIN_ONLY_UNIX_CONFORMANCE = 1;
+
+const int __DARWIN_ONLY_VERS_1050 = 0;
+
+const int __DARWIN_UNIX03 = 1;
+
+const int __DARWIN_64_BIT_INO_T = 1;
+
+const int __DARWIN_VERS_1050 = 1;
+
+const int __DARWIN_NON_CANCELABLE = 0;
+
+const String __DARWIN_SUF_64_BIT_INO_T = '\$INODE64';
+
+const String __DARWIN_SUF_1050 = '\$1050';
+
+const String __DARWIN_SUF_EXTSN = '\$DARWIN_EXTSN';
+
+const int __DARWIN_C_ANSI = 4096;
+
+const int __DARWIN_C_FULL = 900000;
+
+const int __DARWIN_C_LEVEL = 900000;
+
+const int __STDC_WANT_LIB_EXT1__ = 1;
+
+const int __DARWIN_NO_LONG_LONG = 0;
+
+const int _DARWIN_FEATURE_64_BIT_INODE = 1;
+
+const int _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1;
+
+const int _DARWIN_FEATURE_UNIX_CONFORMANCE = 3;
+
+const int __has_ptrcheck = 0;
+
+const int USER_ADDR_NULL = 0;
+
+const int __DARWIN_NULL = 0;
+
+const int __PTHREAD_SIZE__ = 8176;
+
+const int __PTHREAD_ATTR_SIZE__ = 56;
+
+const int __PTHREAD_MUTEXATTR_SIZE__ = 8;
+
+const int __PTHREAD_MUTEX_SIZE__ = 56;
+
+const int __PTHREAD_CONDATTR_SIZE__ = 8;
+
+const int __PTHREAD_COND_SIZE__ = 40;
+
+const int __PTHREAD_ONCE_SIZE__ = 8;
+
+const int __PTHREAD_RWLOCK_SIZE__ = 192;
+
+const int __PTHREAD_RWLOCKATTR_SIZE__ = 16;
+
+const int _QUAD_HIGHWORD = 1;
+
+const int _QUAD_LOWWORD = 0;
+
+const int __DARWIN_LITTLE_ENDIAN = 1234;
+
+const int __DARWIN_BIG_ENDIAN = 4321;
+
+const int __DARWIN_PDP_ENDIAN = 3412;
+
+const int __DARWIN_BYTE_ORDER = 1234;
+
+const int LITTLE_ENDIAN = 1234;
+
+const int BIG_ENDIAN = 4321;
+
+const int PDP_ENDIAN = 3412;
+
+const int BYTE_ORDER = 1234;
+
+const int __API_TO_BE_DEPRECATED = 100000;
+
+const int __API_TO_BE_DEPRECATED_MACOS = 100000;
+
+const int __API_TO_BE_DEPRECATED_IOS = 100000;
+
+const int __API_TO_BE_DEPRECATED_TVOS = 100000;
+
+const int __API_TO_BE_DEPRECATED_WATCHOS = 100000;
+
+const int __API_TO_BE_DEPRECATED_MACCATALYST = 100000;
+
+const int __API_TO_BE_DEPRECATED_DRIVERKIT = 100000;
+
+const int __MAC_10_0 = 1000;
+
+const int __MAC_10_1 = 1010;
+
+const int __MAC_10_2 = 1020;
+
+const int __MAC_10_3 = 1030;
+
+const int __MAC_10_4 = 1040;
+
+const int __MAC_10_5 = 1050;
+
+const int __MAC_10_6 = 1060;
+
+const int __MAC_10_7 = 1070;
+
+const int __MAC_10_8 = 1080;
+
+const int __MAC_10_9 = 1090;
+
+const int __MAC_10_10 = 101000;
+
+const int __MAC_10_10_2 = 101002;
+
+const int __MAC_10_10_3 = 101003;
+
+const int __MAC_10_11 = 101100;
+
+const int __MAC_10_11_2 = 101102;
+
+const int __MAC_10_11_3 = 101103;
+
+const int __MAC_10_11_4 = 101104;
+
+const int __MAC_10_12 = 101200;
+
+const int __MAC_10_12_1 = 101201;
+
+const int __MAC_10_12_2 = 101202;
+
+const int __MAC_10_12_4 = 101204;
+
+const int __MAC_10_13 = 101300;
+
+const int __MAC_10_13_1 = 101301;
+
+const int __MAC_10_13_2 = 101302;
+
+const int __MAC_10_13_4 = 101304;
+
+const int __MAC_10_14 = 101400;
+
+const int __MAC_10_14_1 = 101401;
+
+const int __MAC_10_14_4 = 101404;
+
+const int __MAC_10_14_6 = 101406;
+
+const int __MAC_10_15 = 101500;
+
+const int __MAC_10_15_1 = 101501;
+
+const int __MAC_10_15_4 = 101504;
+
+const int __MAC_10_16 = 101600;
+
+const int __MAC_11_0 = 110000;
+
+const int __MAC_11_1 = 110100;
+
+const int __MAC_11_3 = 110300;
+
+const int __MAC_11_4 = 110400;
+
+const int __MAC_11_5 = 110500;
+
+const int __MAC_11_6 = 110600;
+
+const int __MAC_12_0 = 120000;
+
+const int __MAC_12_1 = 120100;
+
+const int __MAC_12_2 = 120200;
+
+const int __MAC_12_3 = 120300;
+
+const int __MAC_13_0 = 130000;
+
+const int __MAC_13_1 = 130100;
+
+const int __IPHONE_2_0 = 20000;
+
+const int __IPHONE_2_1 = 20100;
+
+const int __IPHONE_2_2 = 20200;
+
+const int __IPHONE_3_0 = 30000;
+
+const int __IPHONE_3_1 = 30100;
+
+const int __IPHONE_3_2 = 30200;
+
+const int __IPHONE_4_0 = 40000;
+
+const int __IPHONE_4_1 = 40100;
+
+const int __IPHONE_4_2 = 40200;
+
+const int __IPHONE_4_3 = 40300;
+
+const int __IPHONE_5_0 = 50000;
+
+const int __IPHONE_5_1 = 50100;
+
+const int __IPHONE_6_0 = 60000;
+
+const int __IPHONE_6_1 = 60100;
+
+const int __IPHONE_7_0 = 70000;
+
+const int __IPHONE_7_1 = 70100;
+
+const int __IPHONE_8_0 = 80000;
+
+const int __IPHONE_8_1 = 80100;
+
+const int __IPHONE_8_2 = 80200;
+
+const int __IPHONE_8_3 = 80300;
+
+const int __IPHONE_8_4 = 80400;
+
+const int __IPHONE_9_0 = 90000;
+
+const int __IPHONE_9_1 = 90100;
+
+const int __IPHONE_9_2 = 90200;
+
+const int __IPHONE_9_3 = 90300;
+
+const int __IPHONE_10_0 = 100000;
+
+const int __IPHONE_10_1 = 100100;
+
+const int __IPHONE_10_2 = 100200;
+
+const int __IPHONE_10_3 = 100300;
+
+const int __IPHONE_11_0 = 110000;
+
+const int __IPHONE_11_1 = 110100;
+
+const int __IPHONE_11_2 = 110200;
+
+const int __IPHONE_11_3 = 110300;
+
+const int __IPHONE_11_4 = 110400;
+
+const int __IPHONE_12_0 = 120000;
+
+const int __IPHONE_12_1 = 120100;
+
+const int __IPHONE_12_2 = 120200;
+
+const int __IPHONE_12_3 = 120300;
+
+const int __IPHONE_12_4 = 120400;
+
+const int __IPHONE_13_0 = 130000;
+
+const int __IPHONE_13_1 = 130100;
+
+const int __IPHONE_13_2 = 130200;
+
+const int __IPHONE_13_3 = 130300;
+
+const int __IPHONE_13_4 = 130400;
+
+const int __IPHONE_13_5 = 130500;
+
+const int __IPHONE_13_6 = 130600;
+
+const int __IPHONE_13_7 = 130700;
+
+const int __IPHONE_14_0 = 140000;
+
+const int __IPHONE_14_1 = 140100;
+
+const int __IPHONE_14_2 = 140200;
+
+const int __IPHONE_14_3 = 140300;
+
+const int __IPHONE_14_5 = 140500;
+
+const int __IPHONE_14_6 = 140600;
+
+const int __IPHONE_14_7 = 140700;
+
+const int __IPHONE_14_8 = 140800;
+
+const int __IPHONE_15_0 = 150000;
+
+const int __IPHONE_15_1 = 150100;
+
+const int __IPHONE_15_2 = 150200;
+
+const int __IPHONE_15_3 = 150300;
+
+const int __IPHONE_15_4 = 150400;
+
+const int __IPHONE_16_0 = 160000;
+
+const int __IPHONE_16_1 = 160100;
+
+const int __IPHONE_16_2 = 160200;
+
+const int __TVOS_9_0 = 90000;
+
+const int __TVOS_9_1 = 90100;
+
+const int __TVOS_9_2 = 90200;
+
+const int __TVOS_10_0 = 100000;
+
+const int __TVOS_10_0_1 = 100001;
+
+const int __TVOS_10_1 = 100100;
+
+const int __TVOS_10_2 = 100200;
+
+const int __TVOS_11_0 = 110000;
+
+const int __TVOS_11_1 = 110100;
+
+const int __TVOS_11_2 = 110200;
+
+const int __TVOS_11_3 = 110300;
+
+const int __TVOS_11_4 = 110400;
+
+const int __TVOS_12_0 = 120000;
+
+const int __TVOS_12_1 = 120100;
+
+const int __TVOS_12_2 = 120200;
+
+const int __TVOS_12_3 = 120300;
+
+const int __TVOS_12_4 = 120400;
+
+const int __TVOS_13_0 = 130000;
+
+const int __TVOS_13_2 = 130200;
+
+const int __TVOS_13_3 = 130300;
+
+const int __TVOS_13_4 = 130400;
+
+const int __TVOS_14_0 = 140000;
+
+const int __TVOS_14_1 = 140100;
+
+const int __TVOS_14_2 = 140200;
+
+const int __TVOS_14_3 = 140300;
+
+const int __TVOS_14_5 = 140500;
+
+const int __TVOS_14_6 = 140600;
+
+const int __TVOS_14_7 = 140700;
+
+const int __TVOS_15_0 = 150000;
+
+const int __TVOS_15_1 = 150100;
+
+const int __TVOS_15_2 = 150200;
+
+const int __TVOS_15_3 = 150300;
+
+const int __TVOS_15_4 = 150400;
+
+const int __TVOS_16_0 = 160000;
+
+const int __TVOS_16_1 = 160100;
+
+const int __TVOS_16_2 = 160200;
+
+const int __WATCHOS_1_0 = 10000;
+
+const int __WATCHOS_2_0 = 20000;
+
+const int __WATCHOS_2_1 = 20100;
+
+const int __WATCHOS_2_2 = 20200;
+
+const int __WATCHOS_3_0 = 30000;
+
+const int __WATCHOS_3_1 = 30100;
+
+const int __WATCHOS_3_1_1 = 30101;
+
+const int __WATCHOS_3_2 = 30200;
+
+const int __WATCHOS_4_0 = 40000;
+
+const int __WATCHOS_4_1 = 40100;
+
+const int __WATCHOS_4_2 = 40200;
+
+const int __WATCHOS_4_3 = 40300;
+
+const int __WATCHOS_5_0 = 50000;
+
+const int __WATCHOS_5_1 = 50100;
+
+const int __WATCHOS_5_2 = 50200;
+
+const int __WATCHOS_5_3 = 50300;
+
+const int __WATCHOS_6_0 = 60000;
+
+const int __WATCHOS_6_1 = 60100;
+
+const int __WATCHOS_6_2 = 60200;
+
+const int __WATCHOS_7_0 = 70000;
+
+const int __WATCHOS_7_1 = 70100;
+
+const int __WATCHOS_7_2 = 70200;
+
+const int __WATCHOS_7_3 = 70300;
+
+const int __WATCHOS_7_4 = 70400;
+
+const int __WATCHOS_7_5 = 70500;
+
+const int __WATCHOS_7_6 = 70600;
+
+const int __WATCHOS_8_0 = 80000;
+
+const int __WATCHOS_8_1 = 80100;
+
+const int __WATCHOS_8_3 = 80300;
+
+const int __WATCHOS_8_4 = 80400;
+
+const int __WATCHOS_8_5 = 80500;
+
+const int __WATCHOS_9_0 = 90000;
+
+const int __WATCHOS_9_1 = 90100;
+
+const int __WATCHOS_9_2 = 90200;
+
+const int MAC_OS_X_VERSION_10_0 = 1000;
+
+const int MAC_OS_X_VERSION_10_1 = 1010;
+
+const int MAC_OS_X_VERSION_10_2 = 1020;
+
+const int MAC_OS_X_VERSION_10_3 = 1030;
+
+const int MAC_OS_X_VERSION_10_4 = 1040;
+
+const int MAC_OS_X_VERSION_10_5 = 1050;
+
+const int MAC_OS_X_VERSION_10_6 = 1060;
+
+const int MAC_OS_X_VERSION_10_7 = 1070;
+
+const int MAC_OS_X_VERSION_10_8 = 1080;
+
+const int MAC_OS_X_VERSION_10_9 = 1090;
+
+const int MAC_OS_X_VERSION_10_10 = 101000;
+
+const int MAC_OS_X_VERSION_10_10_2 = 101002;
+
+const int MAC_OS_X_VERSION_10_10_3 = 101003;
+
+const int MAC_OS_X_VERSION_10_11 = 101100;
+
+const int MAC_OS_X_VERSION_10_11_2 = 101102;
+
+const int MAC_OS_X_VERSION_10_11_3 = 101103;
+
+const int MAC_OS_X_VERSION_10_11_4 = 101104;
+
+const int MAC_OS_X_VERSION_10_12 = 101200;
+
+const int MAC_OS_X_VERSION_10_12_1 = 101201;
+
+const int MAC_OS_X_VERSION_10_12_2 = 101202;
+
+const int MAC_OS_X_VERSION_10_12_4 = 101204;
+
+const int MAC_OS_X_VERSION_10_13 = 101300;
+
+const int MAC_OS_X_VERSION_10_13_1 = 101301;
+
+const int MAC_OS_X_VERSION_10_13_2 = 101302;
+
+const int MAC_OS_X_VERSION_10_13_4 = 101304;
+
+const int MAC_OS_X_VERSION_10_14 = 101400;
+
+const int MAC_OS_X_VERSION_10_14_1 = 101401;
+
+const int MAC_OS_X_VERSION_10_14_4 = 101404;
+
+const int MAC_OS_X_VERSION_10_14_6 = 101406;
+
+const int MAC_OS_X_VERSION_10_15 = 101500;
+
+const int MAC_OS_X_VERSION_10_15_1 = 101501;
+
+const int MAC_OS_X_VERSION_10_16 = 101600;
+
+const int MAC_OS_VERSION_11_0 = 110000;
+
+const int MAC_OS_VERSION_12_0 = 120000;
+
+const int MAC_OS_VERSION_13_0 = 130000;
+
+const int __DRIVERKIT_19_0 = 190000;
+
+const int __DRIVERKIT_20_0 = 200000;
+
+const int __DRIVERKIT_21_0 = 210000;
+
+const int __IPHONE_OS_VERSION_MIN_REQUIRED = 130000;
+
+const int __IPHONE_OS_VERSION_MAX_ALLOWED = 160200;
+
+const int __ENABLE_LEGACY_IPHONE_AVAILABILITY = 1;
+
+const int __DARWIN_FD_SETSIZE = 1024;
+
+const int __DARWIN_NBBY = 8;
+
+const int __DARWIN_NFDBITS = 32;
+
+const int NBBY = 8;
+
+const int NFDBITS = 32;
+
+const int FD_SETSIZE = 1024;
+
+const String __ASSERT_FILE_NAME = 'temp_for_macros.hpp';
+
+const int __DARWIN_WCHAR_MAX = 2147483647;
+
+const int __DARWIN_WCHAR_MIN = -2147483648;
+
+const int __DARWIN_WEOF = -1;
+
+const int _FORTIFY_SOURCE = 2;
+
+const int _CACHED_RUNES = 256;
+
+const int _CRMASK = -256;
+
+const String _RUNE_MAGIC_A = 'RuneMagA';
+
+const int _CTYPE_A = 256;
+
+const int _CTYPE_C = 512;
+
+const int _CTYPE_D = 1024;
+
+const int _CTYPE_G = 2048;
+
+const int _CTYPE_L = 4096;
+
+const int _CTYPE_P = 8192;
+
+const int _CTYPE_S = 16384;
+
+const int _CTYPE_U = 32768;
+
+const int _CTYPE_X = 65536;
+
+const int _CTYPE_B = 131072;
+
+const int _CTYPE_R = 262144;
+
+const int _CTYPE_I = 524288;
+
+const int _CTYPE_T = 1048576;
+
+const int _CTYPE_Q = 2097152;
+
+const int _CTYPE_SW0 = 536870912;
+
+const int _CTYPE_SW1 = 1073741824;
+
+const int _CTYPE_SW2 = 2147483648;
+
+const int _CTYPE_SW3 = 3221225472;
+
+const int _CTYPE_SWM = 3758096384;
+
+const int _CTYPE_SWS = 30;
+
+const int EPERM = 1;
+
+const int ENOENT = 2;
+
+const int ESRCH = 3;
+
+const int EINTR = 4;
+
+const int EIO = 5;
+
+const int ENXIO = 6;
+
+const int E2BIG = 7;
+
+const int ENOEXEC = 8;
+
+const int EBADF = 9;
+
+const int ECHILD = 10;
+
+const int EDEADLK = 11;
+
+const int ENOMEM = 12;
+
+const int EACCES = 13;
+
+const int EFAULT = 14;
+
+const int ENOTBLK = 15;
+
+const int EBUSY = 16;
+
+const int EEXIST = 17;
+
+const int EXDEV = 18;
+
+const int ENODEV = 19;
+
+const int ENOTDIR = 20;
+
+const int EISDIR = 21;
+
+const int EINVAL = 22;
+
+const int ENFILE = 23;
+
+const int EMFILE = 24;
+
+const int ENOTTY = 25;
+
+const int ETXTBSY = 26;
+
+const int EFBIG = 27;
+
+const int ENOSPC = 28;
+
+const int ESPIPE = 29;
+
+const int EROFS = 30;
+
+const int EMLINK = 31;
+
+const int EPIPE = 32;
+
+const int EDOM = 33;
+
+const int ERANGE = 34;
+
+const int EAGAIN = 35;
+
+const int EWOULDBLOCK = 35;
+
+const int EINPROGRESS = 36;
+
+const int EALREADY = 37;
+
+const int ENOTSOCK = 38;
+
+const int EDESTADDRREQ = 39;
+
+const int EMSGSIZE = 40;
+
+const int EPROTOTYPE = 41;
+
+const int ENOPROTOOPT = 42;
+
+const int EPROTONOSUPPORT = 43;
+
+const int ESOCKTNOSUPPORT = 44;
+
+const int ENOTSUP = 45;
+
+const int EPFNOSUPPORT = 46;
+
+const int EAFNOSUPPORT = 47;
+
+const int EADDRINUSE = 48;
+
+const int EADDRNOTAVAIL = 49;
+
+const int ENETDOWN = 50;
+
+const int ENETUNREACH = 51;
+
+const int ENETRESET = 52;
+
+const int ECONNABORTED = 53;
+
+const int ECONNRESET = 54;
+
+const int ENOBUFS = 55;
+
+const int EISCONN = 56;
+
+const int ENOTCONN = 57;
+
+const int ESHUTDOWN = 58;
+
+const int ETOOMANYREFS = 59;
+
+const int ETIMEDOUT = 60;
+
+const int ECONNREFUSED = 61;
+
+const int ELOOP = 62;
+
+const int ENAMETOOLONG = 63;
+
+const int EHOSTDOWN = 64;
+
+const int EHOSTUNREACH = 65;
+
+const int ENOTEMPTY = 66;
+
+const int EPROCLIM = 67;
+
+const int EUSERS = 68;
+
+const int EDQUOT = 69;
+
+const int ESTALE = 70;
+
+const int EREMOTE = 71;
+
+const int EBADRPC = 72;
+
+const int ERPCMISMATCH = 73;
+
+const int EPROGUNAVAIL = 74;
+
+const int EPROGMISMATCH = 75;
+
+const int EPROCUNAVAIL = 76;
+
+const int ENOLCK = 77;
+
+const int ENOSYS = 78;
+
+const int EFTYPE = 79;
+
+const int EAUTH = 80;
+
+const int ENEEDAUTH = 81;
+
+const int EPWROFF = 82;
+
+const int EDEVERR = 83;
+
+const int EOVERFLOW = 84;
+
+const int EBADEXEC = 85;
+
+const int EBADARCH = 86;
+
+const int ESHLIBVERS = 87;
+
+const int EBADMACHO = 88;
+
+const int ECANCELED = 89;
+
+const int EIDRM = 90;
+
+const int ENOMSG = 91;
+
+const int EILSEQ = 92;
+
+const int ENOATTR = 93;
+
+const int EBADMSG = 94;
+
+const int EMULTIHOP = 95;
+
+const int ENODATA = 96;
+
+const int ENOLINK = 97;
+
+const int ENOSR = 98;
+
+const int ENOSTR = 99;
+
+const int EPROTO = 100;
+
+const int ETIME = 101;
+
+const int EOPNOTSUPP = 102;
+
+const int ENOPOLICY = 103;
+
+const int ENOTRECOVERABLE = 104;
+
+const int EOWNERDEAD = 105;
+
+const int EQFULL = 106;
+
+const int ELAST = 106;
+
+const int FLT_EVAL_METHOD = 0;
+
+const int FLT_RADIX = 2;
+
+const int FLT_MANT_DIG = 24;
+
+const int DBL_MANT_DIG = 53;
+
+const int LDBL_MANT_DIG = 64;
+
+const int FLT_DIG = 6;
+
+const int DBL_DIG = 15;
+
+const int LDBL_DIG = 18;
+
+const int FLT_MIN_EXP = -125;
+
+const int DBL_MIN_EXP = -1021;
+
+const int LDBL_MIN_EXP = -16381;
+
+const int FLT_MIN_10_EXP = -37;
+
+const int DBL_MIN_10_EXP = -307;
+
+const int LDBL_MIN_10_EXP = -4931;
+
+const int FLT_MAX_EXP = 128;
+
+const int DBL_MAX_EXP = 1024;
+
+const int LDBL_MAX_EXP = 16384;
+
+const int FLT_MAX_10_EXP = 38;
+
+const int DBL_MAX_10_EXP = 308;
+
+const int LDBL_MAX_10_EXP = 4932;
+
+const double FLT_MAX = 3.4028234663852886e+38;
+
+const double DBL_MAX = 1.7976931348623157e+308;
+
+const double LDBL_MAX = double.infinity;
+
+const double FLT_EPSILON = 1.1920928955078125e-7;
+
+const double DBL_EPSILON = 2.220446049250313e-16;
+
+const double LDBL_EPSILON = 1.0842021724855044e-19;
+
+const double FLT_MIN = 1.1754943508222875e-38;
+
+const double DBL_MIN = 2.2250738585072014e-308;
+
+const double LDBL_MIN = 0.0;
+
+const int DECIMAL_DIG = 21;
+
+const int FLT_HAS_SUBNORM = 1;
+
+const int DBL_HAS_SUBNORM = 1;
+
+const int LDBL_HAS_SUBNORM = 1;
+
+const double FLT_TRUE_MIN = 1.401298464324817e-45;
+
+const double DBL_TRUE_MIN = 5e-324;
+
+const double LDBL_TRUE_MIN = 0.0;
+
+const int FLT_DECIMAL_DIG = 9;
+
+const int DBL_DECIMAL_DIG = 17;
+
+const int LDBL_DECIMAL_DIG = 21;
+
+const int __DARWIN_CLK_TCK = 100;
+
+const int CHAR_BIT = 8;
+
+const int MB_LEN_MAX = 6;
+
+const int CLK_TCK = 100;
+
+const int SCHAR_MAX = 127;
+
+const int SCHAR_MIN = -128;
+
+const int UCHAR_MAX = 255;
+
+const int CHAR_MAX = 127;
+
+const int CHAR_MIN = -128;
+
+const int USHRT_MAX = 65535;
+
+const int SHRT_MAX = 32767;
+
+const int SHRT_MIN = -32768;
+
+const int UINT_MAX = 4294967295;
+
+const int INT_MAX = 2147483647;
+
+const int INT_MIN = -2147483648;
+
+const int ULONG_MAX = -1;
+
+const int LONG_MAX = 9223372036854775807;
+
+const int LONG_MIN = -9223372036854775808;
+
+const int ULLONG_MAX = -1;
+
+const int LLONG_MAX = 9223372036854775807;
+
+const int LLONG_MIN = -9223372036854775808;
+
+const int LONG_BIT = 64;
+
+const int SSIZE_MAX = 9223372036854775807;
+
+const int WORD_BIT = 32;
+
+const int SIZE_T_MAX = -1;
+
+const int UQUAD_MAX = -1;
+
+const int QUAD_MAX = 9223372036854775807;
+
+const int QUAD_MIN = -9223372036854775808;
+
+const int ARG_MAX = 262144;
+
+const int CHILD_MAX = 266;
+
+const int GID_MAX = 2147483647;
+
+const int LINK_MAX = 32767;
+
+const int MAX_CANON = 1024;
+
+const int MAX_INPUT = 1024;
+
+const int NAME_MAX = 255;
+
+const int NGROUPS_MAX = 16;
+
+const int UID_MAX = 2147483647;
+
+const int OPEN_MAX = 10240;
+
+const int PATH_MAX = 1024;
+
+const int PIPE_BUF = 512;
+
+const int BC_BASE_MAX = 99;
+
+const int BC_DIM_MAX = 2048;
+
+const int BC_SCALE_MAX = 99;
+
+const int BC_STRING_MAX = 1000;
+
+const int CHARCLASS_NAME_MAX = 14;
+
+const int COLL_WEIGHTS_MAX = 2;
+
+const int EQUIV_CLASS_MAX = 2;
+
+const int EXPR_NEST_MAX = 32;
+
+const int LINE_MAX = 2048;
+
+const int RE_DUP_MAX = 255;
+
+const int NZERO = 20;
+
+const int _POSIX_ARG_MAX = 4096;
+
+const int _POSIX_CHILD_MAX = 25;
+
+const int _POSIX_LINK_MAX = 8;
+
+const int _POSIX_MAX_CANON = 255;
+
+const int _POSIX_MAX_INPUT = 255;
+
+const int _POSIX_NAME_MAX = 14;
+
+const int _POSIX_NGROUPS_MAX = 8;
+
+const int _POSIX_OPEN_MAX = 20;
+
+const int _POSIX_PATH_MAX = 256;
+
+const int _POSIX_PIPE_BUF = 512;
+
+const int _POSIX_SSIZE_MAX = 32767;
+
+const int _POSIX_STREAM_MAX = 8;
+
+const int _POSIX_TZNAME_MAX = 6;
+
+const int _POSIX2_BC_BASE_MAX = 99;
+
+const int _POSIX2_BC_DIM_MAX = 2048;
+
+const int _POSIX2_BC_SCALE_MAX = 99;
+
+const int _POSIX2_BC_STRING_MAX = 1000;
+
+const int _POSIX2_EQUIV_CLASS_MAX = 2;
+
+const int _POSIX2_EXPR_NEST_MAX = 32;
+
+const int _POSIX2_LINE_MAX = 2048;
+
+const int _POSIX2_RE_DUP_MAX = 255;
+
+const int _POSIX_AIO_LISTIO_MAX = 2;
+
+const int _POSIX_AIO_MAX = 1;
+
+const int _POSIX_DELAYTIMER_MAX = 32;
+
+const int _POSIX_MQ_OPEN_MAX = 8;
+
+const int _POSIX_MQ_PRIO_MAX = 32;
+
+const int _POSIX_RTSIG_MAX = 8;
+
+const int _POSIX_SEM_NSEMS_MAX = 256;
+
+const int _POSIX_SEM_VALUE_MAX = 32767;
+
+const int _POSIX_SIGQUEUE_MAX = 32;
+
+const int _POSIX_TIMER_MAX = 32;
+
+const int _POSIX_CLOCKRES_MIN = 20000000;
+
+const int _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4;
+
+const int _POSIX_THREAD_KEYS_MAX = 128;
+
+const int _POSIX_THREAD_THREADS_MAX = 64;
+
+const int PTHREAD_DESTRUCTOR_ITERATIONS = 4;
+
+const int PTHREAD_KEYS_MAX = 512;
+
+const int PTHREAD_STACK_MIN = 8192;
+
+const int _POSIX_HOST_NAME_MAX = 255;
+
+const int _POSIX_LOGIN_NAME_MAX = 9;
+
+const int _POSIX_SS_REPL_MAX = 4;
+
+const int _POSIX_SYMLINK_MAX = 255;
+
+const int _POSIX_SYMLOOP_MAX = 8;
+
+const int _POSIX_TRACE_EVENT_NAME_MAX = 30;
+
+const int _POSIX_TRACE_NAME_MAX = 8;
+
+const int _POSIX_TRACE_SYS_MAX = 8;
+
+const int _POSIX_TRACE_USER_EVENT_MAX = 32;
+
+const int _POSIX_TTY_NAME_MAX = 9;
+
+const int _POSIX2_CHARCLASS_NAME_MAX = 14;
+
+const int _POSIX2_COLL_WEIGHTS_MAX = 2;
+
+const int _POSIX_RE_DUP_MAX = 255;
+
+const int OFF_MIN = -9223372036854775808;
+
+const int OFF_MAX = 9223372036854775807;
+
+const int PASS_MAX = 128;
+
+const int NL_ARGMAX = 9;
+
+const int NL_LANGMAX = 14;
+
+const int NL_MSGMAX = 32767;
+
+const int NL_NMAX = 1;
+
+const int NL_SETMAX = 255;
+
+const int NL_TEXTMAX = 2048;
+
+const int _XOPEN_IOV_MAX = 16;
+
+const int IOV_MAX = 1024;
+
+const int _XOPEN_NAME_MAX = 255;
+
+const int _XOPEN_PATH_MAX = 1024;
+
+const int NULL = 0;
+
+const int LC_ALL = 0;
+
+const int LC_COLLATE = 1;
+
+const int LC_CTYPE = 2;
+
+const int LC_MONETARY = 3;
+
+const int LC_NUMERIC = 4;
+
+const int LC_TIME = 5;
+
+const int LC_MESSAGES = 6;
+
+const int _LC_LAST = 7;
+
+const double HUGE_VAL = double.infinity;
+
+const double HUGE_VALF = double.infinity;
+
+const double HUGE_VALL = double.infinity;
+
+const double NAN = double.nan;
+
+const double INFINITY = double.infinity;
+
+const int FP_NAN = 1;
+
+const int FP_INFINITE = 2;
+
+const int FP_ZERO = 3;
+
+const int FP_NORMAL = 4;
+
+const int FP_SUBNORMAL = 5;
+
+const int FP_SUPERNORMAL = 6;
+
+const int FP_ILOGB0 = -2147483648;
+
+const int FP_ILOGBNAN = -2147483648;
+
+const int MATH_ERRNO = 1;
+
+const int MATH_ERREXCEPT = 2;
+
+const double M_E = 2.718281828459045;
+
+const double M_LOG2E = 1.4426950408889634;
+
+const double M_LOG10E = 0.4342944819032518;
+
+const double M_LN2 = 0.6931471805599453;
+
+const double M_LN10 = 2.302585092994046;
+
+const double M_PI = 3.141592653589793;
+
+const double M_PI_2 = 1.5707963267948966;
+
+const double M_PI_4 = 0.7853981633974483;
+
+const double M_1_PI = 0.3183098861837907;
+
+const double M_2_PI = 0.6366197723675814;
+
+const double M_2_SQRTPI = 1.1283791670955126;
+
+const double M_SQRT2 = 1.4142135623730951;
+
+const double M_SQRT1_2 = 0.7071067811865476;
+
+const double MAXFLOAT = 3.4028234663852886e+38;
+
+const int FP_SNAN = 1;
+
+const int FP_QNAN = 1;
+
+const double HUGE = 3.4028234663852886e+38;
+
+const double X_TLOSS = 14148475504056880.0;
+
+const int DOMAIN = 1;
+
+const int SING = 2;
+
+const int OVERFLOW = 3;
+
+const int UNDERFLOW = 4;
+
+const int TLOSS = 5;
+
+const int PLOSS = 6;
+
+const int _JBLEN = 37;
+
+const int __DARWIN_NSIG = 32;
+
+const int NSIG = 32;
+
+const int _I386_SIGNAL_H_ = 1;
+
+const int SIGHUP = 1;
+
+const int SIGINT = 2;
+
+const int SIGQUIT = 3;
+
+const int SIGILL = 4;
+
+const int SIGTRAP = 5;
+
+const int SIGABRT = 6;
+
+const int SIGIOT = 6;
+
+const int SIGEMT = 7;
+
+const int SIGFPE = 8;
+
+const int SIGKILL = 9;
+
+const int SIGBUS = 10;
+
+const int SIGSEGV = 11;
+
+const int SIGSYS = 12;
+
+const int SIGPIPE = 13;
+
+const int SIGALRM = 14;
+
+const int SIGTERM = 15;
+
+const int SIGURG = 16;
+
+const int SIGSTOP = 17;
+
+const int SIGTSTP = 18;
+
+const int SIGCONT = 19;
+
+const int SIGCHLD = 20;
+
+const int SIGTTIN = 21;
+
+const int SIGTTOU = 22;
+
+const int SIGIO = 23;
+
+const int SIGXCPU = 24;
+
+const int SIGXFSZ = 25;
+
+const int SIGVTALRM = 26;
+
+const int SIGPROF = 27;
+
+const int SIGWINCH = 28;
+
+const int SIGINFO = 29;
+
+const int SIGUSR1 = 30;
+
+const int SIGUSR2 = 31;
+
+const int FP_PREC_24B = 0;
+
+const int FP_PREC_53B = 2;
+
+const int FP_PREC_64B = 3;
+
+const int FP_RND_NEAR = 0;
+
+const int FP_RND_DOWN = 1;
+
+const int FP_RND_UP = 2;
+
+const int FP_CHOP = 3;
+
+const int FP_STATE_BYTES = 512;
+
+const int _X86_INSTRUCTION_STATE_MAX_INSN_BYTES = 2380;
+
+const int _X86_INSTRUCTION_STATE_CACHELINE_SIZE = 64;
+
+const int __LASTBRANCH_MAX = 32;
+
+const int SIGEV_NONE = 0;
+
+const int SIGEV_SIGNAL = 1;
+
+const int SIGEV_THREAD = 3;
+
+const int ILL_NOOP = 0;
+
+const int ILL_ILLOPC = 1;
+
+const int ILL_ILLTRP = 2;
+
+const int ILL_PRVOPC = 3;
+
+const int ILL_ILLOPN = 4;
+
+const int ILL_ILLADR = 5;
+
+const int ILL_PRVREG = 6;
+
+const int ILL_COPROC = 7;
+
+const int ILL_BADSTK = 8;
+
+const int FPE_NOOP = 0;
+
+const int FPE_FLTDIV = 1;
+
+const int FPE_FLTOVF = 2;
+
+const int FPE_FLTUND = 3;
+
+const int FPE_FLTRES = 4;
+
+const int FPE_FLTINV = 5;
+
+const int FPE_FLTSUB = 6;
+
+const int FPE_INTDIV = 7;
+
+const int FPE_INTOVF = 8;
+
+const int SEGV_NOOP = 0;
+
+const int SEGV_MAPERR = 1;
+
+const int SEGV_ACCERR = 2;
+
+const int BUS_NOOP = 0;
+
+const int BUS_ADRALN = 1;
+
+const int BUS_ADRERR = 2;
+
+const int BUS_OBJERR = 3;
+
+const int TRAP_BRKPT = 1;
+
+const int TRAP_TRACE = 2;
+
+const int CLD_NOOP = 0;
+
+const int CLD_EXITED = 1;
+
+const int CLD_KILLED = 2;
+
+const int CLD_DUMPED = 3;
+
+const int CLD_TRAPPED = 4;
+
+const int CLD_STOPPED = 5;
+
+const int CLD_CONTINUED = 6;
+
+const int POLL_IN = 1;
+
+const int POLL_OUT = 2;
+
+const int POLL_MSG = 3;
+
+const int POLL_ERR = 4;
+
+const int POLL_PRI = 5;
+
+const int POLL_HUP = 6;
+
+const int SA_ONSTACK = 1;
+
+const int SA_RESTART = 2;
+
+const int SA_RESETHAND = 4;
+
+const int SA_NOCLDSTOP = 8;
+
+const int SA_NODEFER = 16;
+
+const int SA_NOCLDWAIT = 32;
+
+const int SA_SIGINFO = 64;
+
+const int SA_USERTRAMP = 256;
+
+const int SA_64REGSET = 512;
+
+const int SA_USERSPACE_MASK = 127;
+
+const int SIG_BLOCK = 1;
+
+const int SIG_UNBLOCK = 2;
+
+const int SIG_SETMASK = 3;
+
+const int SI_USER = 65537;
+
+const int SI_QUEUE = 65538;
+
+const int SI_TIMER = 65539;
+
+const int SI_ASYNCIO = 65540;
+
+const int SI_MESGQ = 65541;
+
+const int SS_ONSTACK = 1;
+
+const int SS_DISABLE = 4;
+
+const int MINSIGSTKSZ = 32768;
+
+const int SIGSTKSZ = 131072;
+
+const int SV_ONSTACK = 1;
+
+const int SV_INTERRUPT = 2;
+
+const int SV_RESETHAND = 4;
+
+const int SV_NODEFER = 16;
+
+const int SV_NOCLDSTOP = 8;
+
+const int SV_SIGINFO = 64;
+
+const int RENAME_SECLUDE = 1;
+
+const int RENAME_SWAP = 2;
+
+const int RENAME_EXCL = 4;
+
+const int RENAME_RESERVED1 = 8;
+
+const int RENAME_NOFOLLOW_ANY = 16;
+
+const int __SLBF = 1;
+
+const int __SNBF = 2;
+
+const int __SRD = 4;
+
+const int __SWR = 8;
+
+const int __SRW = 16;
+
+const int __SEOF = 32;
+
+const int __SERR = 64;
+
+const int __SMBF = 128;
+
+const int __SAPP = 256;
+
+const int __SSTR = 512;
+
+const int __SOPT = 1024;
+
+const int __SNPT = 2048;
+
+const int __SOFF = 4096;
+
+const int __SMOD = 8192;
+
+const int __SALC = 16384;
+
+const int __SIGN = 32768;
+
+const int _IOFBF = 0;
+
+const int _IOLBF = 1;
+
+const int _IONBF = 2;
+
+const int BUFSIZ = 1024;
+
+const int EOF = -1;
+
+const int FOPEN_MAX = 20;
+
+const int FILENAME_MAX = 1024;
+
+const String P_tmpdir = '/var/tmp/';
+
+const int L_tmpnam = 1024;
+
+const int TMP_MAX = 308915776;
+
+const int SEEK_SET = 0;
+
+const int SEEK_CUR = 1;
+
+const int SEEK_END = 2;
+
+const int L_ctermid = 1024;
+
+const int __WORDSIZE = 64;
+
+const int INT8_MAX = 127;
+
+const int INT16_MAX = 32767;
+
+const int INT32_MAX = 2147483647;
+
+const int INT64_MAX = 9223372036854775807;
+
+const int INT8_MIN = -128;
+
+const int INT16_MIN = -32768;
+
+const int INT32_MIN = -2147483648;
+
+const int INT64_MIN = -9223372036854775808;
+
+const int UINT8_MAX = 255;
+
+const int UINT16_MAX = 65535;
+
+const int UINT32_MAX = 4294967295;
+
+const int UINT64_MAX = -1;
+
+const int INT_LEAST8_MIN = -128;
+
+const int INT_LEAST16_MIN = -32768;
+
+const int INT_LEAST32_MIN = -2147483648;
+
+const int INT_LEAST64_MIN = -9223372036854775808;
+
+const int INT_LEAST8_MAX = 127;
+
+const int INT_LEAST16_MAX = 32767;
+
+const int INT_LEAST32_MAX = 2147483647;
+
+const int INT_LEAST64_MAX = 9223372036854775807;
+
+const int UINT_LEAST8_MAX = 255;
+
+const int UINT_LEAST16_MAX = 65535;
+
+const int UINT_LEAST32_MAX = 4294967295;
+
+const int UINT_LEAST64_MAX = -1;
+
+const int INT_FAST8_MIN = -128;
+
+const int INT_FAST16_MIN = -32768;
+
+const int INT_FAST32_MIN = -2147483648;
+
+const int INT_FAST64_MIN = -9223372036854775808;
+
+const int INT_FAST8_MAX = 127;
+
+const int INT_FAST16_MAX = 32767;
+
+const int INT_FAST32_MAX = 2147483647;
+
+const int INT_FAST64_MAX = 9223372036854775807;
+
+const int UINT_FAST8_MAX = 255;
+
+const int UINT_FAST16_MAX = 65535;
+
+const int UINT_FAST32_MAX = 4294967295;
+
+const int UINT_FAST64_MAX = -1;
+
+const int INTPTR_MAX = 9223372036854775807;
+
+const int INTPTR_MIN = -9223372036854775808;
+
+const int UINTPTR_MAX = -1;
+
+const int INTMAX_MAX = 9223372036854775807;
+
+const int UINTMAX_MAX = -1;
+
+const int INTMAX_MIN = -9223372036854775808;
+
+const int PTRDIFF_MIN = -9223372036854775808;
+
+const int PTRDIFF_MAX = 9223372036854775807;
+
+const int SIZE_MAX = -1;
+
+const int RSIZE_MAX = 9223372036854775807;
+
+const int WCHAR_MAX = 2147483647;
+
+const int WCHAR_MIN = -2147483648;
+
+const int WINT_MIN = -2147483648;
+
+const int WINT_MAX = 2147483647;
+
+const int SIG_ATOMIC_MIN = -2147483648;
+
+const int SIG_ATOMIC_MAX = 2147483647;
+
+const int PRIO_PROCESS = 0;
+
+const int PRIO_PGRP = 1;
+
+const int PRIO_USER = 2;
+
+const int PRIO_DARWIN_THREAD = 3;
+
+const int PRIO_DARWIN_PROCESS = 4;
+
+const int PRIO_MIN = -20;
+
+const int PRIO_MAX = 20;
+
+const int PRIO_DARWIN_BG = 4096;
+
+const int PRIO_DARWIN_NONUI = 4097;
+
+const int RUSAGE_SELF = 0;
+
+const int RUSAGE_CHILDREN = -1;
+
+const int RUSAGE_INFO_V0 = 0;
+
+const int RUSAGE_INFO_V1 = 1;
+
+const int RUSAGE_INFO_V2 = 2;
+
+const int RUSAGE_INFO_V3 = 3;
+
+const int RUSAGE_INFO_V4 = 4;
+
+const int RUSAGE_INFO_V5 = 5;
+
+const int RUSAGE_INFO_V6 = 6;
+
+const int RUSAGE_INFO_CURRENT = 6;
+
+const int RU_PROC_RUNS_RESLIDE = 1;
+
+const int RLIM_INFINITY = 9223372036854775807;
+
+const int RLIM_SAVED_MAX = 9223372036854775807;
+
+const int RLIM_SAVED_CUR = 9223372036854775807;
+
+const int RLIMIT_CPU = 0;
+
+const int RLIMIT_FSIZE = 1;
+
+const int RLIMIT_DATA = 2;
+
+const int RLIMIT_STACK = 3;
+
+const int RLIMIT_CORE = 4;
+
+const int RLIMIT_AS = 5;
+
+const int RLIMIT_RSS = 5;
+
+const int RLIMIT_MEMLOCK = 6;
+
+const int RLIMIT_NPROC = 7;
+
+const int RLIMIT_NOFILE = 8;
+
+const int RLIM_NLIMITS = 9;
+
+const int _RLIMIT_POSIX_FLAG = 4096;
+
+const int RLIMIT_WAKEUPS_MONITOR = 1;
+
+const int RLIMIT_CPU_USAGE_MONITOR = 2;
+
+const int RLIMIT_THREAD_CPULIMITS = 3;
+
+const int RLIMIT_FOOTPRINT_INTERVAL = 4;
+
+const int WAKEMON_ENABLE = 1;
+
+const int WAKEMON_DISABLE = 2;
+
+const int WAKEMON_GET_PARAMS = 4;
+
+const int WAKEMON_SET_DEFAULTS = 8;
+
+const int WAKEMON_MAKE_FATAL = 16;
+
+const int CPUMON_MAKE_FATAL = 4096;
+
+const int FOOTPRINT_INTERVAL_RESET = 1;
+
+const int IOPOL_TYPE_DISK = 0;
+
+const int IOPOL_TYPE_VFS_ATIME_UPDATES = 2;
+
+const int IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3;
+
+const int IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4;
+
+const int IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5;
+
+const int IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6;
+
+const int IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7;
+
+const int IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8;
+
+const int IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9;
+
+const int IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 10;
+
+const int IOPOL_SCOPE_PROCESS = 0;
+
+const int IOPOL_SCOPE_THREAD = 1;
+
+const int IOPOL_SCOPE_DARWIN_BG = 2;
+
+const int IOPOL_DEFAULT = 0;
+
+const int IOPOL_IMPORTANT = 1;
+
+const int IOPOL_PASSIVE = 2;
+
+const int IOPOL_THROTTLE = 3;
+
+const int IOPOL_UTILITY = 4;
+
+const int IOPOL_STANDARD = 5;
+
+const int IOPOL_APPLICATION = 5;
+
+const int IOPOL_NORMAL = 1;
+
+const int IOPOL_ATIME_UPDATES_DEFAULT = 0;
+
+const int IOPOL_ATIME_UPDATES_OFF = 1;
+
+const int IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0;
+
+const int IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1;
+
+const int IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2;
+
+const int IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0;
+
+const int IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1;
+
+const int IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0;
+
+const int IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1;
+
+const int IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0;
+
+const int IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1;
+
+const int IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0;
+
+const int IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1;
+
+const int IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0;
+
+const int IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1;
+
+const int IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0;
+
+const int IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1;
+
+const int IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0;
+
+const int IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 1;
+
+const int WNOHANG = 1;
+
+const int WUNTRACED = 2;
+
+const int WCOREFLAG = 128;
+
+const int _WSTOPPED = 127;
+
+const int WEXITED = 4;
+
+const int WSTOPPED = 8;
+
+const int WCONTINUED = 16;
+
+const int WNOWAIT = 32;
+
+const int WAIT_ANY = -1;
+
+const int WAIT_MYPGRP = 0;
+
+const int EXIT_FAILURE = 1;
+
+const int EXIT_SUCCESS = 0;
+
+const int RAND_MAX = 2147483647;
+
+const int CLOCKS_PER_SEC = 1000000;
+
+const int CLOCK_REALTIME = 0;
+
+const int CLOCK_MONOTONIC = 6;
+
+const int CLOCK_MONOTONIC_RAW = 4;
+
+const int CLOCK_MONOTONIC_RAW_APPROX = 5;
+
+const int CLOCK_UPTIME_RAW = 8;
+
+const int CLOCK_UPTIME_RAW_APPROX = 9;
+
+const int CLOCK_PROCESS_CPUTIME_ID = 12;
+
+const int CLOCK_THREAD_CPUTIME_ID = 16;
+
+const int TIME_UTC = 1;
+
+const int __bool_true_false_are_defined = 1;
+
+const int true1 = 1;
+
+const int false1 = 0;
+
+const int __COREFOUNDATION_CFBASE__ = 1;
+
+const int TARGET_OS_OSX = 0;
+
+const int TARGET_OS_IPHONE = 1;
+
+const int TARGET_OS_IOS = 1;
+
+const int TARGET_OS_WATCH = 0;
+
+const int TARGET_OS_TV = 0;
+
+const int TARGET_OS_SIMULATOR = 1;
+
+const int TARGET_OS_EMBEDDED = 0;
+
+const int TARGET_OS_RTKIT = 0;
+
+const int TARGET_OS_MACCATALYST = 0;
+
+const int TARGET_OS_UIKITFORMAC = 0;
+
+const int TARGET_OS_DRIVERKIT = 0;
+
+const int DYNAMIC_TARGETS_ENABLED = 1;
+
+const int TARGET_OS_MAC = 1;
+
+const int TARGET_OS_WIN32 = 0;
+
+const int TARGET_OS_WINDOWS = 0;
+
+const int TARGET_OS_UNIX = 0;
+
+const int TARGET_OS_LINUX = 0;
+
+const int TARGET_IPHONE_SIMULATOR = 1;
+
+const int TARGET_OS_NANO = 0;
+
+const int TARGET_ABI_USES_IOS_VALUES = 1;
+
+const int TARGET_CPU_PPC = 0;
+
+const int TARGET_CPU_PPC64 = 0;
+
+const int TARGET_CPU_68K = 0;
+
+const int TARGET_CPU_X86 = 0;
+
+const int TARGET_CPU_X86_64 = 1;
+
+const int TARGET_CPU_ARM = 0;
+
+const int TARGET_CPU_ARM64 = 0;
+
+const int TARGET_CPU_MIPS = 0;
+
+const int TARGET_CPU_SPARC = 0;
+
+const int TARGET_CPU_ALPHA = 0;
+
+const int TARGET_RT_MAC_CFM = 0;
+
+const int TARGET_RT_MAC_MACHO = 1;
+
+const int TARGET_RT_LITTLE_ENDIAN = 1;
+
+const int TARGET_RT_BIG_ENDIAN = 0;
+
+const int TARGET_RT_64_BIT = 1;
+
+const int __COREFOUNDATION_CFAVAILABILITY__ = 1;
+
+const int API_TO_BE_DEPRECATED = 100000;
+
+const int API_TO_BE_DEPRECATED_MACOS = 100000;
+
+const int API_TO_BE_DEPRECATED_IOS = 100000;
+
+const int API_TO_BE_DEPRECATED_TVOS = 100000;
+
+const int API_TO_BE_DEPRECATED_WATCHOS = 100000;
+
+const int API_TO_BE_DEPRECATED_DRIVERKIT = 100000;
+
+const int MAC_OS_VERSION_11_1 = 110100;
+
+const int MAC_OS_VERSION_11_3 = 110300;
+
+const int MAC_OS_VERSION_13_1 = 130100;
+
+const int MAC_OS_X_VERSION_MIN_REQUIRED = 1040;
+
+const int MAC_OS_X_VERSION_MAX_ALLOWED = 130100;
+
+const int __AVAILABILITY_MACROS_USES_AVAILABILITY = 1;
+
+const int __IPHONE_COMPAT_VERSION = 40000;
+
+const int __CF_ENUM_FIXED_IS_AVAILABLE = 1;
+
+const int UNIVERSAL_INTERFACES_VERSION = 1024;
+
+const int PRAGMA_IMPORT = 0;
+
+const int PRAGMA_ONCE = 0;
+
+const int PRAGMA_STRUCT_PACK = 1;
+
+const int PRAGMA_STRUCT_PACKPUSH = 1;
+
+const int PRAGMA_STRUCT_ALIGN = 0;
+
+const int PRAGMA_ENUM_PACK = 0;
+
+const int PRAGMA_ENUM_ALWAYSINT = 0;
+
+const int PRAGMA_ENUM_OPTIONS = 0;
+
+const int TYPE_EXTENDED = 0;
+
+const int TYPE_LONGDOUBLE_IS_DOUBLE = 0;
+
+const int TYPE_LONGLONG = 1;
+
+const int FUNCTION_PASCAL = 0;
+
+const int FUNCTION_DECLSPEC = 0;
+
+const int FUNCTION_WIN32CC = 0;
+
+const int TARGET_API_MAC_OS8 = 0;
+
+const int TARGET_API_MAC_CARBON = 1;
+
+const int TARGET_API_MAC_OSX = 1;
+
+const int TARGET_CARBON = 1;
+
+const int OLDROUTINENAMES = 0;
+
+const int OPAQUE_TOOLBOX_STRUCTS = 1;
+
+const int OPAQUE_UPP_TYPES = 1;
+
+const int ACCESSOR_CALLS_ARE_FUNCTIONS = 1;
+
+const int CALL_NOT_IN_CARBON = 0;
+
+const int MIXEDMODE_CALLS_ARE_FUNCTIONS = 1;
+
+const int ALLOW_OBSOLETE_CARBON_MACMEMORY = 0;
+
+const int ALLOW_OBSOLETE_CARBON_OSUTILS = 0;
+
+const int kInvalidID = 0;
+
+const int TRUE = 1;
+
+const int FALSE = 0;
+
+const double kCFCoreFoundationVersionNumber10_0 = 196.4;
+
+const double kCFCoreFoundationVersionNumber10_0_3 = 196.5;
+
+const double kCFCoreFoundationVersionNumber10_1 = 226.0;
+
+const double kCFCoreFoundationVersionNumber10_1_1 = 226.0;
+
+const double kCFCoreFoundationVersionNumber10_1_2 = 227.2;
+
+const double kCFCoreFoundationVersionNumber10_1_3 = 227.2;
+
+const double kCFCoreFoundationVersionNumber10_1_4 = 227.3;
+
+const double kCFCoreFoundationVersionNumber10_2 = 263.0;
+
+const double kCFCoreFoundationVersionNumber10_2_1 = 263.1;
+
+const double kCFCoreFoundationVersionNumber10_2_2 = 263.1;
+
+const double kCFCoreFoundationVersionNumber10_2_3 = 263.3;
+
+const double kCFCoreFoundationVersionNumber10_2_4 = 263.3;
+
+const double kCFCoreFoundationVersionNumber10_2_5 = 263.5;
+
+const double kCFCoreFoundationVersionNumber10_2_6 = 263.5;
+
+const double kCFCoreFoundationVersionNumber10_2_7 = 263.5;
+
+const double kCFCoreFoundationVersionNumber10_2_8 = 263.5;
+
+const double kCFCoreFoundationVersionNumber10_3 = 299.0;
+
+const double kCFCoreFoundationVersionNumber10_3_1 = 299.0;
+
+const double kCFCoreFoundationVersionNumber10_3_2 = 299.0;
+
+const double kCFCoreFoundationVersionNumber10_3_3 = 299.3;
+
+const double kCFCoreFoundationVersionNumber10_3_4 = 299.31;
+
+const double kCFCoreFoundationVersionNumber10_3_5 = 299.31;
+
+const double kCFCoreFoundationVersionNumber10_3_6 = 299.32;
+
+const double kCFCoreFoundationVersionNumber10_3_7 = 299.33;
+
+const double kCFCoreFoundationVersionNumber10_3_8 = 299.33;
+
+const double kCFCoreFoundationVersionNumber10_3_9 = 299.35;
+
+const double kCFCoreFoundationVersionNumber10_4 = 368.0;
+
+const double kCFCoreFoundationVersionNumber10_4_1 = 368.1;
+
+const double kCFCoreFoundationVersionNumber10_4_2 = 368.11;
+
+const double kCFCoreFoundationVersionNumber10_4_3 = 368.18;
+
+const double kCFCoreFoundationVersionNumber10_4_4_Intel = 368.26;
+
+const double kCFCoreFoundationVersionNumber10_4_4_PowerPC = 368.25;
+
+const double kCFCoreFoundationVersionNumber10_4_5_Intel = 368.26;
+
+const double kCFCoreFoundationVersionNumber10_4_5_PowerPC = 368.25;
+
+const double kCFCoreFoundationVersionNumber10_4_6_Intel = 368.26;
+
+const double kCFCoreFoundationVersionNumber10_4_6_PowerPC = 368.25;
+
+const double kCFCoreFoundationVersionNumber10_4_7 = 368.27;
+
+const double kCFCoreFoundationVersionNumber10_4_8 = 368.27;
+
+const double kCFCoreFoundationVersionNumber10_4_9 = 368.28;
+
+const double kCFCoreFoundationVersionNumber10_4_10 = 368.28;
+
+const double kCFCoreFoundationVersionNumber10_4_11 = 368.31;
+
+const double kCFCoreFoundationVersionNumber10_5 = 476.0;
+
+const double kCFCoreFoundationVersionNumber10_5_1 = 476.0;
+
+const double kCFCoreFoundationVersionNumber10_5_2 = 476.1;
+
+const double kCFCoreFoundationVersionNumber10_5_3 = 476.13;
+
+const double kCFCoreFoundationVersionNumber10_5_4 = 476.14;
+
+const double kCFCoreFoundationVersionNumber10_5_5 = 476.15;
+
+const double kCFCoreFoundationVersionNumber10_5_6 = 476.17;
+
+const double kCFCoreFoundationVersionNumber10_5_7 = 476.18;
+
+const double kCFCoreFoundationVersionNumber10_5_8 = 476.19;
+
+const double kCFCoreFoundationVersionNumber10_6 = 550.0;
+
+const double kCFCoreFoundationVersionNumber10_6_1 = 550.0;
+
+const double kCFCoreFoundationVersionNumber10_6_2 = 550.13;
+
+const double kCFCoreFoundationVersionNumber10_6_3 = 550.19;
+
+const double kCFCoreFoundationVersionNumber10_6_4 = 550.29;
+
+const double kCFCoreFoundationVersionNumber10_6_5 = 550.42;
+
+const double kCFCoreFoundationVersionNumber10_6_6 = 550.42;
+
+const double kCFCoreFoundationVersionNumber10_6_7 = 550.42;
+
+const double kCFCoreFoundationVersionNumber10_6_8 = 550.43;
+
+const double kCFCoreFoundationVersionNumber10_7 = 635.0;
+
+const double kCFCoreFoundationVersionNumber10_7_1 = 635.0;
+
+const double kCFCoreFoundationVersionNumber10_7_2 = 635.15;
+
+const double kCFCoreFoundationVersionNumber10_7_3 = 635.19;
+
+const double kCFCoreFoundationVersionNumber10_7_4 = 635.21;
+
+const double kCFCoreFoundationVersionNumber10_7_5 = 635.21;
+
+const double kCFCoreFoundationVersionNumber10_8 = 744.0;
+
+const double kCFCoreFoundationVersionNumber10_8_1 = 744.0;
+
+const double kCFCoreFoundationVersionNumber10_8_2 = 744.12;
+
+const double kCFCoreFoundationVersionNumber10_8_3 = 744.18;
+
+const double kCFCoreFoundationVersionNumber10_8_4 = 744.19;
+
+const double kCFCoreFoundationVersionNumber10_9 = 855.11;
+
+const double kCFCoreFoundationVersionNumber10_9_1 = 855.11;
+
+const double kCFCoreFoundationVersionNumber10_9_2 = 855.14;
+
+const double kCFCoreFoundationVersionNumber10_10 = 1151.16;
+
+const double kCFCoreFoundationVersionNumber10_10_1 = 1151.16;
+
+const int kCFCoreFoundationVersionNumber10_10_2 = 1152;
+
+const double kCFCoreFoundationVersionNumber10_10_3 = 1153.18;
+
+const double kCFCoreFoundationVersionNumber10_10_4 = 1153.18;
+
+const double kCFCoreFoundationVersionNumber10_10_5 = 1153.18;
+
+const int kCFCoreFoundationVersionNumber10_10_Max = 1199;
+
+const int kCFCoreFoundationVersionNumber10_11 = 1253;
+
+const double kCFCoreFoundationVersionNumber10_11_1 = 1255.1;
+
+const double kCFCoreFoundationVersionNumber10_11_2 = 1256.14;
+
+const double kCFCoreFoundationVersionNumber10_11_3 = 1256.14;
+
+const double kCFCoreFoundationVersionNumber10_11_4 = 1258.1;
+
+const int kCFCoreFoundationVersionNumber10_11_Max = 1299;
+
+const double kCFCoreFoundationVersionNumber_iPhoneOS_2_0 = 478.23;
+
+const double kCFCoreFoundationVersionNumber_iPhoneOS_2_1 = 478.26;
+
+const double kCFCoreFoundationVersionNumber_iPhoneOS_2_2 = 478.29;
+
+const double kCFCoreFoundationVersionNumber_iPhoneOS_3_0 = 478.47;
+
+const double kCFCoreFoundationVersionNumber_iPhoneOS_3_1 = 478.52;
+
+const double kCFCoreFoundationVersionNumber_iPhoneOS_3_2 = 478.61;
+
+const double kCFCoreFoundationVersionNumber_iOS_4_0 = 550.32;
+
+const double kCFCoreFoundationVersionNumber_iOS_4_1 = 550.38;
+
+const double kCFCoreFoundationVersionNumber_iOS_4_2 = 550.52;
+
+const double kCFCoreFoundationVersionNumber_iOS_4_3 = 550.52;
+
+const double kCFCoreFoundationVersionNumber_iOS_5_0 = 675.0;
+
+const double kCFCoreFoundationVersionNumber_iOS_5_1 = 690.1;
+
+const double kCFCoreFoundationVersionNumber_iOS_6_0 = 793.0;
+
+const double kCFCoreFoundationVersionNumber_iOS_6_1 = 793.0;
+
+const double kCFCoreFoundationVersionNumber_iOS_7_0 = 847.2;
+
+const double kCFCoreFoundationVersionNumber_iOS_7_1 = 847.24;
+
+const double kCFCoreFoundationVersionNumber_iOS_8_0 = 1140.1;
+
+const double kCFCoreFoundationVersionNumber_iOS_8_1 = 1141.14;
+
+const double kCFCoreFoundationVersionNumber_iOS_8_2 = 1142.16;
+
+const double kCFCoreFoundationVersionNumber_iOS_8_3 = 1144.17;
+
+const double kCFCoreFoundationVersionNumber_iOS_8_4 = 1145.15;
+
+const int kCFCoreFoundationVersionNumber_iOS_8_x_Max = 1199;
+
+const double kCFCoreFoundationVersionNumber_iOS_9_0 = 1240.1;
+
+const double kCFCoreFoundationVersionNumber_iOS_9_1 = 1241.11;
+
+const double kCFCoreFoundationVersionNumber_iOS_9_2 = 1242.13;
+
+const double kCFCoreFoundationVersionNumber_iOS_9_3 = 1242.13;
+
+const double kCFCoreFoundationVersionNumber_iOS_9_4 = 1280.38;
+
+const int kCFCoreFoundationVersionNumber_iOS_9_x_Max = 1299;
+
+const int ISA_PTRAUTH_DISCRIMINATOR = 27361;
+
+const int __COREFOUNDATION_CFARRAY__ = 1;
+
+const int __COREFOUNDATION_CFBAG__ = 1;
+
+const int __COREFOUNDATION_CFBINARYHEAP__ = 1;
+
+const int __COREFOUNDATION_CFBITVECTOR__ = 1;
+
+const int __COREFOUNDATION_CFBYTEORDER__ = 1;
+
+const int CF_USE_OSBYTEORDER_H = 1;
+
+const int __COREFOUNDATION_CFCALENDAR__ = 1;
+
+const int __COREFOUNDATION_CFLOCALE__ = 1;
+
+const int __COREFOUNDATION_CFDICTIONARY__ = 1;
+
+const int __COREFOUNDATION_CFNOTIFICATIONCENTER__ = 1;
+
+const int __COREFOUNDATION_CFDATE__ = 1;
+
+const int __COREFOUNDATION_CFTIMEZONE__ = 1;
+
+const int __COREFOUNDATION_CFDATA__ = 1;
+
+const int __COREFOUNDATION_CFSTRING__ = 1;
+
+const int __COREFOUNDATION_CFCHARACTERSET__ = 1;
+
+const int __COREFOUNDATION_CFERROR__ = 1;
+
+const int kCFStringEncodingInvalidId = 4294967295;
+
+const int __kCFStringInlineBufferLength = 64;
+
+const int __COREFOUNDATION_CFCGTYPES__ = 1;
+
+const int CGFLOAT_IS_DOUBLE = 1;
+
+const double CGFLOAT_MIN = 2.2250738585072014e-308;
+
+const double CGFLOAT_MAX = 1.7976931348623157e+308;
+
+const double CGFLOAT_EPSILON = 2.220446049250313e-16;
+
+const int CGFLOAT_DEFINED = 1;
+
+const int CGVECTOR_DEFINED = 1;
+
+const int __COREFOUNDATION_CFDATEFORMATTER__ = 1;
+
+const int __COREFOUNDATION_CFNUMBER__ = 1;
+
+const int __COREFOUNDATION_CFNUMBERFORMATTER__ = 1;
+
+const int __COREFOUNDATION_CFPREFERENCES__ = 1;
+
+const int __COREFOUNDATION_CFPROPERTYLIST__ = 1;
+
+const int __COREFOUNDATION_CFSTREAM__ = 1;
+
+const int __COREFOUNDATION_CFURL__ = 1;
+
+const int __COREFOUNDATION_CFRUNLOOP__ = 1;
+
+const int MACH_PORT_NULL = 0;
+
+const int MACH_PORT_DEAD = 4294967295;
+
+const int MACH_PORT_RIGHT_SEND = 0;
+
+const int MACH_PORT_RIGHT_RECEIVE = 1;
+
+const int MACH_PORT_RIGHT_SEND_ONCE = 2;
+
+const int MACH_PORT_RIGHT_PORT_SET = 3;
+
+const int MACH_PORT_RIGHT_DEAD_NAME = 4;
+
+const int MACH_PORT_RIGHT_LABELH = 5;
+
+const int MACH_PORT_RIGHT_NUMBER = 6;
+
+const int MACH_PORT_TYPE_NONE = 0;
+
+const int MACH_PORT_TYPE_SEND = 65536;
+
+const int MACH_PORT_TYPE_RECEIVE = 131072;
+
+const int MACH_PORT_TYPE_SEND_ONCE = 262144;
+
+const int MACH_PORT_TYPE_PORT_SET = 524288;
+
+const int MACH_PORT_TYPE_DEAD_NAME = 1048576;
+
+const int MACH_PORT_TYPE_LABELH = 2097152;
+
+const int MACH_PORT_TYPE_SEND_RECEIVE = 196608;
+
+const int MACH_PORT_TYPE_SEND_RIGHTS = 327680;
+
+const int MACH_PORT_TYPE_PORT_RIGHTS = 458752;
+
+const int MACH_PORT_TYPE_PORT_OR_DEAD = 1507328;
+
+const int MACH_PORT_TYPE_ALL_RIGHTS = 2031616;
+
+const int MACH_PORT_TYPE_DNREQUEST = 2147483648;
+
+const int MACH_PORT_TYPE_SPREQUEST = 1073741824;
+
+const int MACH_PORT_TYPE_SPREQUEST_DELAYED = 536870912;
+
+const int MACH_PORT_SRIGHTS_NONE = 0;
+
+const int MACH_PORT_SRIGHTS_PRESENT = 1;
+
+const int MACH_PORT_QLIMIT_ZERO = 0;
+
+const int MACH_PORT_QLIMIT_BASIC = 5;
+
+const int MACH_PORT_QLIMIT_SMALL = 16;
+
+const int MACH_PORT_QLIMIT_LARGE = 1024;
+
+const int MACH_PORT_QLIMIT_KERNEL = 65534;
+
+const int MACH_PORT_QLIMIT_MIN = 0;
+
+const int MACH_PORT_QLIMIT_DEFAULT = 5;
+
+const int MACH_PORT_QLIMIT_MAX = 1024;
+
+const int MACH_PORT_STATUS_FLAG_TEMPOWNER = 1;
+
+const int MACH_PORT_STATUS_FLAG_GUARDED = 2;
+
+const int MACH_PORT_STATUS_FLAG_STRICT_GUARD = 4;
+
+const int MACH_PORT_STATUS_FLAG_IMP_DONATION = 8;
+
+const int MACH_PORT_STATUS_FLAG_REVIVE = 16;
+
+const int MACH_PORT_STATUS_FLAG_TASKPTR = 32;
+
+const int MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE = 64;
+
+const int MACH_PORT_STATUS_FLAG_NO_GRANT = 128;
+
+const int MACH_PORT_LIMITS_INFO = 1;
+
+const int MACH_PORT_RECEIVE_STATUS = 2;
+
+const int MACH_PORT_DNREQUESTS_SIZE = 3;
+
+const int MACH_PORT_TEMPOWNER = 4;
+
+const int MACH_PORT_IMPORTANCE_RECEIVER = 5;
+
+const int MACH_PORT_DENAP_RECEIVER = 6;
+
+const int MACH_PORT_INFO_EXT = 7;
+
+const int MACH_PORT_GUARD_INFO = 8;
+
+const int MACH_PORT_LIMITS_INFO_COUNT = 1;
+
+const int MACH_PORT_RECEIVE_STATUS_COUNT = 10;
+
+const int MACH_PORT_DNREQUESTS_SIZE_COUNT = 1;
+
+const int MACH_PORT_INFO_EXT_COUNT = 17;
+
+const int MACH_PORT_GUARD_INFO_COUNT = 2;
+
+const int MACH_SERVICE_PORT_INFO_STRING_NAME_MAX_BUF_LEN = 255;
+
+const int MACH_SERVICE_PORT_INFO_COUNT = 0;
+
+const int MPO_CONTEXT_AS_GUARD = 1;
+
+const int MPO_QLIMIT = 2;
+
+const int MPO_TEMPOWNER = 4;
+
+const int MPO_IMPORTANCE_RECEIVER = 8;
+
+const int MPO_INSERT_SEND_RIGHT = 16;
+
+const int MPO_STRICT = 32;
+
+const int MPO_DENAP_RECEIVER = 64;
+
+const int MPO_IMMOVABLE_RECEIVE = 128;
+
+const int MPO_FILTER_MSG = 256;
+
+const int MPO_TG_BLOCK_TRACKING = 512;
+
+const int MPO_SERVICE_PORT = 1024;
+
+const int MPO_CONNECTION_PORT = 2048;
+
+const int MPO_REPLY_PORT = 4096;
+
+const int MPO_ENFORCE_REPLY_PORT_SEMANTICS = 8192;
+
+const int MPO_PROVISIONAL_REPLY_PORT = 16384;
+
+const int GUARD_TYPE_MACH_PORT = 1;
+
+const int MAX_FATAL_kGUARD_EXC_CODE = 128;
+
+const int MPG_FLAGS_NONE = 0;
+
+const int MAX_OPTIONAL_kGUARD_EXC_CODE = 524288;
+
+const int MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP = 72057594037927936;
+
+const int MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_PORT = 144115188075855872;
+
+const int MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER = 288230376151711744;
+
+const int MPG_FLAGS_STRICT_REPLY_NO_BANK_ATTR = 576460752303423488;
+
+const int MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA = 1152921504606846976;
+
+const int MPG_FLAGS_STRICT_REPLY_MASK = -72057594037927936;
+
+const int MPG_FLAGS_MOD_REFS_PINNED_DEALLOC = 72057594037927936;
+
+const int MPG_FLAGS_MOD_REFS_PINNED_DESTROY = 144115188075855872;
+
+const int MPG_FLAGS_MOD_REFS_PINNED_COPYIN = 288230376151711744;
+
+const int MPG_FLAGS_IMMOVABLE_PINNED = 72057594037927936;
+
+const int MPG_STRICT = 1;
+
+const int MPG_IMMOVABLE_RECEIVE = 2;
+
+const int __COREFOUNDATION_CFSOCKET__ = 1;
+
+const int _POSIX_VERSION = 200112;
+
+const int _POSIX2_VERSION = 200112;
+
+const int _POSIX_VDISABLE = 255;
+
+const int F_OK = 0;
+
+const int X_OK = 1;
+
+const int W_OK = 2;
+
+const int R_OK = 4;
+
+const int _READ_OK = 512;
+
+const int _WRITE_OK = 1024;
+
+const int _EXECUTE_OK = 2048;
+
+const int _DELETE_OK = 4096;
+
+const int _APPEND_OK = 8192;
+
+const int _RMFILE_OK = 16384;
+
+const int _RATTR_OK = 32768;
+
+const int _WATTR_OK = 65536;
+
+const int _REXT_OK = 131072;
+
+const int _WEXT_OK = 262144;
+
+const int _RPERM_OK = 524288;
+
+const int _WPERM_OK = 1048576;
+
+const int _CHOWN_OK = 2097152;
+
+const int _ACCESS_EXTENDED_MASK = 4193792;
+
+const int SEEK_HOLE = 3;
+
+const int SEEK_DATA = 4;
+
+const int L_SET = 0;
+
+const int L_INCR = 1;
+
+const int L_XTND = 2;
+
+const int ACCESSX_MAX_DESCRIPTORS = 100;
+
+const int ACCESSX_MAX_TABLESIZE = 16384;
+
+const int _PC_LINK_MAX = 1;
+
+const int _PC_MAX_CANON = 2;
+
+const int _PC_MAX_INPUT = 3;
+
+const int _PC_NAME_MAX = 4;
+
+const int _PC_PATH_MAX = 5;
+
+const int _PC_PIPE_BUF = 6;
+
+const int _PC_CHOWN_RESTRICTED = 7;
+
+const int _PC_NO_TRUNC = 8;
+
+const int _PC_VDISABLE = 9;
+
+const int _PC_NAME_CHARS_MAX = 10;
+
+const int _PC_CASE_SENSITIVE = 11;
+
+const int _PC_CASE_PRESERVING = 12;
+
+const int _PC_EXTENDED_SECURITY_NP = 13;
+
+const int _PC_AUTH_OPAQUE_NP = 14;
+
+const int _PC_2_SYMLINKS = 15;
+
+const int _PC_ALLOC_SIZE_MIN = 16;
+
+const int _PC_ASYNC_IO = 17;
+
+const int _PC_FILESIZEBITS = 18;
+
+const int _PC_PRIO_IO = 19;
+
+const int _PC_REC_INCR_XFER_SIZE = 20;
+
+const int _PC_REC_MAX_XFER_SIZE = 21;
+
+const int _PC_REC_MIN_XFER_SIZE = 22;
+
+const int _PC_REC_XFER_ALIGN = 23;
+
+const int _PC_SYMLINK_MAX = 24;
+
+const int _PC_SYNC_IO = 25;
+
+const int _PC_XATTR_SIZE_BITS = 26;
+
+const int _PC_MIN_HOLE_SIZE = 27;
+
+const int _CS_PATH = 1;
+
+const int STDIN_FILENO = 0;
+
+const int STDOUT_FILENO = 1;
+
+const int STDERR_FILENO = 2;
+
+const int _XOPEN_VERSION = 600;
+
+const int _XOPEN_XCU_VERSION = 4;
+
+const int _POSIX_ADVISORY_INFO = -1;
+
+const int _POSIX_ASYNCHRONOUS_IO = -1;
+
+const int _POSIX_BARRIERS = -1;
+
+const int _POSIX_CHOWN_RESTRICTED = 200112;
+
+const int _POSIX_CLOCK_SELECTION = -1;
+
+const int _POSIX_CPUTIME = -1;
+
+const int _POSIX_FSYNC = 200112;
+
+const int _POSIX_IPV6 = 200112;
+
+const int _POSIX_JOB_CONTROL = 200112;
+
+const int _POSIX_MAPPED_FILES = 200112;
+
+const int _POSIX_MEMLOCK = -1;
+
+const int _POSIX_MEMLOCK_RANGE = -1;
+
+const int _POSIX_MEMORY_PROTECTION = 200112;
+
+const int _POSIX_MESSAGE_PASSING = -1;
+
+const int _POSIX_MONOTONIC_CLOCK = -1;
+
+const int _POSIX_NO_TRUNC = 200112;
+
+const int _POSIX_PRIORITIZED_IO = -1;
+
+const int _POSIX_PRIORITY_SCHEDULING = -1;
+
+const int _POSIX_RAW_SOCKETS = -1;
+
+const int _POSIX_READER_WRITER_LOCKS = 200112;
+
+const int _POSIX_REALTIME_SIGNALS = -1;
+
+const int _POSIX_REGEXP = 200112;
+
+const int _POSIX_SAVED_IDS = 200112;
+
+const int _POSIX_SEMAPHORES = -1;
+
+const int _POSIX_SHARED_MEMORY_OBJECTS = -1;
+
+const int _POSIX_SHELL = 200112;
+
+const int _POSIX_SPAWN = -1;
+
+const int _POSIX_SPIN_LOCKS = -1;
+
+const int _POSIX_SPORADIC_SERVER = -1;
+
+const int _POSIX_SYNCHRONIZED_IO = -1;
+
+const int _POSIX_THREAD_ATTR_STACKADDR = 200112;
+
+const int _POSIX_THREAD_ATTR_STACKSIZE = 200112;
+
+const int _POSIX_THREAD_CPUTIME = -1;
+
+const int _POSIX_THREAD_PRIO_INHERIT = -1;
+
+const int _POSIX_THREAD_PRIO_PROTECT = -1;
+
+const int _POSIX_THREAD_PRIORITY_SCHEDULING = -1;
+
+const int _POSIX_THREAD_PROCESS_SHARED = 200112;
+
+const int _POSIX_THREAD_SAFE_FUNCTIONS = 200112;
+
+const int _POSIX_THREAD_SPORADIC_SERVER = -1;
+
+const int _POSIX_THREADS = 200112;
+
+const int _POSIX_TIMEOUTS = -1;
+
+const int _POSIX_TIMERS = -1;
+
+const int _POSIX_TRACE = -1;
+
+const int _POSIX_TRACE_EVENT_FILTER = -1;
+
+const int _POSIX_TRACE_INHERIT = -1;
+
+const int _POSIX_TRACE_LOG = -1;
+
+const int _POSIX_TYPED_MEMORY_OBJECTS = -1;
+
+const int _POSIX2_C_BIND = 200112;
+
+const int _POSIX2_C_DEV = 200112;
+
+const int _POSIX2_CHAR_TERM = 200112;
+
+const int _POSIX2_FORT_DEV = -1;
+
+const int _POSIX2_FORT_RUN = 200112;
+
+const int _POSIX2_LOCALEDEF = 200112;
+
+const int _POSIX2_PBS = -1;
+
+const int _POSIX2_PBS_ACCOUNTING = -1;
+
+const int _POSIX2_PBS_CHECKPOINT = -1;
+
+const int _POSIX2_PBS_LOCATE = -1;
+
+const int _POSIX2_PBS_MESSAGE = -1;
+
+const int _POSIX2_PBS_TRACK = -1;
+
+const int _POSIX2_SW_DEV = 200112;
+
+const int _POSIX2_UPE = 200112;
+
+const int __ILP32_OFF32 = -1;
+
+const int __ILP32_OFFBIG = -1;
+
+const int __LP64_OFF64 = 1;
+
+const int __LPBIG_OFFBIG = 1;
+
+const int _POSIX_V6_ILP32_OFF32 = -1;
+
+const int _POSIX_V6_ILP32_OFFBIG = -1;
+
+const int _POSIX_V6_LP64_OFF64 = 1;
+
+const int _POSIX_V6_LPBIG_OFFBIG = 1;
+
+const int _POSIX_V7_ILP32_OFF32 = -1;
+
+const int _POSIX_V7_ILP32_OFFBIG = -1;
+
+const int _POSIX_V7_LP64_OFF64 = 1;
+
+const int _POSIX_V7_LPBIG_OFFBIG = 1;
+
+const int _V6_ILP32_OFF32 = -1;
+
+const int _V6_ILP32_OFFBIG = -1;
+
+const int _V6_LP64_OFF64 = 1;
+
+const int _V6_LPBIG_OFFBIG = 1;
+
+const int _XBS5_ILP32_OFF32 = -1;
+
+const int _XBS5_ILP32_OFFBIG = -1;
+
+const int _XBS5_LP64_OFF64 = 1;
+
+const int _XBS5_LPBIG_OFFBIG = 1;
+
+const int _XOPEN_CRYPT = 1;
+
+const int _XOPEN_ENH_I18N = 1;
+
+const int _XOPEN_LEGACY = -1;
+
+const int _XOPEN_REALTIME = -1;
+
+const int _XOPEN_REALTIME_THREADS = -1;
+
+const int _XOPEN_SHM = 1;
+
+const int _XOPEN_STREAMS = -1;
+
+const int _XOPEN_UNIX = 1;
+
+const int _SC_ARG_MAX = 1;
+
+const int _SC_CHILD_MAX = 2;
+
+const int _SC_CLK_TCK = 3;
+
+const int _SC_NGROUPS_MAX = 4;
+
+const int _SC_OPEN_MAX = 5;
+
+const int _SC_JOB_CONTROL = 6;
+
+const int _SC_SAVED_IDS = 7;
+
+const int _SC_VERSION = 8;
+
+const int _SC_BC_BASE_MAX = 9;
+
+const int _SC_BC_DIM_MAX = 10;
+
+const int _SC_BC_SCALE_MAX = 11;
+
+const int _SC_BC_STRING_MAX = 12;
+
+const int _SC_COLL_WEIGHTS_MAX = 13;
+
+const int _SC_EXPR_NEST_MAX = 14;
+
+const int _SC_LINE_MAX = 15;
+
+const int _SC_RE_DUP_MAX = 16;
+
+const int _SC_2_VERSION = 17;
+
+const int _SC_2_C_BIND = 18;
+
+const int _SC_2_C_DEV = 19;
+
+const int _SC_2_CHAR_TERM = 20;
+
+const int _SC_2_FORT_DEV = 21;
+
+const int _SC_2_FORT_RUN = 22;
+
+const int _SC_2_LOCALEDEF = 23;
+
+const int _SC_2_SW_DEV = 24;
+
+const int _SC_2_UPE = 25;
+
+const int _SC_STREAM_MAX = 26;
+
+const int _SC_TZNAME_MAX = 27;
+
+const int _SC_ASYNCHRONOUS_IO = 28;
+
+const int _SC_PAGESIZE = 29;
+
+const int _SC_MEMLOCK = 30;
+
+const int _SC_MEMLOCK_RANGE = 31;
+
+const int _SC_MEMORY_PROTECTION = 32;
+
+const int _SC_MESSAGE_PASSING = 33;
+
+const int _SC_PRIORITIZED_IO = 34;
+
+const int _SC_PRIORITY_SCHEDULING = 35;
+
+const int _SC_REALTIME_SIGNALS = 36;
+
+const int _SC_SEMAPHORES = 37;
+
+const int _SC_FSYNC = 38;
+
+const int _SC_SHARED_MEMORY_OBJECTS = 39;
+
+const int _SC_SYNCHRONIZED_IO = 40;
+
+const int _SC_TIMERS = 41;
+
+const int _SC_AIO_LISTIO_MAX = 42;
+
+const int _SC_AIO_MAX = 43;
+
+const int _SC_AIO_PRIO_DELTA_MAX = 44;
+
+const int _SC_DELAYTIMER_MAX = 45;
+
+const int _SC_MQ_OPEN_MAX = 46;
+
+const int _SC_MAPPED_FILES = 47;
+
+const int _SC_RTSIG_MAX = 48;
+
+const int _SC_SEM_NSEMS_MAX = 49;
+
+const int _SC_SEM_VALUE_MAX = 50;
+
+const int _SC_SIGQUEUE_MAX = 51;
+
+const int _SC_TIMER_MAX = 52;
+
+const int _SC_NPROCESSORS_CONF = 57;
+
+const int _SC_NPROCESSORS_ONLN = 58;
+
+const int _SC_2_PBS = 59;
+
+const int _SC_2_PBS_ACCOUNTING = 60;
+
+const int _SC_2_PBS_CHECKPOINT = 61;
+
+const int _SC_2_PBS_LOCATE = 62;
+
+const int _SC_2_PBS_MESSAGE = 63;
+
+const int _SC_2_PBS_TRACK = 64;
+
+const int _SC_ADVISORY_INFO = 65;
+
+const int _SC_BARRIERS = 66;
+
+const int _SC_CLOCK_SELECTION = 67;
+
+const int _SC_CPUTIME = 68;
+
+const int _SC_FILE_LOCKING = 69;
+
+const int _SC_GETGR_R_SIZE_MAX = 70;
+
+const int _SC_GETPW_R_SIZE_MAX = 71;
+
+const int _SC_HOST_NAME_MAX = 72;
+
+const int _SC_LOGIN_NAME_MAX = 73;
+
+const int _SC_MONOTONIC_CLOCK = 74;
+
+const int _SC_MQ_PRIO_MAX = 75;
+
+const int _SC_READER_WRITER_LOCKS = 76;
+
+const int _SC_REGEXP = 77;
+
+const int _SC_SHELL = 78;
+
+const int _SC_SPAWN = 79;
+
+const int _SC_SPIN_LOCKS = 80;
+
+const int _SC_SPORADIC_SERVER = 81;
+
+const int _SC_THREAD_ATTR_STACKADDR = 82;
+
+const int _SC_THREAD_ATTR_STACKSIZE = 83;
+
+const int _SC_THREAD_CPUTIME = 84;
+
+const int _SC_THREAD_DESTRUCTOR_ITERATIONS = 85;
+
+const int _SC_THREAD_KEYS_MAX = 86;
+
+const int _SC_THREAD_PRIO_INHERIT = 87;
+
+const int _SC_THREAD_PRIO_PROTECT = 88;
+
+const int _SC_THREAD_PRIORITY_SCHEDULING = 89;
+
+const int _SC_THREAD_PROCESS_SHARED = 90;
+
+const int _SC_THREAD_SAFE_FUNCTIONS = 91;
+
+const int _SC_THREAD_SPORADIC_SERVER = 92;
+
+const int _SC_THREAD_STACK_MIN = 93;
+
+const int _SC_THREAD_THREADS_MAX = 94;
+
+const int _SC_TIMEOUTS = 95;
+
+const int _SC_THREADS = 96;
+
+const int _SC_TRACE = 97;
+
+const int _SC_TRACE_EVENT_FILTER = 98;
+
+const int _SC_TRACE_INHERIT = 99;
+
+const int _SC_TRACE_LOG = 100;
+
+const int _SC_TTY_NAME_MAX = 101;
+
+const int _SC_TYPED_MEMORY_OBJECTS = 102;
+
+const int _SC_V6_ILP32_OFF32 = 103;
+
+const int _SC_V6_ILP32_OFFBIG = 104;
+
+const int _SC_V6_LP64_OFF64 = 105;
+
+const int _SC_V6_LPBIG_OFFBIG = 106;
+
+const int _SC_IPV6 = 118;
+
+const int _SC_RAW_SOCKETS = 119;
+
+const int _SC_SYMLOOP_MAX = 120;
+
+const int _SC_ATEXIT_MAX = 107;
+
+const int _SC_IOV_MAX = 56;
+
+const int _SC_PAGE_SIZE = 29;
+
+const int _SC_XOPEN_CRYPT = 108;
+
+const int _SC_XOPEN_ENH_I18N = 109;
+
+const int _SC_XOPEN_LEGACY = 110;
+
+const int _SC_XOPEN_REALTIME = 111;
+
+const int _SC_XOPEN_REALTIME_THREADS = 112;
+
+const int _SC_XOPEN_SHM = 113;
+
+const int _SC_XOPEN_STREAMS = 114;
+
+const int _SC_XOPEN_UNIX = 115;
+
+const int _SC_XOPEN_VERSION = 116;
+
+const int _SC_XOPEN_XCU_VERSION = 121;
+
+const int _SC_XBS5_ILP32_OFF32 = 122;
+
+const int _SC_XBS5_ILP32_OFFBIG = 123;
+
+const int _SC_XBS5_LP64_OFF64 = 124;
+
+const int _SC_XBS5_LPBIG_OFFBIG = 125;
+
+const int _SC_SS_REPL_MAX = 126;
+
+const int _SC_TRACE_EVENT_NAME_MAX = 127;
+
+const int _SC_TRACE_NAME_MAX = 128;
+
+const int _SC_TRACE_SYS_MAX = 129;
+
+const int _SC_TRACE_USER_EVENT_MAX = 130;
+
+const int _SC_PASS_MAX = 131;
+
+const int _SC_PHYS_PAGES = 200;
+
+const int _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2;
+
+const int _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3;
+
+const int _CS_POSIX_V6_ILP32_OFF32_LIBS = 4;
+
+const int _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5;
+
+const int _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6;
+
+const int _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7;
+
+const int _CS_POSIX_V6_LP64_OFF64_CFLAGS = 8;
+
+const int _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9;
+
+const int _CS_POSIX_V6_LP64_OFF64_LIBS = 10;
+
+const int _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11;
+
+const int _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12;
+
+const int _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13;
+
+const int _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14;
+
+const int _CS_XBS5_ILP32_OFF32_CFLAGS = 20;
+
+const int _CS_XBS5_ILP32_OFF32_LDFLAGS = 21;
+
+const int _CS_XBS5_ILP32_OFF32_LIBS = 22;
+
+const int _CS_XBS5_ILP32_OFF32_LINTFLAGS = 23;
+
+const int _CS_XBS5_ILP32_OFFBIG_CFLAGS = 24;
+
+const int _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25;
+
+const int _CS_XBS5_ILP32_OFFBIG_LIBS = 26;
+
+const int _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27;
+
+const int _CS_XBS5_LP64_OFF64_CFLAGS = 28;
+
+const int _CS_XBS5_LP64_OFF64_LDFLAGS = 29;
+
+const int _CS_XBS5_LP64_OFF64_LIBS = 30;
+
+const int _CS_XBS5_LP64_OFF64_LINTFLAGS = 31;
+
+const int _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32;
+
+const int _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33;
+
+const int _CS_XBS5_LPBIG_OFFBIG_LIBS = 34;
+
+const int _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35;
+
+const int _CS_DARWIN_USER_DIR = 65536;
+
+const int _CS_DARWIN_USER_TEMP_DIR = 65537;
+
+const int _CS_DARWIN_USER_CACHE_DIR = 65538;
+
+const int F_ULOCK = 0;
+
+const int F_LOCK = 1;
+
+const int F_TLOCK = 2;
+
+const int F_TEST = 3;
+
+const int SYNC_VOLUME_FULLSYNC = 1;
+
+const int SYNC_VOLUME_WAIT = 2;
+
+const int O_RDONLY = 0;
+
+const int O_WRONLY = 1;
+
+const int O_RDWR = 2;
+
+const int O_ACCMODE = 3;
+
+const int FREAD = 1;
+
+const int FWRITE = 2;
+
+const int O_NONBLOCK = 4;
+
+const int O_APPEND = 8;
+
+const int O_SYNC = 128;
+
+const int O_SHLOCK = 16;
+
+const int O_EXLOCK = 32;
+
+const int O_ASYNC = 64;
+
+const int O_FSYNC = 128;
+
+const int O_NOFOLLOW = 256;
+
+const int O_CREAT = 512;
+
+const int O_TRUNC = 1024;
+
+const int O_EXCL = 2048;
+
+const int O_EVTONLY = 32768;
+
+const int O_NOCTTY = 131072;
+
+const int O_DIRECTORY = 1048576;
+
+const int O_SYMLINK = 2097152;
+
+const int O_DSYNC = 4194304;
+
+const int O_CLOEXEC = 16777216;
+
+const int O_NOFOLLOW_ANY = 536870912;
+
+const int O_EXEC = 1073741824;
+
+const int O_SEARCH = 1074790400;
+
+const int AT_FDCWD = -2;
+
+const int AT_EACCESS = 16;
+
+const int AT_SYMLINK_NOFOLLOW = 32;
+
+const int AT_SYMLINK_FOLLOW = 64;
+
+const int AT_REMOVEDIR = 128;
+
+const int AT_REALDEV = 512;
+
+const int AT_FDONLY = 1024;
+
+const int AT_SYMLINK_NOFOLLOW_ANY = 2048;
+
+const int O_DP_GETRAWENCRYPTED = 1;
+
+const int O_DP_GETRAWUNENCRYPTED = 2;
+
+const int O_DP_AUTHENTICATE = 4;
+
+const int AUTH_OPEN_NOAUTHFD = -1;
+
+const int FAPPEND = 8;
+
+const int FASYNC = 64;
+
+const int FFSYNC = 128;
+
+const int FFDSYNC = 4194304;
+
+const int FNONBLOCK = 4;
+
+const int FNDELAY = 4;
+
+const int O_NDELAY = 4;
+
+const int CPF_OVERWRITE = 1;
+
+const int CPF_IGNORE_MODE = 2;
+
+const int CPF_MASK = 3;
+
+const int F_DUPFD = 0;
+
+const int F_GETFD = 1;
+
+const int F_SETFD = 2;
+
+const int F_GETFL = 3;
+
+const int F_SETFL = 4;
+
+const int F_GETOWN = 5;
+
+const int F_SETOWN = 6;
+
+const int F_GETLK = 7;
+
+const int F_SETLK = 8;
+
+const int F_SETLKW = 9;
+
+const int F_SETLKWTIMEOUT = 10;
+
+const int F_FLUSH_DATA = 40;
+
+const int F_CHKCLEAN = 41;
+
+const int F_PREALLOCATE = 42;
+
+const int F_SETSIZE = 43;
+
+const int F_RDADVISE = 44;
+
+const int F_RDAHEAD = 45;
+
+const int F_NOCACHE = 48;
+
+const int F_LOG2PHYS = 49;
+
+const int F_GETPATH = 50;
+
+const int F_FULLFSYNC = 51;
+
+const int F_PATHPKG_CHECK = 52;
+
+const int F_FREEZE_FS = 53;
+
+const int F_THAW_FS = 54;
+
+const int F_GLOBAL_NOCACHE = 55;
+
+const int F_ADDSIGS = 59;
+
+const int F_ADDFILESIGS = 61;
+
+const int F_NODIRECT = 62;
+
+const int F_GETPROTECTIONCLASS = 63;
+
+const int F_SETPROTECTIONCLASS = 64;
+
+const int F_LOG2PHYS_EXT = 65;
+
+const int F_GETLKPID = 66;
+
+const int F_SETBACKINGSTORE = 70;
+
+const int F_GETPATH_MTMINFO = 71;
+
+const int F_GETCODEDIR = 72;
+
+const int F_SETNOSIGPIPE = 73;
+
+const int F_GETNOSIGPIPE = 74;
+
+const int F_TRANSCODEKEY = 75;
+
+const int F_SINGLE_WRITER = 76;
+
+const int F_GETPROTECTIONLEVEL = 77;
+
+const int F_FINDSIGS = 78;
+
+const int F_ADDFILESIGS_FOR_DYLD_SIM = 83;
+
+const int F_BARRIERFSYNC = 85;
+
+const int F_ADDFILESIGS_RETURN = 97;
+
+const int F_CHECK_LV = 98;
+
+const int F_PUNCHHOLE = 99;
+
+const int F_TRIM_ACTIVE_FILE = 100;
+
+const int F_SPECULATIVE_READ = 101;
+
+const int F_GETPATH_NOFIRMLINK = 102;
+
+const int F_ADDFILESIGS_INFO = 103;
+
+const int F_ADDFILESUPPL = 104;
+
+const int F_GETSIGSINFO = 105;
+
+const int F_SETLEASE = 106;
+
+const int F_GETLEASE = 107;
+
+const int F_TRANSFEREXTENTS = 110;
+
+const int FCNTL_FS_SPECIFIC_BASE = 65536;
+
+const int F_DUPFD_CLOEXEC = 67;
+
+const int FD_CLOEXEC = 1;
+
+const int F_RDLCK = 1;
+
+const int F_UNLCK = 2;
+
+const int F_WRLCK = 3;
+
+const int S_IFMT = 61440;
+
+const int S_IFIFO = 4096;
+
+const int S_IFCHR = 8192;
+
+const int S_IFDIR = 16384;
+
+const int S_IFBLK = 24576;
+
+const int S_IFREG = 32768;
+
+const int S_IFLNK = 40960;
+
+const int S_IFSOCK = 49152;
+
+const int S_IFWHT = 57344;
+
+const int S_IRWXU = 448;
+
+const int S_IRUSR = 256;
+
+const int S_IWUSR = 128;
+
+const int S_IXUSR = 64;
+
+const int S_IRWXG = 56;
+
+const int S_IRGRP = 32;
+
+const int S_IWGRP = 16;
+
+const int S_IXGRP = 8;
+
+const int S_IRWXO = 7;
+
+const int S_IROTH = 4;
+
+const int S_IWOTH = 2;
+
+const int S_IXOTH = 1;
+
+const int S_ISUID = 2048;
+
+const int S_ISGID = 1024;
+
+const int S_ISVTX = 512;
+
+const int S_ISTXT = 512;
+
+const int S_IREAD = 256;
+
+const int S_IWRITE = 128;
+
+const int S_IEXEC = 64;
+
+const int F_ALLOCATECONTIG = 2;
+
+const int F_ALLOCATEALL = 4;
+
+const int F_ALLOCATEPERSIST = 8;
+
+const int F_PEOFPOSMODE = 3;
+
+const int F_VOLPOSMODE = 4;
+
+const int USER_FSIGNATURES_CDHASH_LEN = 20;
+
+const int GETSIGSINFO_PLATFORM_BINARY = 1;
+
+const int LOCK_SH = 1;
+
+const int LOCK_EX = 2;
+
+const int LOCK_NB = 4;
+
+const int LOCK_UN = 8;
+
+const int O_POPUP = 2147483648;
+
+const int O_ALERT = 536870912;
+
+const int FILESEC_GUID = 3;
+
+const int DISPATCH_API_VERSION = 20181008;
+
+const int OS_OBJECT_HAVE_OBJC_SUPPORT = 0;
+
+const int OS_OBJECT_USE_OBJC = 0;
+
+const int OS_OBJECT_SWIFT3 = 0;
+
+const int OBJC_API_VERSION = 2;
+
+const int OBJC_NO_GC = 1;
+
+const int OBJC_NO_GC_API = 1;
+
+const int NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER = 1;
+
+const int OBJC_OLD_DISPATCH_PROTOTYPES = 0;
+
+const int OBJC_BOOL_IS_BOOL = 1;
+
+const int YES = 1;
+
+const int NO = 0;
+
+const int NSIntegerMax = 9223372036854775807;
+
+const int NSIntegerMin = -9223372036854775808;
+
+const int NSUIntegerMax = -1;
+
+const int NSINTEGER_DEFINED = 1;
+
+const int OS_OBJECT_USE_OBJC_RETAIN_RELEASE = 0;
+
+const int __OS_WORKGROUP_ATTR_SIZE__ = 60;
+
+const int __OS_WORKGROUP_INTERVAL_DATA_SIZE__ = 56;
+
+const int __OS_WORKGROUP_JOIN_TOKEN_SIZE__ = 36;
+
+const int _OS_WORKGROUP_ATTR_SIG_DEFAULT_INIT = 799564724;
+
+const int _OS_WORKGROUP_ATTR_SIG_EMPTY_INIT = 799564740;
+
+const int _OS_WORKGROUP_INTERVAL_DATA_SIG_INIT = 1386695757;
+
+const int DISPATCH_SWIFT3_OVERLAY = 0;
+
+const int TIME_MICROS_MAX = 1000000;
+
+const int SYSTEM_CLOCK = 0;
+
+const int CALENDAR_CLOCK = 1;
+
+const int REALTIME_CLOCK = 0;
+
+const int CLOCK_GET_TIME_RES = 1;
+
+const int CLOCK_ALARM_CURRES = 3;
+
+const int CLOCK_ALARM_MINRES = 4;
+
+const int CLOCK_ALARM_MAXRES = 5;
+
+const int NSEC_PER_USEC = 1000;
+
+const int USEC_PER_SEC = 1000000;
+
+const int NSEC_PER_SEC = 1000000000;
+
+const int NSEC_PER_MSEC = 1000000;
+
+const int ALRMTYPE = 255;
+
+const int TIME_ABSOLUTE = 0;
+
+const int TIME_RELATIVE = 1;
+
+const int DISPATCH_TIME_NOW = 0;
+
+const int DISPATCH_TIME_FOREVER = -1;
+
+const int QOS_MIN_RELATIVE_PRIORITY = -15;
+
+const int DISPATCH_APPLY_AUTO_AVAILABLE = 1;
+
+const int DISPATCH_QUEUE_PRIORITY_HIGH = 2;
+
+const int DISPATCH_QUEUE_PRIORITY_DEFAULT = 0;
+
+const int DISPATCH_QUEUE_PRIORITY_LOW = -2;
+
+const int DISPATCH_QUEUE_PRIORITY_BACKGROUND = -32768;
+
+const int DISPATCH_QUEUE_SERIAL = 0;
+
+const int DISPATCH_TARGET_QUEUE_DEFAULT = 0;
+
+const int DISPATCH_CURRENT_QUEUE_LABEL = 0;
+
+const int KERN_SUCCESS = 0;
+
+const int KERN_INVALID_ADDRESS = 1;
+
+const int KERN_PROTECTION_FAILURE = 2;
+
+const int KERN_NO_SPACE = 3;
+
+const int KERN_INVALID_ARGUMENT = 4;
+
+const int KERN_FAILURE = 5;
+
+const int KERN_RESOURCE_SHORTAGE = 6;
+
+const int KERN_NOT_RECEIVER = 7;
+
+const int KERN_NO_ACCESS = 8;
+
+const int KERN_MEMORY_FAILURE = 9;
+
+const int KERN_MEMORY_ERROR = 10;
+
+const int KERN_ALREADY_IN_SET = 11;
+
+const int KERN_NOT_IN_SET = 12;
+
+const int KERN_NAME_EXISTS = 13;
+
+const int KERN_ABORTED = 14;
+
+const int KERN_INVALID_NAME = 15;
+
+const int KERN_INVALID_TASK = 16;
+
+const int KERN_INVALID_RIGHT = 17;
+
+const int KERN_INVALID_VALUE = 18;
+
+const int KERN_UREFS_OVERFLOW = 19;
+
+const int KERN_INVALID_CAPABILITY = 20;
+
+const int KERN_RIGHT_EXISTS = 21;
+
+const int KERN_INVALID_HOST = 22;
+
+const int KERN_MEMORY_PRESENT = 23;
+
+const int KERN_MEMORY_DATA_MOVED = 24;
+
+const int KERN_MEMORY_RESTART_COPY = 25;
+
+const int KERN_INVALID_PROCESSOR_SET = 26;
+
+const int KERN_POLICY_LIMIT = 27;
+
+const int KERN_INVALID_POLICY = 28;
+
+const int KERN_INVALID_OBJECT = 29;
+
+const int KERN_ALREADY_WAITING = 30;
+
+const int KERN_DEFAULT_SET = 31;
+
+const int KERN_EXCEPTION_PROTECTED = 32;
+
+const int KERN_INVALID_LEDGER = 33;
+
+const int KERN_INVALID_MEMORY_CONTROL = 34;
+
+const int KERN_INVALID_SECURITY = 35;
+
+const int KERN_NOT_DEPRESSED = 36;
+
+const int KERN_TERMINATED = 37;
+
+const int KERN_LOCK_SET_DESTROYED = 38;
+
+const int KERN_LOCK_UNSTABLE = 39;
+
+const int KERN_LOCK_OWNED = 40;
+
+const int KERN_LOCK_OWNED_SELF = 41;
+
+const int KERN_SEMAPHORE_DESTROYED = 42;
+
+const int KERN_RPC_SERVER_TERMINATED = 43;
+
+const int KERN_RPC_TERMINATE_ORPHAN = 44;
+
+const int KERN_RPC_CONTINUE_ORPHAN = 45;
+
+const int KERN_NOT_SUPPORTED = 46;
+
+const int KERN_NODE_DOWN = 47;
+
+const int KERN_NOT_WAITING = 48;
+
+const int KERN_OPERATION_TIMED_OUT = 49;
+
+const int KERN_CODESIGN_ERROR = 50;
+
+const int KERN_POLICY_STATIC = 51;
+
+const int KERN_INSUFFICIENT_BUFFER_SIZE = 52;
+
+const int KERN_DENIED = 53;
+
+const int KERN_MISSING_KC = 54;
+
+const int KERN_INVALID_KC = 55;
+
+const int KERN_NOT_FOUND = 56;
+
+const int KERN_RETURN_MAX = 256;
+
+const int MACH_MSG_TIMEOUT_NONE = 0;
+
+const int MACH_MSGH_BITS_ZERO = 0;
+
+const int MACH_MSGH_BITS_REMOTE_MASK = 31;
+
+const int MACH_MSGH_BITS_LOCAL_MASK = 7936;
+
+const int MACH_MSGH_BITS_VOUCHER_MASK = 2031616;
+
+const int MACH_MSGH_BITS_PORTS_MASK = 2039583;
+
+const int MACH_MSGH_BITS_COMPLEX = 2147483648;
+
+const int MACH_MSGH_BITS_USER = 2149523231;
+
+const int MACH_MSGH_BITS_RAISEIMP = 536870912;
+
+const int MACH_MSGH_BITS_DENAP = 536870912;
+
+const int MACH_MSGH_BITS_IMPHOLDASRT = 268435456;
+
+const int MACH_MSGH_BITS_DENAPHOLDASRT = 268435456;
+
+const int MACH_MSGH_BITS_CIRCULAR = 268435456;
+
+const int MACH_MSGH_BITS_USED = 2954829599;
+
+const int MACH_MSG_PRIORITY_UNSPECIFIED = 0;
+
+const int MACH_MSG_TYPE_MOVE_RECEIVE = 16;
+
+const int MACH_MSG_TYPE_MOVE_SEND = 17;
+
+const int MACH_MSG_TYPE_MOVE_SEND_ONCE = 18;
+
+const int MACH_MSG_TYPE_COPY_SEND = 19;
+
+const int MACH_MSG_TYPE_MAKE_SEND = 20;
+
+const int MACH_MSG_TYPE_MAKE_SEND_ONCE = 21;
+
+const int MACH_MSG_TYPE_COPY_RECEIVE = 22;
+
+const int MACH_MSG_TYPE_DISPOSE_RECEIVE = 24;
+
+const int MACH_MSG_TYPE_DISPOSE_SEND = 25;
+
+const int MACH_MSG_TYPE_DISPOSE_SEND_ONCE = 26;
+
+const int MACH_MSG_PHYSICAL_COPY = 0;
+
+const int MACH_MSG_VIRTUAL_COPY = 1;
+
+const int MACH_MSG_ALLOCATE = 2;
+
+const int MACH_MSG_OVERWRITE = 3;
+
+const int MACH_MSG_GUARD_FLAGS_NONE = 0;
+
+const int MACH_MSG_GUARD_FLAGS_IMMOVABLE_RECEIVE = 1;
+
+const int MACH_MSG_GUARD_FLAGS_UNGUARDED_ON_SEND = 2;
+
+const int MACH_MSG_GUARD_FLAGS_MASK = 3;
+
+const int MACH_MSG_PORT_DESCRIPTOR = 0;
+
+const int MACH_MSG_OOL_DESCRIPTOR = 1;
+
+const int MACH_MSG_OOL_PORTS_DESCRIPTOR = 2;
+
+const int MACH_MSG_OOL_VOLATILE_DESCRIPTOR = 3;
+
+const int MACH_MSG_GUARDED_PORT_DESCRIPTOR = 4;
+
+const int MACH_MSG_DESCRIPTOR_MAX = 4;
+
+const int MACH_MSG_TRAILER_FORMAT_0 = 0;
+
+const int MACH_MSG_FILTER_POLICY_ALLOW = 0;
+
+const int MACH_MSG_TRAILER_MINIMUM_SIZE = 8;
+
+const int MAX_TRAILER_SIZE = 68;
+
+const int MACH_MSG_TRAILER_FORMAT_0_SIZE = 20;
+
+const int MACH_MSG_SIZE_MAX = 4294967295;
+
+const int MACH_MSG_SIZE_RELIABLE = 262144;
+
+const int MACH_MSGH_KIND_NORMAL = 0;
+
+const int MACH_MSGH_KIND_NOTIFICATION = 1;
+
+const int MACH_MSG_TYPE_PORT_NONE = 0;
+
+const int MACH_MSG_TYPE_PORT_NAME = 15;
+
+const int MACH_MSG_TYPE_PORT_RECEIVE = 16;
+
+const int MACH_MSG_TYPE_PORT_SEND = 17;
+
+const int MACH_MSG_TYPE_PORT_SEND_ONCE = 18;
+
+const int MACH_MSG_TYPE_LAST = 22;
+
+const int MACH_MSG_TYPE_POLYMORPHIC = 4294967295;
+
+const int MACH_MSG_OPTION_NONE = 0;
+
+const int MACH_SEND_MSG = 1;
+
+const int MACH_RCV_MSG = 2;
+
+const int MACH_RCV_LARGE = 4;
+
+const int MACH_RCV_LARGE_IDENTITY = 8;
+
+const int MACH_SEND_TIMEOUT = 16;
+
+const int MACH_SEND_OVERRIDE = 32;
+
+const int MACH_SEND_INTERRUPT = 64;
+
+const int MACH_SEND_NOTIFY = 128;
+
+const int MACH_SEND_ALWAYS = 65536;
+
+const int MACH_SEND_FILTER_NONFATAL = 65536;
+
+const int MACH_SEND_TRAILER = 131072;
+
+const int MACH_SEND_NOIMPORTANCE = 262144;
+
+const int MACH_SEND_NODENAP = 262144;
+
+const int MACH_SEND_IMPORTANCE = 524288;
+
+const int MACH_SEND_SYNC_OVERRIDE = 1048576;
+
+const int MACH_SEND_PROPAGATE_QOS = 2097152;
+
+const int MACH_SEND_SYNC_USE_THRPRI = 2097152;
+
+const int MACH_SEND_KERNEL = 4194304;
+
+const int MACH_SEND_SYNC_BOOTSTRAP_CHECKIN = 8388608;
+
+const int MACH_RCV_TIMEOUT = 256;
+
+const int MACH_RCV_NOTIFY = 0;
+
+const int MACH_RCV_INTERRUPT = 1024;
+
+const int MACH_RCV_VOUCHER = 2048;
+
+const int MACH_RCV_OVERWRITE = 0;
+
+const int MACH_RCV_GUARDED_DESC = 4096;
+
+const int MACH_RCV_SYNC_WAIT = 16384;
+
+const int MACH_RCV_SYNC_PEEK = 32768;
+
+const int MACH_MSG_STRICT_REPLY = 512;
+
+const int MACH_RCV_TRAILER_NULL = 0;
+
+const int MACH_RCV_TRAILER_SEQNO = 1;
+
+const int MACH_RCV_TRAILER_SENDER = 2;
+
+const int MACH_RCV_TRAILER_AUDIT = 3;
+
+const int MACH_RCV_TRAILER_CTX = 4;
+
+const int MACH_RCV_TRAILER_AV = 7;
+
+const int MACH_RCV_TRAILER_LABELS = 8;
+
+const int MACH_RCV_TRAILER_MASK = 251658240;
+
+const int MACH_MSG_SUCCESS = 0;
+
+const int MACH_MSG_MASK = 15872;
+
+const int MACH_MSG_IPC_SPACE = 8192;
+
+const int MACH_MSG_VM_SPACE = 4096;
+
+const int MACH_MSG_IPC_KERNEL = 2048;
+
+const int MACH_MSG_VM_KERNEL = 1024;
+
+const int MACH_SEND_IN_PROGRESS = 268435457;
+
+const int MACH_SEND_INVALID_DATA = 268435458;
+
+const int MACH_SEND_INVALID_DEST = 268435459;
+
+const int MACH_SEND_TIMED_OUT = 268435460;
+
+const int MACH_SEND_INVALID_VOUCHER = 268435461;
+
+const int MACH_SEND_INTERRUPTED = 268435463;
+
+const int MACH_SEND_MSG_TOO_SMALL = 268435464;
+
+const int MACH_SEND_INVALID_REPLY = 268435465;
+
+const int MACH_SEND_INVALID_RIGHT = 268435466;
+
+const int MACH_SEND_INVALID_NOTIFY = 268435467;
+
+const int MACH_SEND_INVALID_MEMORY = 268435468;
+
+const int MACH_SEND_NO_BUFFER = 268435469;
+
+const int MACH_SEND_TOO_LARGE = 268435470;
+
+const int MACH_SEND_INVALID_TYPE = 268435471;
+
+const int MACH_SEND_INVALID_HEADER = 268435472;
+
+const int MACH_SEND_INVALID_TRAILER = 268435473;
+
+const int MACH_SEND_INVALID_CONTEXT = 268435474;
+
+const int MACH_SEND_INVALID_OPTIONS = 268435475;
+
+const int MACH_SEND_INVALID_RT_OOL_SIZE = 268435477;
+
+const int MACH_SEND_NO_GRANT_DEST = 268435478;
+
+const int MACH_SEND_MSG_FILTERED = 268435479;
+
+const int MACH_SEND_AUX_TOO_SMALL = 268435480;
+
+const int MACH_SEND_AUX_TOO_LARGE = 268435481;
+
+const int MACH_RCV_IN_PROGRESS = 268451841;
+
+const int MACH_RCV_INVALID_NAME = 268451842;
+
+const int MACH_RCV_TIMED_OUT = 268451843;
+
+const int MACH_RCV_TOO_LARGE = 268451844;
+
+const int MACH_RCV_INTERRUPTED = 268451845;
+
+const int MACH_RCV_PORT_CHANGED = 268451846;
+
+const int MACH_RCV_INVALID_NOTIFY = 268451847;
+
+const int MACH_RCV_INVALID_DATA = 268451848;
+
+const int MACH_RCV_PORT_DIED = 268451849;
+
+const int MACH_RCV_IN_SET = 268451850;
+
+const int MACH_RCV_HEADER_ERROR = 268451851;
+
+const int MACH_RCV_BODY_ERROR = 268451852;
+
+const int MACH_RCV_INVALID_TYPE = 268451853;
+
+const int MACH_RCV_SCATTER_SMALL = 268451854;
+
+const int MACH_RCV_INVALID_TRAILER = 268451855;
+
+const int MACH_RCV_IN_PROGRESS_TIMED = 268451857;
+
+const int MACH_RCV_INVALID_REPLY = 268451858;
+
+const int MACH_RCV_INVALID_ARGUMENTS = 268451859;
+
+const int DISPATCH_MACH_SEND_DEAD = 1;
+
+const int DISPATCH_MEMORYPRESSURE_NORMAL = 1;
+
+const int DISPATCH_MEMORYPRESSURE_WARN = 2;
+
+const int DISPATCH_MEMORYPRESSURE_CRITICAL = 4;
+
+const int DISPATCH_PROC_EXIT = 2147483648;
+
+const int DISPATCH_PROC_FORK = 1073741824;
+
+const int DISPATCH_PROC_EXEC = 536870912;
+
+const int DISPATCH_PROC_SIGNAL = 134217728;
+
+const int DISPATCH_VNODE_DELETE = 1;
+
+const int DISPATCH_VNODE_WRITE = 2;
+
+const int DISPATCH_VNODE_EXTEND = 4;
+
+const int DISPATCH_VNODE_ATTRIB = 8;
+
+const int DISPATCH_VNODE_LINK = 16;
+
+const int DISPATCH_VNODE_RENAME = 32;
+
+const int DISPATCH_VNODE_REVOKE = 64;
+
+const int DISPATCH_VNODE_FUNLOCK = 256;
+
+const int DISPATCH_TIMER_STRICT = 1;
+
+const int DISPATCH_ONCE_INLINE_FASTPATH = 1;
+
+const int DISPATCH_DATA_DESTRUCTOR_DEFAULT = 0;
+
+const int DISPATCH_IO_STREAM = 0;
+
+const int DISPATCH_IO_RANDOM = 1;
+
+const int DISPATCH_IO_STOP = 1;
+
+const int DISPATCH_IO_STRICT_INTERVAL = 1;
+
+const int __COREFOUNDATION_CFSET__ = 1;
+
+const int __COREFOUNDATION_CFSTRINGENCODINGEXT__ = 1;
+
+const int __COREFOUNDATION_CFTREE__ = 1;
+
+const int __COREFOUNDATION_CFURLACCESS__ = 1;
+
+const int __COREFOUNDATION_CFUUID__ = 1;
+
+const int __COREFOUNDATION_CFUTILITIES__ = 1;
+
+const int __COREFOUNDATION_CFBUNDLE__ = 1;
+
+const int CPU_STATE_MAX = 4;
+
+const int CPU_STATE_USER = 0;
+
+const int CPU_STATE_SYSTEM = 1;
+
+const int CPU_STATE_IDLE = 2;
+
+const int CPU_STATE_NICE = 3;
+
+const int CPU_ARCH_MASK = 4278190080;
+
+const int CPU_ARCH_ABI64 = 16777216;
+
+const int CPU_ARCH_ABI64_32 = 33554432;
+
+const int CPU_TYPE_ANY = -1;
+
+const int CPU_TYPE_VAX = 1;
+
+const int CPU_TYPE_MC680x0 = 6;
+
+const int CPU_TYPE_X86 = 7;
+
+const int CPU_TYPE_I386 = 7;
+
+const int CPU_TYPE_X86_64 = 16777223;
+
+const int CPU_TYPE_MC98000 = 10;
+
+const int CPU_TYPE_HPPA = 11;
+
+const int CPU_TYPE_ARM = 12;
+
+const int CPU_TYPE_ARM64 = 16777228;
+
+const int CPU_TYPE_ARM64_32 = 33554444;
+
+const int CPU_TYPE_MC88000 = 13;
+
+const int CPU_TYPE_SPARC = 14;
+
+const int CPU_TYPE_I860 = 15;
+
+const int CPU_TYPE_POWERPC = 18;
+
+const int CPU_TYPE_POWERPC64 = 16777234;
+
+const int CPU_SUBTYPE_MASK = 4278190080;
+
+const int CPU_SUBTYPE_LIB64 = 2147483648;
+
+const int CPU_SUBTYPE_PTRAUTH_ABI = 2147483648;
+
+const int CPU_SUBTYPE_ANY = -1;
+
+const int CPU_SUBTYPE_MULTIPLE = -1;
+
+const int CPU_SUBTYPE_LITTLE_ENDIAN = 0;
+
+const int CPU_SUBTYPE_BIG_ENDIAN = 1;
+
+const int CPU_THREADTYPE_NONE = 0;
+
+const int CPU_SUBTYPE_VAX_ALL = 0;
+
+const int CPU_SUBTYPE_VAX780 = 1;
+
+const int CPU_SUBTYPE_VAX785 = 2;
+
+const int CPU_SUBTYPE_VAX750 = 3;
+
+const int CPU_SUBTYPE_VAX730 = 4;
+
+const int CPU_SUBTYPE_UVAXI = 5;
+
+const int CPU_SUBTYPE_UVAXII = 6;
+
+const int CPU_SUBTYPE_VAX8200 = 7;
+
+const int CPU_SUBTYPE_VAX8500 = 8;
+
+const int CPU_SUBTYPE_VAX8600 = 9;
+
+const int CPU_SUBTYPE_VAX8650 = 10;
+
+const int CPU_SUBTYPE_VAX8800 = 11;
+
+const int CPU_SUBTYPE_UVAXIII = 12;
+
+const int CPU_SUBTYPE_MC680x0_ALL = 1;
+
+const int CPU_SUBTYPE_MC68030 = 1;
+
+const int CPU_SUBTYPE_MC68040 = 2;
+
+const int CPU_SUBTYPE_MC68030_ONLY = 3;
+
+const int CPU_SUBTYPE_I386_ALL = 3;
+
+const int CPU_SUBTYPE_386 = 3;
+
+const int CPU_SUBTYPE_486 = 4;
+
+const int CPU_SUBTYPE_486SX = 132;
+
+const int CPU_SUBTYPE_586 = 5;
+
+const int CPU_SUBTYPE_PENT = 5;
+
+const int CPU_SUBTYPE_PENTPRO = 22;
+
+const int CPU_SUBTYPE_PENTII_M3 = 54;
+
+const int CPU_SUBTYPE_PENTII_M5 = 86;
+
+const int CPU_SUBTYPE_CELERON = 103;
+
+const int CPU_SUBTYPE_CELERON_MOBILE = 119;
+
+const int CPU_SUBTYPE_PENTIUM_3 = 8;
+
+const int CPU_SUBTYPE_PENTIUM_3_M = 24;
+
+const int CPU_SUBTYPE_PENTIUM_3_XEON = 40;
+
+const int CPU_SUBTYPE_PENTIUM_M = 9;
+
+const int CPU_SUBTYPE_PENTIUM_4 = 10;
+
+const int CPU_SUBTYPE_PENTIUM_4_M = 26;
+
+const int CPU_SUBTYPE_ITANIUM = 11;
+
+const int CPU_SUBTYPE_ITANIUM_2 = 27;
+
+const int CPU_SUBTYPE_XEON = 12;
+
+const int CPU_SUBTYPE_XEON_MP = 28;
+
+const int CPU_SUBTYPE_INTEL_FAMILY_MAX = 15;
+
+const int CPU_SUBTYPE_INTEL_MODEL_ALL = 0;
+
+const int CPU_SUBTYPE_X86_ALL = 3;
+
+const int CPU_SUBTYPE_X86_64_ALL = 3;
+
+const int CPU_SUBTYPE_X86_ARCH1 = 4;
+
+const int CPU_SUBTYPE_X86_64_H = 8;
+
+const int CPU_THREADTYPE_INTEL_HTT = 1;
+
+const int CPU_SUBTYPE_MIPS_ALL = 0;
+
+const int CPU_SUBTYPE_MIPS_R2300 = 1;
+
+const int CPU_SUBTYPE_MIPS_R2600 = 2;
+
+const int CPU_SUBTYPE_MIPS_R2800 = 3;
+
+const int CPU_SUBTYPE_MIPS_R2000a = 4;
+
+const int CPU_SUBTYPE_MIPS_R2000 = 5;
+
+const int CPU_SUBTYPE_MIPS_R3000a = 6;
+
+const int CPU_SUBTYPE_MIPS_R3000 = 7;
+
+const int CPU_SUBTYPE_MC98000_ALL = 0;
+
+const int CPU_SUBTYPE_MC98601 = 1;
+
+const int CPU_SUBTYPE_HPPA_ALL = 0;
+
+const int CPU_SUBTYPE_HPPA_7100 = 0;
+
+const int CPU_SUBTYPE_HPPA_7100LC = 1;
+
+const int CPU_SUBTYPE_MC88000_ALL = 0;
+
+const int CPU_SUBTYPE_MC88100 = 1;
+
+const int CPU_SUBTYPE_MC88110 = 2;
+
+const int CPU_SUBTYPE_SPARC_ALL = 0;
+
+const int CPU_SUBTYPE_I860_ALL = 0;
+
+const int CPU_SUBTYPE_I860_860 = 1;
+
+const int CPU_SUBTYPE_POWERPC_ALL = 0;
+
+const int CPU_SUBTYPE_POWERPC_601 = 1;
+
+const int CPU_SUBTYPE_POWERPC_602 = 2;
+
+const int CPU_SUBTYPE_POWERPC_603 = 3;
+
+const int CPU_SUBTYPE_POWERPC_603e = 4;
+
+const int CPU_SUBTYPE_POWERPC_603ev = 5;
+
+const int CPU_SUBTYPE_POWERPC_604 = 6;
+
+const int CPU_SUBTYPE_POWERPC_604e = 7;
+
+const int CPU_SUBTYPE_POWERPC_620 = 8;
+
+const int CPU_SUBTYPE_POWERPC_750 = 9;
+
+const int CPU_SUBTYPE_POWERPC_7400 = 10;
+
+const int CPU_SUBTYPE_POWERPC_7450 = 11;
+
+const int CPU_SUBTYPE_POWERPC_970 = 100;
+
+const int CPU_SUBTYPE_ARM_ALL = 0;
+
+const int CPU_SUBTYPE_ARM_V4T = 5;
+
+const int CPU_SUBTYPE_ARM_V6 = 6;
+
+const int CPU_SUBTYPE_ARM_V5TEJ = 7;
+
+const int CPU_SUBTYPE_ARM_XSCALE = 8;
+
+const int CPU_SUBTYPE_ARM_V7 = 9;
+
+const int CPU_SUBTYPE_ARM_V7F = 10;
+
+const int CPU_SUBTYPE_ARM_V7S = 11;
+
+const int CPU_SUBTYPE_ARM_V7K = 12;
+
+const int CPU_SUBTYPE_ARM_V8 = 13;
+
+const int CPU_SUBTYPE_ARM_V6M = 14;
+
+const int CPU_SUBTYPE_ARM_V7M = 15;
+
+const int CPU_SUBTYPE_ARM_V7EM = 16;
+
+const int CPU_SUBTYPE_ARM_V8M = 17;
+
+const int CPU_SUBTYPE_ARM64_ALL = 0;
+
+const int CPU_SUBTYPE_ARM64_V8 = 1;
+
+const int CPU_SUBTYPE_ARM64E = 2;
+
+const int CPU_SUBTYPE_ARM64_PTR_AUTH_MASK = 251658240;
+
+const int CPU_SUBTYPE_ARM64_32_ALL = 0;
+
+const int CPU_SUBTYPE_ARM64_32_V8 = 1;
+
+const int CPUFAMILY_UNKNOWN = 0;
+
+const int CPUFAMILY_POWERPC_G3 = 3471054153;
+
+const int CPUFAMILY_POWERPC_G4 = 2009171118;
+
+const int CPUFAMILY_POWERPC_G5 = 3983988906;
+
+const int CPUFAMILY_INTEL_6_13 = 2855483691;
+
+const int CPUFAMILY_INTEL_PENRYN = 2028621756;
+
+const int CPUFAMILY_INTEL_NEHALEM = 1801080018;
+
+const int CPUFAMILY_INTEL_WESTMERE = 1463508716;
+
+const int CPUFAMILY_INTEL_SANDYBRIDGE = 1418770316;
+
+const int CPUFAMILY_INTEL_IVYBRIDGE = 526772277;
+
+const int CPUFAMILY_INTEL_HASWELL = 280134364;
+
+const int CPUFAMILY_INTEL_BROADWELL = 1479463068;
+
+const int CPUFAMILY_INTEL_SKYLAKE = 939270559;
+
+const int CPUFAMILY_INTEL_KABYLAKE = 260141638;
+
+const int CPUFAMILY_INTEL_ICELAKE = 943936839;
+
+const int CPUFAMILY_INTEL_COMETLAKE = 486055998;
+
+const int CPUFAMILY_ARM_9 = 3878847406;
+
+const int CPUFAMILY_ARM_11 = 2415272152;
+
+const int CPUFAMILY_ARM_XSCALE = 1404044789;
+
+const int CPUFAMILY_ARM_12 = 3172666089;
+
+const int CPUFAMILY_ARM_13 = 214503012;
+
+const int CPUFAMILY_ARM_14 = 2517073649;
+
+const int CPUFAMILY_ARM_15 = 2823887818;
+
+const int CPUFAMILY_ARM_SWIFT = 506291073;
+
+const int CPUFAMILY_ARM_CYCLONE = 933271106;
+
+const int CPUFAMILY_ARM_TYPHOON = 747742334;
+
+const int CPUFAMILY_ARM_TWISTER = 2465937352;
+
+const int CPUFAMILY_ARM_HURRICANE = 1741614739;
+
+const int CPUFAMILY_ARM_MONSOON_MISTRAL = 3894312694;
+
+const int CPUFAMILY_ARM_VORTEX_TEMPEST = 131287967;
+
+const int CPUFAMILY_ARM_LIGHTNING_THUNDER = 1176831186;
+
+const int CPUFAMILY_ARM_FIRESTORM_ICESTORM = 458787763;
+
+const int CPUFAMILY_ARM_BLIZZARD_AVALANCHE = 3660830781;
+
+const int CPUFAMILY_ARM_EVEREST_SAWTOOTH = 2271604202;
+
+const int CPUSUBFAMILY_UNKNOWN = 0;
+
+const int CPUSUBFAMILY_ARM_HP = 1;
+
+const int CPUSUBFAMILY_ARM_HG = 2;
+
+const int CPUSUBFAMILY_ARM_M = 3;
+
+const int CPUSUBFAMILY_ARM_HS = 4;
+
+const int CPUSUBFAMILY_ARM_HC_HD = 5;
+
+const int CPUFAMILY_INTEL_6_23 = 2028621756;
+
+const int CPUFAMILY_INTEL_6_26 = 1801080018;
+
+const int __COREFOUNDATION_CFMESSAGEPORT__ = 1;
+
+const int __COREFOUNDATION_CFPLUGIN__ = 1;
+
+const int COREFOUNDATION_CFPLUGINCOM_SEPARATE = 1;
+
+const int __COREFOUNDATION_CFMACHPORT__ = 1;
+
+const int __COREFOUNDATION_CFATTRIBUTEDSTRING__ = 1;
+
+const int __COREFOUNDATION_CFURLENUMERATOR__ = 1;
+
+const int __COREFOUNDATION_CFFILESECURITY__ = 1;
+
+const int KAUTH_UID_NONE = 4294967195;
+
+const int KAUTH_GID_NONE = 4294967195;
+
+const int KAUTH_GUID_SIZE = 16;
+
+const int KAUTH_NTSID_MAX_AUTHORITIES = 16;
+
+const int KAUTH_NTSID_HDRSIZE = 8;
+
+const int KAUTH_EXTLOOKUP_SUCCESS = 0;
+
+const int KAUTH_EXTLOOKUP_BADRQ = 1;
+
+const int KAUTH_EXTLOOKUP_FAILURE = 2;
+
+const int KAUTH_EXTLOOKUP_FATAL = 3;
+
+const int KAUTH_EXTLOOKUP_INPROG = 100;
+
+const int KAUTH_EXTLOOKUP_VALID_UID = 1;
+
+const int KAUTH_EXTLOOKUP_VALID_UGUID = 2;
+
+const int KAUTH_EXTLOOKUP_VALID_USID = 4;
+
+const int KAUTH_EXTLOOKUP_VALID_GID = 8;
+
+const int KAUTH_EXTLOOKUP_VALID_GGUID = 16;
+
+const int KAUTH_EXTLOOKUP_VALID_GSID = 32;
+
+const int KAUTH_EXTLOOKUP_WANT_UID = 64;
+
+const int KAUTH_EXTLOOKUP_WANT_UGUID = 128;
+
+const int KAUTH_EXTLOOKUP_WANT_USID = 256;
+
+const int KAUTH_EXTLOOKUP_WANT_GID = 512;
+
+const int KAUTH_EXTLOOKUP_WANT_GGUID = 1024;
+
+const int KAUTH_EXTLOOKUP_WANT_GSID = 2048;
+
+const int KAUTH_EXTLOOKUP_WANT_MEMBERSHIP = 4096;
+
+const int KAUTH_EXTLOOKUP_VALID_MEMBERSHIP = 8192;
+
+const int KAUTH_EXTLOOKUP_ISMEMBER = 16384;
+
+const int KAUTH_EXTLOOKUP_VALID_PWNAM = 32768;
+
+const int KAUTH_EXTLOOKUP_WANT_PWNAM = 65536;
+
+const int KAUTH_EXTLOOKUP_VALID_GRNAM = 131072;
+
+const int KAUTH_EXTLOOKUP_WANT_GRNAM = 262144;
+
+const int KAUTH_EXTLOOKUP_VALID_SUPGRPS = 524288;
+
+const int KAUTH_EXTLOOKUP_WANT_SUPGRPS = 1048576;
+
+const int KAUTH_EXTLOOKUP_REGISTER = 0;
+
+const int KAUTH_EXTLOOKUP_RESULT = 1;
+
+const int KAUTH_EXTLOOKUP_WORKER = 2;
+
+const int KAUTH_EXTLOOKUP_DEREGISTER = 4;
+
+const int KAUTH_GET_CACHE_SIZES = 8;
+
+const int KAUTH_SET_CACHE_SIZES = 16;
+
+const int KAUTH_CLEAR_CACHES = 32;
+
+const String IDENTITYSVC_ENTITLEMENT = 'com.apple.private.identitysvc';
+
+const int KAUTH_ACE_KINDMASK = 15;
+
+const int KAUTH_ACE_PERMIT = 1;
+
+const int KAUTH_ACE_DENY = 2;
+
+const int KAUTH_ACE_AUDIT = 3;
+
+const int KAUTH_ACE_ALARM = 4;
+
+const int KAUTH_ACE_INHERITED = 16;
+
+const int KAUTH_ACE_FILE_INHERIT = 32;
+
+const int KAUTH_ACE_DIRECTORY_INHERIT = 64;
+
+const int KAUTH_ACE_LIMIT_INHERIT = 128;
+
+const int KAUTH_ACE_ONLY_INHERIT = 256;
+
+const int KAUTH_ACE_SUCCESS = 512;
+
+const int KAUTH_ACE_FAILURE = 1024;
+
+const int KAUTH_ACE_INHERIT_CONTROL_FLAGS = 480;
+
+const int KAUTH_ACE_GENERIC_ALL = 2097152;
+
+const int KAUTH_ACE_GENERIC_EXECUTE = 4194304;
+
+const int KAUTH_ACE_GENERIC_WRITE = 8388608;
+
+const int KAUTH_ACE_GENERIC_READ = 16777216;
+
+const int KAUTH_ACL_MAX_ENTRIES = 128;
+
+const int KAUTH_ACL_FLAGS_PRIVATE = 65535;
+
+const int KAUTH_ACL_DEFER_INHERIT = 65536;
+
+const int KAUTH_ACL_NO_INHERIT = 131072;
+
+const int KAUTH_FILESEC_NOACL = 4294967295;
+
+const int KAUTH_FILESEC_MAGIC = 19710317;
+
+const int KAUTH_FILESEC_FLAGS_PRIVATE = 65535;
+
+const int KAUTH_FILESEC_DEFER_INHERIT = 65536;
+
+const int KAUTH_FILESEC_NO_INHERIT = 131072;
+
+const String KAUTH_FILESEC_XATTR = 'com.apple.system.Security';
+
+const int KAUTH_ENDIAN_HOST = 1;
+
+const int KAUTH_ENDIAN_DISK = 2;
+
+const int KAUTH_VNODE_READ_DATA = 2;
+
+const int KAUTH_VNODE_LIST_DIRECTORY = 2;
+
+const int KAUTH_VNODE_WRITE_DATA = 4;
+
+const int KAUTH_VNODE_ADD_FILE = 4;
+
+const int KAUTH_VNODE_EXECUTE = 8;
+
+const int KAUTH_VNODE_SEARCH = 8;
+
+const int KAUTH_VNODE_DELETE = 16;
+
+const int KAUTH_VNODE_APPEND_DATA = 32;
+
+const int KAUTH_VNODE_ADD_SUBDIRECTORY = 32;
+
+const int KAUTH_VNODE_DELETE_CHILD = 64;
+
+const int KAUTH_VNODE_READ_ATTRIBUTES = 128;
+
+const int KAUTH_VNODE_WRITE_ATTRIBUTES = 256;
+
+const int KAUTH_VNODE_READ_EXTATTRIBUTES = 512;
+
+const int KAUTH_VNODE_WRITE_EXTATTRIBUTES = 1024;
+
+const int KAUTH_VNODE_READ_SECURITY = 2048;
+
+const int KAUTH_VNODE_WRITE_SECURITY = 4096;
+
+const int KAUTH_VNODE_TAKE_OWNERSHIP = 8192;
+
+const int KAUTH_VNODE_CHANGE_OWNER = 8192;
+
+const int KAUTH_VNODE_SYNCHRONIZE = 1048576;
+
+const int KAUTH_VNODE_LINKTARGET = 33554432;
+
+const int KAUTH_VNODE_CHECKIMMUTABLE = 67108864;
+
+const int KAUTH_VNODE_ACCESS = 2147483648;
+
+const int KAUTH_VNODE_NOIMMUTABLE = 1073741824;
+
+const int KAUTH_VNODE_SEARCHBYANYONE = 536870912;
+
+const int KAUTH_VNODE_GENERIC_READ_BITS = 2690;
+
+const int KAUTH_VNODE_GENERIC_WRITE_BITS = 5492;
+
+const int KAUTH_VNODE_GENERIC_EXECUTE_BITS = 8;
+
+const int KAUTH_VNODE_GENERIC_ALL_BITS = 8190;
+
+const int KAUTH_VNODE_WRITE_RIGHTS = 100676980;
+
+const int __DARWIN_ACL_READ_DATA = 2;
+
+const int __DARWIN_ACL_LIST_DIRECTORY = 2;
+
+const int __DARWIN_ACL_WRITE_DATA = 4;
+
+const int __DARWIN_ACL_ADD_FILE = 4;
+
+const int __DARWIN_ACL_EXECUTE = 8;
+
+const int __DARWIN_ACL_SEARCH = 8;
+
+const int __DARWIN_ACL_DELETE = 16;
+
+const int __DARWIN_ACL_APPEND_DATA = 32;
+
+const int __DARWIN_ACL_ADD_SUBDIRECTORY = 32;
+
+const int __DARWIN_ACL_DELETE_CHILD = 64;
+
+const int __DARWIN_ACL_READ_ATTRIBUTES = 128;
+
+const int __DARWIN_ACL_WRITE_ATTRIBUTES = 256;
+
+const int __DARWIN_ACL_READ_EXTATTRIBUTES = 512;
+
+const int __DARWIN_ACL_WRITE_EXTATTRIBUTES = 1024;
+
+const int __DARWIN_ACL_READ_SECURITY = 2048;
+
+const int __DARWIN_ACL_WRITE_SECURITY = 4096;
+
+const int __DARWIN_ACL_CHANGE_OWNER = 8192;
+
+const int __DARWIN_ACL_SYNCHRONIZE = 1048576;
+
+const int __DARWIN_ACL_EXTENDED_ALLOW = 1;
+
+const int __DARWIN_ACL_EXTENDED_DENY = 2;
+
+const int __DARWIN_ACL_ENTRY_INHERITED = 16;
+
+const int __DARWIN_ACL_ENTRY_FILE_INHERIT = 32;
+
+const int __DARWIN_ACL_ENTRY_DIRECTORY_INHERIT = 64;
+
+const int __DARWIN_ACL_ENTRY_LIMIT_INHERIT = 128;
+
+const int __DARWIN_ACL_ENTRY_ONLY_INHERIT = 256;
+
+const int __DARWIN_ACL_FLAG_NO_INHERIT = 131072;
+
+const int ACL_MAX_ENTRIES = 128;
+
+const int ACL_UNDEFINED_ID = 0;
+
+const int __COREFOUNDATION_CFSTRINGTOKENIZER__ = 1;
+
+const int __COREFOUNDATION_CFFILEDESCRIPTOR__ = 1;
+
+const int __COREFOUNDATION_CFUSERNOTIFICATION__ = 1;
+
+const int NS_BLOCKS_AVAILABLE = 1;
+
+const double NSFoundationVersionNumber10_0 = 397.4;
+
+const double NSFoundationVersionNumber10_1 = 425.0;
+
+const double NSFoundationVersionNumber10_1_1 = 425.0;
+
+const double NSFoundationVersionNumber10_1_2 = 425.0;
+
+const double NSFoundationVersionNumber10_1_3 = 425.0;
+
+const double NSFoundationVersionNumber10_1_4 = 425.0;
+
+const double NSFoundationVersionNumber10_2 = 462.0;
+
+const double NSFoundationVersionNumber10_2_1 = 462.0;
+
+const double NSFoundationVersionNumber10_2_2 = 462.0;
+
+const double NSFoundationVersionNumber10_2_3 = 462.0;
+
+const double NSFoundationVersionNumber10_2_4 = 462.0;
+
+const double NSFoundationVersionNumber10_2_5 = 462.0;
+
+const double NSFoundationVersionNumber10_2_6 = 462.0;
+
+const double NSFoundationVersionNumber10_2_7 = 462.7;
+
+const double NSFoundationVersionNumber10_2_8 = 462.7;
+
+const double NSFoundationVersionNumber10_3 = 500.0;
+
+const double NSFoundationVersionNumber10_3_1 = 500.0;
+
+const double NSFoundationVersionNumber10_3_2 = 500.3;
+
+const double NSFoundationVersionNumber10_3_3 = 500.54;
+
+const double NSFoundationVersionNumber10_3_4 = 500.56;
+
+const double NSFoundationVersionNumber10_3_5 = 500.56;
+
+const double NSFoundationVersionNumber10_3_6 = 500.56;
+
+const double NSFoundationVersionNumber10_3_7 = 500.56;
+
+const double NSFoundationVersionNumber10_3_8 = 500.56;
+
+const double NSFoundationVersionNumber10_3_9 = 500.58;
+
+const double NSFoundationVersionNumber10_4 = 567.0;
+
+const double NSFoundationVersionNumber10_4_1 = 567.0;
+
+const double NSFoundationVersionNumber10_4_2 = 567.12;
+
+const double NSFoundationVersionNumber10_4_3 = 567.21;
+
+const double NSFoundationVersionNumber10_4_4_Intel = 567.23;
+
+const double NSFoundationVersionNumber10_4_4_PowerPC = 567.21;
+
+const double NSFoundationVersionNumber10_4_5 = 567.25;
+
+const double NSFoundationVersionNumber10_4_6 = 567.26;
+
+const double NSFoundationVersionNumber10_4_7 = 567.27;
+
+const double NSFoundationVersionNumber10_4_8 = 567.28;
+
+const double NSFoundationVersionNumber10_4_9 = 567.29;
+
+const double NSFoundationVersionNumber10_4_10 = 567.29;
+
+const double NSFoundationVersionNumber10_4_11 = 567.36;
+
+const double NSFoundationVersionNumber10_5 = 677.0;
+
+const double NSFoundationVersionNumber10_5_1 = 677.1;
+
+const double NSFoundationVersionNumber10_5_2 = 677.15;
+
+const double NSFoundationVersionNumber10_5_3 = 677.19;
+
+const double NSFoundationVersionNumber10_5_4 = 677.19;
+
+const double NSFoundationVersionNumber10_5_5 = 677.21;
+
+const double NSFoundationVersionNumber10_5_6 = 677.22;
+
+const double NSFoundationVersionNumber10_5_7 = 677.24;
+
+const double NSFoundationVersionNumber10_5_8 = 677.26;
+
+const double NSFoundationVersionNumber10_6 = 751.0;
+
+const double NSFoundationVersionNumber10_6_1 = 751.0;
+
+const double NSFoundationVersionNumber10_6_2 = 751.14;
+
+const double NSFoundationVersionNumber10_6_3 = 751.21;
+
+const double NSFoundationVersionNumber10_6_4 = 751.29;
+
+const double NSFoundationVersionNumber10_6_5 = 751.42;
+
+const double NSFoundationVersionNumber10_6_6 = 751.53;
+
+const double NSFoundationVersionNumber10_6_7 = 751.53;
+
+const double NSFoundationVersionNumber10_6_8 = 751.62;
+
+const double NSFoundationVersionNumber10_7 = 833.1;
+
+const double NSFoundationVersionNumber10_7_1 = 833.1;
+
+const double NSFoundationVersionNumber10_7_2 = 833.2;
+
+const double NSFoundationVersionNumber10_7_3 = 833.24;
+
+const double NSFoundationVersionNumber10_7_4 = 833.25;
+
+const double NSFoundationVersionNumber10_8 = 945.0;
+
+const double NSFoundationVersionNumber10_8_1 = 945.0;
+
+const double NSFoundationVersionNumber10_8_2 = 945.11;
+
+const double NSFoundationVersionNumber10_8_3 = 945.16;
+
+const double NSFoundationVersionNumber10_8_4 = 945.18;
+
+const int NSFoundationVersionNumber10_9 = 1056;
+
+const int NSFoundationVersionNumber10_9_1 = 1056;
+
+const double NSFoundationVersionNumber10_9_2 = 1056.13;
+
+const double NSFoundationVersionNumber10_10 = 1151.16;
+
+const double NSFoundationVersionNumber10_10_1 = 1151.16;
+
+const double NSFoundationVersionNumber10_10_2 = 1152.14;
+
+const double NSFoundationVersionNumber10_10_3 = 1153.2;
+
+const double NSFoundationVersionNumber10_10_4 = 1153.2;
+
+const int NSFoundationVersionNumber10_10_5 = 1154;
+
+const int NSFoundationVersionNumber10_10_Max = 1199;
+
+const int NSFoundationVersionNumber10_11 = 1252;
+
+const double NSFoundationVersionNumber10_11_1 = 1255.1;
+
+const double NSFoundationVersionNumber10_11_2 = 1256.1;
+
+const double NSFoundationVersionNumber10_11_3 = 1256.1;
+
+const int NSFoundationVersionNumber10_11_4 = 1258;
+
+const int NSFoundationVersionNumber10_11_Max = 1299;
+
+const double NSFoundationVersionNumber_iPhoneOS_2_0 = 678.24;
+
+const double NSFoundationVersionNumber_iPhoneOS_2_1 = 678.26;
+
+const double NSFoundationVersionNumber_iPhoneOS_2_2 = 678.29;
+
+const double NSFoundationVersionNumber_iPhoneOS_3_0 = 678.47;
+
+const double NSFoundationVersionNumber_iPhoneOS_3_1 = 678.51;
+
+const double NSFoundationVersionNumber_iPhoneOS_3_2 = 678.6;
+
+const double NSFoundationVersionNumber_iOS_4_0 = 751.32;
+
+const double NSFoundationVersionNumber_iOS_4_1 = 751.37;
+
+const double NSFoundationVersionNumber_iOS_4_2 = 751.49;
+
+const double NSFoundationVersionNumber_iOS_4_3 = 751.49;
+
+const double NSFoundationVersionNumber_iOS_5_0 = 881.0;
+
+const double NSFoundationVersionNumber_iOS_5_1 = 890.1;
+
+const double NSFoundationVersionNumber_iOS_6_0 = 992.0;
+
+const double NSFoundationVersionNumber_iOS_6_1 = 993.0;
+
+const double NSFoundationVersionNumber_iOS_7_0 = 1047.2;
+
+const double NSFoundationVersionNumber_iOS_7_1 = 1047.25;
+
+const double NSFoundationVersionNumber_iOS_8_0 = 1140.11;
+
+const double NSFoundationVersionNumber_iOS_8_1 = 1141.1;
+
+const double NSFoundationVersionNumber_iOS_8_2 = 1142.14;
+
+const double NSFoundationVersionNumber_iOS_8_3 = 1144.17;
+
+const double NSFoundationVersionNumber_iOS_8_4 = 1144.17;
+
+const int NSFoundationVersionNumber_iOS_8_x_Max = 1199;
+
+const double NSFoundationVersionNumber_iOS_9_0 = 1240.1;
+
+const double NSFoundationVersionNumber_iOS_9_1 = 1241.14;
+
+const double NSFoundationVersionNumber_iOS_9_2 = 1242.12;
+
+const double NSFoundationVersionNumber_iOS_9_3 = 1242.12;
+
+const double NSFoundationVersionNumber_iOS_9_4 = 1280.25;
+
+const int NSFoundationVersionNumber_iOS_9_x_Max = 1299;
+
+const int NSMaximumStringLength = 2147483646;
+
+const int NS_UNICHAR_IS_EIGHT_BIT = 0;
+
+const double NSTimeIntervalSince1970 = 978307200.0;
+
+const int NSDecimalMaxSize = 8;
+
+const int NSDecimalNoScale = 32767;
+
+const int NSFoundationVersionWithFileManagerResourceForkSupport = 412;
+
+const int __FOUNDATION_NSPOINTERFUNCTIONS__ = 1;
+
+const int __FOUNDATION_NSHASHTABLE__ = 1;
+
+const int __FOUNDATION_NSMAPTABLE__ = 1;
+
+const int NSOperationQualityOfServiceUserInteractive = 33;
+
+const int NSOperationQualityOfServiceUserInitiated = 25;
+
+const int NSOperationQualityOfServiceUtility = 17;
+
+const int NSOperationQualityOfServiceBackground = 9;
+
+const int SEC_OS_IPHONE = 1;
+
+const int SEC_OS_OSX = 0;
+
+const int SEC_OS_OSX_INCLUDES = 0;
+
+const int SECURITY_TYPE_UNIFICATION = 1;
+
+const int NSURLResponseUnknownLength = -1;
+
+const int BSD = 199506;
+
+const int BSD4_3 = 1;
+
+const int BSD4_4 = 1;
+
+const int NeXTBSD = 1995064;
+
+const int NeXTBSD4_0 = 0;
+
+const int MAXCOMLEN = 16;
+
+const int MAXINTERP = 64;
+
+const int MAXLOGNAME = 255;
+
+const int MAXUPRC = 266;
+
+const int NCARGS = 262144;
+
+const int NGROUPS = 16;
+
+const int NOFILE = 256;
+
+const int NOGROUP = 65535;
+
+const int MAXHOSTNAMELEN = 256;
+
+const int MAXDOMNAMELEN = 256;
+
+const int __DARWIN_ALIGNBYTES = 7;
+
+const int __DARWIN_ALIGNBYTES32 = 3;
+
+const int ALIGNBYTES = 7;
+
+const int NBPG = 4096;
+
+const int PGOFSET = 4095;
+
+const int PGSHIFT = 12;
+
+const int DEV_BSIZE = 512;
+
+const int DEV_BSHIFT = 9;
+
+const int BLKDEV_IOSIZE = 2048;
+
+const int MAXPHYS = 131072;
+
+const int CLSIZE = 1;
+
+const int CLSIZELOG2 = 0;
+
+const int MSIZESHIFT = 8;
+
+const int MSIZE = 256;
+
+const int MCLSHIFT = 11;
+
+const int MCLBYTES = 2048;
+
+const int MBIGCLSHIFT = 12;
+
+const int MBIGCLBYTES = 4096;
+
+const int M16KCLSHIFT = 14;
+
+const int M16KCLBYTES = 16384;
+
+const int MCLOFSET = 2047;
+
+const int NMBCLUSTERS = 512;
+
+const int PSWP = 0;
+
+const int PVM = 4;
+
+const int PINOD = 8;
+
+const int PRIBIO = 16;
+
+const int PVFS = 20;
+
+const int PZERO = 22;
+
+const int PSOCK = 24;
+
+const int PWAIT = 32;
+
+const int PLOCK = 36;
+
+const int PPAUSE = 40;
+
+const int PUSER = 50;
+
+const int MAXPRI = 127;
+
+const int PRIMASK = 255;
+
+const int PCATCH = 256;
+
+const int PTTYBLOCK = 512;
+
+const int PDROP = 1024;
+
+const int PSPIN = 2048;
+
+const int NBPW = 4;
+
+const int CMASK = 18;
+
+const int NODEV = -1;
+
+const int CLBYTES = 4096;
+
+const int CLOFSET = 4095;
+
+const int CLOFF = 4095;
+
+const int CLSHIFT = 12;
+
+const int CBLOCK = 64;
+
+const int CBQSIZE = 8;
+
+const int CBSIZE = 48;
+
+const int CROUND = 63;
+
+const int MAXBSIZE = 1048576;
+
+const int MAXPHYSIO = 131072;
+
+const int MAXFRAG = 8;
+
+const int MAXPHYSIO_WIRED = 16777216;
+
+const int MAXPATHLEN = 1024;
+
+const int MAXSYMLINKS = 32;
+
+const int FSHIFT = 11;
+
+const int FSCALE = 2048;
+
+const int AUDIT_RECORD_MAGIC = 2190085915;
+
+const int MAX_AUDIT_RECORDS = 20;
+
+const int MAXAUDITDATA = 32767;
+
+const int MAX_AUDIT_RECORD_SIZE = 32767;
+
+const int MIN_AUDIT_FILE_SIZE = 524288;
+
+const int AUDIT_HARD_LIMIT_FREE_BLOCKS = 4;
+
+const int AUDIT_TRIGGER_MIN = 1;
+
+const int AUDIT_TRIGGER_LOW_SPACE = 1;
+
+const int AUDIT_TRIGGER_ROTATE_KERNEL = 2;
+
+const int AUDIT_TRIGGER_READ_FILE = 3;
+
+const int AUDIT_TRIGGER_CLOSE_AND_DIE = 4;
+
+const int AUDIT_TRIGGER_NO_SPACE = 5;
+
+const int AUDIT_TRIGGER_ROTATE_USER = 6;
+
+const int AUDIT_TRIGGER_INITIALIZE = 7;
+
+const int AUDIT_TRIGGER_EXPIRE_TRAILS = 8;
+
+const int AUDIT_TRIGGER_MAX = 8;
+
+const String AUDITDEV_FILENAME = 'audit';
+
+const int AU_DEFAUDITID = 4294967295;
+
+const int AU_DEFAUDITSID = 0;
+
+const int AU_ASSIGN_ASID = -1;
+
+const int AT_IPC_MSG = 1;
+
+const int AT_IPC_SEM = 2;
+
+const int AT_IPC_SHM = 3;
+
+const int AUC_UNSET = 0;
+
+const int AUC_AUDITING = 1;
+
+const int AUC_NOAUDIT = 2;
+
+const int AUC_DISABLED = -1;
+
+const int A_OLDGETPOLICY = 2;
+
+const int A_OLDSETPOLICY = 3;
+
+const int A_GETKMASK = 4;
+
+const int A_SETKMASK = 5;
+
+const int A_OLDGETQCTRL = 6;
+
+const int A_OLDSETQCTRL = 7;
+
+const int A_GETCWD = 8;
+
+const int A_GETCAR = 9;
+
+const int A_GETSTAT = 12;
+
+const int A_SETSTAT = 13;
+
+const int A_SETUMASK = 14;
+
+const int A_SETSMASK = 15;
+
+const int A_OLDGETCOND = 20;
+
+const int A_OLDSETCOND = 21;
+
+const int A_GETCLASS = 22;
+
+const int A_SETCLASS = 23;
+
+const int A_GETPINFO = 24;
+
+const int A_SETPMASK = 25;
+
+const int A_SETFSIZE = 26;
+
+const int A_GETFSIZE = 27;
+
+const int A_GETPINFO_ADDR = 28;
+
+const int A_GETKAUDIT = 29;
+
+const int A_SETKAUDIT = 30;
+
+const int A_SENDTRIGGER = 31;
+
+const int A_GETSINFO_ADDR = 32;
+
+const int A_GETPOLICY = 33;
+
+const int A_SETPOLICY = 34;
+
+const int A_GETQCTRL = 35;
+
+const int A_SETQCTRL = 36;
+
+const int A_GETCOND = 37;
+
+const int A_SETCOND = 38;
+
+const int A_GETSFLAGS = 39;
+
+const int A_SETSFLAGS = 40;
+
+const int A_GETCTLMODE = 41;
+
+const int A_SETCTLMODE = 42;
+
+const int A_GETEXPAFTER = 43;
+
+const int A_SETEXPAFTER = 44;
+
+const int AUDIT_CNT = 1;
+
+const int AUDIT_AHLT = 2;
+
+const int AUDIT_ARGV = 4;
+
+const int AUDIT_ARGE = 8;
+
+const int AUDIT_SEQ = 16;
+
+const int AUDIT_WINDATA = 32;
+
+const int AUDIT_USER = 64;
+
+const int AUDIT_GROUP = 128;
+
+const int AUDIT_TRAIL = 256;
+
+const int AUDIT_PATH = 512;
+
+const int AUDIT_SCNT = 1024;
+
+const int AUDIT_PUBLIC = 2048;
+
+const int AUDIT_ZONENAME = 4096;
+
+const int AUDIT_PERZONE = 8192;
+
+const int AQ_HIWATER = 100;
+
+const int AQ_MAXHIGH = 10000;
+
+const int AQ_LOWATER = 10;
+
+const int AQ_BUFSZ = 32767;
+
+const int AQ_MAXBUFSZ = 1048576;
+
+const int AU_FS_MINFREE = 20;
+
+const int AU_IPv4 = 4;
+
+const int AU_IPv6 = 16;
+
+const int AU_CLASS_MASK_RESERVED = 268435456;
+
+const int AUDIT_CTLMODE_NORMAL = 1;
+
+const int AUDIT_CTLMODE_EXTERNAL = 2;
+
+const int AUDIT_EXPIRE_OP_AND = 0;
+
+const int AUDIT_EXPIRE_OP_OR = 1;
+
+const int PROT_NONE = 0;
+
+const int PROT_READ = 1;
+
+const int PROT_WRITE = 2;
+
+const int PROT_EXEC = 4;
+
+const int MAP_SHARED = 1;
+
+const int MAP_PRIVATE = 2;
+
+const int MAP_COPY = 2;
+
+const int MAP_FIXED = 16;
+
+const int MAP_RENAME = 32;
+
+const int MAP_NORESERVE = 64;
+
+const int MAP_RESERVED0080 = 128;
+
+const int MAP_NOEXTEND = 256;
+
+const int MAP_HASSEMAPHORE = 512;
+
+const int MAP_NOCACHE = 1024;
+
+const int MAP_JIT = 2048;
+
+const int MAP_FILE = 0;
+
+const int MAP_ANON = 4096;
+
+const int MAP_ANONYMOUS = 4096;
+
+const int MAP_RESILIENT_CODESIGN = 8192;
+
+const int MAP_RESILIENT_MEDIA = 16384;
+
+const int MAP_TRANSLATED_ALLOW_EXECUTE = 131072;
+
+const int MAP_UNIX03 = 262144;
+
+const int MCL_CURRENT = 1;
+
+const int MCL_FUTURE = 2;
+
+const int MS_ASYNC = 1;
+
+const int MS_INVALIDATE = 2;
+
+const int MS_SYNC = 16;
+
+const int MS_KILLPAGES = 4;
+
+const int MS_DEACTIVATE = 8;
+
+const int POSIX_MADV_NORMAL = 0;
+
+const int POSIX_MADV_RANDOM = 1;
+
+const int POSIX_MADV_SEQUENTIAL = 2;
+
+const int POSIX_MADV_WILLNEED = 3;
+
+const int POSIX_MADV_DONTNEED = 4;
+
+const int MADV_NORMAL = 0;
+
+const int MADV_RANDOM = 1;
+
+const int MADV_SEQUENTIAL = 2;
+
+const int MADV_WILLNEED = 3;
+
+const int MADV_DONTNEED = 4;
+
+const int MADV_FREE = 5;
+
+const int MADV_ZERO_WIRED_PAGES = 6;
+
+const int MADV_FREE_REUSABLE = 7;
+
+const int MADV_FREE_REUSE = 8;
+
+const int MADV_CAN_REUSE = 9;
+
+const int MADV_PAGEOUT = 10;
+
+const int MINCORE_INCORE = 1;
+
+const int MINCORE_REFERENCED = 2;
+
+const int MINCORE_MODIFIED = 4;
+
+const int MINCORE_REFERENCED_OTHER = 8;
+
+const int MINCORE_MODIFIED_OTHER = 16;
+
+const int MINCORE_PAGED_OUT = 32;
+
+const int MINCORE_COPIED = 64;
+
+const int MINCORE_ANONYMOUS = 128;
+
+const int IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED = 999999;
+
+const int XPC_API_VERSION = 20200610;
+
+const int XPC_CONNECTION_MACH_SERVICE_LISTENER = 1;
+
+const int XPC_CONNECTION_MACH_SERVICE_PRIVILEGED = 2;
+
+const int PPNUM_MAX = 4294967295;
+
+const int VM_MAP_NULL = 0;
+
+const int VM_MAP_INSPECT_NULL = 0;
+
+const int VM_MAP_READ_NULL = 0;
+
+const int UPL_NULL = 0;
+
+const int VM_NAMED_ENTRY_NULL = 0;
+
+const int VM_PAGE_QUERY_PAGE_PRESENT = 1;
+
+const int VM_PAGE_QUERY_PAGE_FICTITIOUS = 2;
+
+const int VM_PAGE_QUERY_PAGE_REF = 4;
+
+const int VM_PAGE_QUERY_PAGE_DIRTY = 8;
+
+const int VM_PAGE_QUERY_PAGE_PAGED_OUT = 16;
+
+const int VM_PAGE_QUERY_PAGE_COPIED = 32;
+
+const int VM_PAGE_QUERY_PAGE_SPECULATIVE = 64;
+
+const int VM_PAGE_QUERY_PAGE_EXTERNAL = 128;
+
+const int VM_PAGE_QUERY_PAGE_CS_VALIDATED = 256;
+
+const int VM_PAGE_QUERY_PAGE_CS_TAINTED = 512;
+
+const int VM_PAGE_QUERY_PAGE_CS_NX = 1024;
+
+const int VM_PAGE_QUERY_PAGE_REUSABLE = 2048;
+
+const int VM_FLAGS_FIXED = 0;
+
+const int VM_FLAGS_ANYWHERE = 1;
+
+const int VM_FLAGS_PURGABLE = 2;
+
+const int VM_FLAGS_4GB_CHUNK = 4;
+
+const int VM_FLAGS_RANDOM_ADDR = 8;
+
+const int VM_FLAGS_NO_CACHE = 16;
+
+const int VM_FLAGS_RESILIENT_CODESIGN = 32;
+
+const int VM_FLAGS_RESILIENT_MEDIA = 64;
+
+const int VM_FLAGS_PERMANENT = 128;
+
+const int VM_FLAGS_TPRO = 4096;
+
+const int VM_FLAGS_OVERWRITE = 16384;
+
+const int VM_FLAGS_SUPERPAGE_MASK = 458752;
+
+const int VM_FLAGS_RETURN_DATA_ADDR = 1048576;
+
+const int VM_FLAGS_RETURN_4K_DATA_ADDR = 8388608;
+
+const int VM_FLAGS_ALIAS_MASK = 4278190080;
+
+const int VM_FLAGS_USER_ALLOCATE = 4278669471;
+
+const int VM_FLAGS_USER_MAP = 4288106655;
+
+const int VM_FLAGS_USER_REMAP = 1065065;
+
+const int VM_FLAGS_SUPERPAGE_SHIFT = 16;
+
+const int SUPERPAGE_NONE = 0;
+
+const int SUPERPAGE_SIZE_ANY = 1;
+
+const int VM_FLAGS_SUPERPAGE_NONE = 0;
+
+const int VM_FLAGS_SUPERPAGE_SIZE_ANY = 65536;
+
+const int SUPERPAGE_SIZE_2MB = 2;
+
+const int VM_FLAGS_SUPERPAGE_SIZE_2MB = 131072;
+
+const int GUARD_TYPE_VIRT_MEMORY = 5;
+
+const int __VM_LEDGER_ACCOUNTING_POSTMARK = 2019032600;
+
+const int VM_LEDGER_TAG_NONE = 0;
+
+const int VM_LEDGER_TAG_DEFAULT = 1;
+
+const int VM_LEDGER_TAG_NETWORK = 2;
+
+const int VM_LEDGER_TAG_MEDIA = 3;
+
+const int VM_LEDGER_TAG_GRAPHICS = 4;
+
+const int VM_LEDGER_TAG_NEURAL = 5;
+
+const int VM_LEDGER_TAG_MAX = 5;
+
+const int VM_LEDGER_TAG_UNCHANGED = -1;
+
+const int VM_LEDGER_FLAG_NO_FOOTPRINT = 1;
+
+const int VM_LEDGER_FLAG_NO_FOOTPRINT_FOR_DEBUG = 2;
+
+const int VM_LEDGER_FLAGS = 3;
+
+const int VM_MEMORY_MALLOC = 1;
+
+const int VM_MEMORY_MALLOC_SMALL = 2;
+
+const int VM_MEMORY_MALLOC_LARGE = 3;
+
+const int VM_MEMORY_MALLOC_HUGE = 4;
+
+const int VM_MEMORY_SBRK = 5;
+
+const int VM_MEMORY_REALLOC = 6;
+
+const int VM_MEMORY_MALLOC_TINY = 7;
+
+const int VM_MEMORY_MALLOC_LARGE_REUSABLE = 8;
+
+const int VM_MEMORY_MALLOC_LARGE_REUSED = 9;
+
+const int VM_MEMORY_ANALYSIS_TOOL = 10;
+
+const int VM_MEMORY_MALLOC_NANO = 11;
+
+const int VM_MEMORY_MALLOC_MEDIUM = 12;
+
+const int VM_MEMORY_MALLOC_PGUARD = 13;
+
+const int VM_MEMORY_MALLOC_PROB_GUARD = 13;
+
+const int VM_MEMORY_MACH_MSG = 20;
+
+const int VM_MEMORY_IOKIT = 21;
+
+const int VM_MEMORY_STACK = 30;
+
+const int VM_MEMORY_GUARD = 31;
+
+const int VM_MEMORY_SHARED_PMAP = 32;
+
+const int VM_MEMORY_DYLIB = 33;
+
+const int VM_MEMORY_OBJC_DISPATCHERS = 34;
+
+const int VM_MEMORY_UNSHARED_PMAP = 35;
+
+const int VM_MEMORY_APPKIT = 40;
+
+const int VM_MEMORY_FOUNDATION = 41;
+
+const int VM_MEMORY_COREGRAPHICS = 42;
+
+const int VM_MEMORY_CORESERVICES = 43;
+
+const int VM_MEMORY_CARBON = 43;
+
+const int VM_MEMORY_JAVA = 44;
+
+const int VM_MEMORY_COREDATA = 45;
+
+const int VM_MEMORY_COREDATA_OBJECTIDS = 46;
+
+const int VM_MEMORY_ATS = 50;
+
+const int VM_MEMORY_LAYERKIT = 51;
+
+const int VM_MEMORY_CGIMAGE = 52;
+
+const int VM_MEMORY_TCMALLOC = 53;
+
+const int VM_MEMORY_COREGRAPHICS_DATA = 54;
+
+const int VM_MEMORY_COREGRAPHICS_SHARED = 55;
+
+const int VM_MEMORY_COREGRAPHICS_FRAMEBUFFERS = 56;
+
+const int VM_MEMORY_COREGRAPHICS_BACKINGSTORES = 57;
+
+const int VM_MEMORY_COREGRAPHICS_XALLOC = 58;
+
+const int VM_MEMORY_COREGRAPHICS_MISC = 42;
+
+const int VM_MEMORY_DYLD = 60;
+
+const int VM_MEMORY_DYLD_MALLOC = 61;
+
+const int VM_MEMORY_SQLITE = 62;
+
+const int VM_MEMORY_JAVASCRIPT_CORE = 63;
+
+const int VM_MEMORY_WEBASSEMBLY = 63;
+
+const int VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR = 64;
+
+const int VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE = 65;
+
+const int VM_MEMORY_GLSL = 66;
+
+const int VM_MEMORY_OPENCL = 67;
+
+const int VM_MEMORY_COREIMAGE = 68;
+
+const int VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS = 69;
+
+const int VM_MEMORY_IMAGEIO = 70;
+
+const int VM_MEMORY_COREPROFILE = 71;
+
+const int VM_MEMORY_ASSETSD = 72;
+
+const int VM_MEMORY_OS_ALLOC_ONCE = 73;
+
+const int VM_MEMORY_LIBDISPATCH = 74;
+
+const int VM_MEMORY_ACCELERATE = 75;
+
+const int VM_MEMORY_COREUI = 76;
+
+const int VM_MEMORY_COREUIFILE = 77;
+
+const int VM_MEMORY_GENEALOGY = 78;
+
+const int VM_MEMORY_RAWCAMERA = 79;
+
+const int VM_MEMORY_CORPSEINFO = 80;
+
+const int VM_MEMORY_ASL = 81;
+
+const int VM_MEMORY_SWIFT_RUNTIME = 82;
+
+const int VM_MEMORY_SWIFT_METADATA = 83;
+
+const int VM_MEMORY_DHMM = 84;
+
+const int VM_MEMORY_SCENEKIT = 86;
+
+const int VM_MEMORY_SKYWALK = 87;
+
+const int VM_MEMORY_IOSURFACE = 88;
+
+const int VM_MEMORY_LIBNETWORK = 89;
+
+const int VM_MEMORY_AUDIO = 90;
+
+const int VM_MEMORY_VIDEOBITSTREAM = 91;
+
+const int VM_MEMORY_CM_XPC = 92;
+
+const int VM_MEMORY_CM_RPC = 93;
+
+const int VM_MEMORY_CM_MEMORYPOOL = 94;
+
+const int VM_MEMORY_CM_READCACHE = 95;
+
+const int VM_MEMORY_CM_CRABS = 96;
+
+const int VM_MEMORY_QUICKLOOK_THUMBNAILS = 97;
+
+const int VM_MEMORY_ACCOUNTS = 98;
+
+const int VM_MEMORY_SANITIZER = 99;
+
+const int VM_MEMORY_IOACCELERATOR = 100;
+
+const int VM_MEMORY_CM_REGWARP = 101;
+
+const int VM_MEMORY_EAR_DECODER = 102;
+
+const int VM_MEMORY_COREUI_CACHED_IMAGE_DATA = 103;
+
+const int VM_MEMORY_COLORSYNC = 104;
+
+const int VM_MEMORY_BTINFO = 105;
+
+const int VM_MEMORY_ROSETTA = 230;
+
+const int VM_MEMORY_ROSETTA_THREAD_CONTEXT = 231;
+
+const int VM_MEMORY_ROSETTA_INDIRECT_BRANCH_MAP = 232;
+
+const int VM_MEMORY_ROSETTA_RETURN_STACK = 233;
+
+const int VM_MEMORY_ROSETTA_EXECUTABLE_HEAP = 234;
+
+const int VM_MEMORY_ROSETTA_USER_LDT = 235;
+
+const int VM_MEMORY_ROSETTA_ARENA = 236;
+
+const int VM_MEMORY_ROSETTA_10 = 239;
+
+const int VM_MEMORY_APPLICATION_SPECIFIC_1 = 240;
+
+const int VM_MEMORY_APPLICATION_SPECIFIC_16 = 255;
+
+const int VM_MEMORY_COUNT = 256;
+
+const int HOST_INFO_MAX = 1024;
+
+const int KERNEL_VERSION_MAX = 512;
+
+const int KERNEL_BOOT_INFO_MAX = 4096;
+
+const int HOST_BASIC_INFO = 1;
+
+const int HOST_SCHED_INFO = 3;
+
+const int HOST_RESOURCE_SIZES = 4;
+
+const int HOST_PRIORITY_INFO = 5;
+
+const int HOST_SEMAPHORE_TRAPS = 7;
+
+const int HOST_MACH_MSG_TRAP = 8;
+
+const int HOST_VM_PURGABLE = 9;
+
+const int HOST_DEBUG_INFO_INTERNAL = 10;
+
+const int HOST_CAN_HAS_DEBUGGER = 11;
+
+const int HOST_PREFERRED_USER_ARCH = 12;
+
+const int HOST_CAN_HAS_DEBUGGER_COUNT = 1;
+
+const int HOST_BASIC_INFO_COUNT = 12;
+
+const int HOST_SCHED_INFO_COUNT = 2;
+
+const int HOST_RESOURCE_SIZES_COUNT = 5;
+
+const int HOST_PRIORITY_INFO_COUNT = 8;
+
+const int HOST_LOAD_INFO = 1;
+
+const int HOST_VM_INFO = 2;
+
+const int HOST_CPU_LOAD_INFO = 3;
+
+const int HOST_VM_INFO64 = 4;
+
+const int HOST_EXTMOD_INFO64 = 5;
+
+const int HOST_EXPIRED_TASK_INFO = 6;
+
+const int HOST_LOAD_INFO_COUNT = 6;
+
+const int HOST_VM_PURGABLE_COUNT = 68;
+
+const int HOST_VM_INFO64_COUNT = 38;
+
+const int HOST_VM_INFO64_LATEST_COUNT = 38;
+
+const int HOST_VM_INFO64_REV1_COUNT = 38;
+
+const int HOST_VM_INFO64_REV0_COUNT = 24;
+
+const int HOST_EXTMOD_INFO64_COUNT = 12;
+
+const int HOST_EXTMOD_INFO64_LATEST_COUNT = 12;
+
+const int HOST_VM_INFO_COUNT = 15;
+
+const int HOST_VM_INFO_LATEST_COUNT = 15;
+
+const int HOST_VM_INFO_REV2_COUNT = 15;
+
+const int HOST_VM_INFO_REV1_COUNT = 14;
+
+const int HOST_VM_INFO_REV0_COUNT = 12;
+
+const int HOST_CPU_LOAD_INFO_COUNT = 4;
+
+const int HOST_PREFERRED_USER_ARCH_COUNT = 2;
+
+const int HOST_NOTIFY_CALENDAR_CHANGE = 0;
+
+const int HOST_NOTIFY_CALENDAR_SET = 1;
+
+const int HOST_NOTIFY_TYPE_MAX = 1;
+
+const int HOST_CALENDAR_CHANGED_REPLYID = 950;
+
+const int HOST_CALENDAR_SET_REPLYID = 951;
+
+const int HOST_SECURITY_PORT = 0;
+
+const int HOST_MIN_SPECIAL_PORT = 0;
+
+const int HOST_PORT = 1;
+
+const int HOST_PRIV_PORT = 2;
+
+const int HOST_IO_MAIN_PORT = 3;
+
+const int HOST_MAX_SPECIAL_KERNEL_PORT = 7;
+
+const int HOST_LAST_SPECIAL_KERNEL_PORT = 3;
+
+const int HOST_DYNAMIC_PAGER_PORT = 8;
+
+const int HOST_AUDIT_CONTROL_PORT = 9;
+
+const int HOST_USER_NOTIFICATION_PORT = 10;
+
+const int HOST_AUTOMOUNTD_PORT = 11;
+
+const int HOST_LOCKD_PORT = 12;
+
+const int HOST_KTRACE_BACKGROUND_PORT = 13;
+
+const int HOST_SEATBELT_PORT = 14;
+
+const int HOST_KEXTD_PORT = 15;
+
+const int HOST_LAUNCHCTL_PORT = 16;
+
+const int HOST_UNFREED_PORT = 17;
+
+const int HOST_AMFID_PORT = 18;
+
+const int HOST_GSSD_PORT = 19;
+
+const int HOST_TELEMETRY_PORT = 20;
+
+const int HOST_ATM_NOTIFICATION_PORT = 21;
+
+const int HOST_COALITION_PORT = 22;
+
+const int HOST_SYSDIAGNOSE_PORT = 23;
+
+const int HOST_XPC_EXCEPTION_PORT = 24;
+
+const int HOST_CONTAINERD_PORT = 25;
+
+const int HOST_NODE_PORT = 26;
+
+const int HOST_RESOURCE_NOTIFY_PORT = 27;
+
+const int HOST_CLOSURED_PORT = 28;
+
+const int HOST_SYSPOLICYD_PORT = 29;
+
+const int HOST_FILECOORDINATIOND_PORT = 30;
+
+const int HOST_FAIRPLAYD_PORT = 31;
+
+const int HOST_IOCOMPRESSIONSTATS_PORT = 32;
+
+const int HOST_MEMORY_ERROR_PORT = 33;
+
+const int HOST_MAX_SPECIAL_PORT = 33;
+
+const int HOST_CHUD_PORT = 16;
+
+const int HOST_LOCAL_NODE = -1;
+
+const int VM_PROT_NONE = 0;
+
+const int VM_PROT_READ = 1;
+
+const int VM_PROT_WRITE = 2;
+
+const int VM_PROT_EXECUTE = 4;
+
+const int VM_PROT_DEFAULT = 3;
+
+const int VM_PROT_ALL = 7;
+
+const int VM_PROT_RORW_TP = 4;
+
+const int VM_PROT_NO_CHANGE_LEGACY = 8;
+
+const int VM_PROT_NO_CHANGE = 16777216;
+
+const int VM_PROT_COPY = 16;
+
+const int VM_PROT_WANTS_COPY = 16;
+
+const int VM_PROT_IS_MASK = 64;
+
+const int VM_PROT_STRIP_READ = 128;
+
+const int VM_PROT_EXECUTE_ONLY = 132;
+
+const int VM_PROT_UEXEC = 8;
+
+const int VM_PROT_ALLEXEC = 12;
+
+const int VM_SYNC_ASYNCHRONOUS = 1;
+
+const int VM_SYNC_SYNCHRONOUS = 2;
+
+const int VM_SYNC_INVALIDATE = 4;
+
+const int VM_SYNC_KILLPAGES = 8;
+
+const int VM_SYNC_DEACTIVATE = 16;
+
+const int VM_SYNC_CONTIGUOUS = 32;
+
+const int VM_SYNC_REUSABLEPAGES = 64;
+
+const int MEMORY_OBJECT_NULL = 0;
+
+const int MEMORY_OBJECT_CONTROL_NULL = 0;
+
+const int MEMORY_OBJECT_NAME_NULL = 0;
+
+const int MEMORY_OBJECT_DEFAULT_NULL = 0;
+
+const int MEMORY_OBJECT_COPY_NONE = 0;
+
+const int MEMORY_OBJECT_COPY_CALL = 1;
+
+const int MEMORY_OBJECT_COPY_DELAY = 2;
+
+const int MEMORY_OBJECT_COPY_TEMPORARY = 3;
+
+const int MEMORY_OBJECT_COPY_SYMMETRIC = 4;
+
+const int MEMORY_OBJECT_COPY_INVALID = 5;
+
+const int MEMORY_OBJECT_RETURN_NONE = 0;
+
+const int MEMORY_OBJECT_RETURN_DIRTY = 1;
+
+const int MEMORY_OBJECT_RETURN_ALL = 2;
+
+const int MEMORY_OBJECT_RETURN_ANYTHING = 3;
+
+const int MEMORY_OBJECT_DATA_FLUSH = 1;
+
+const int MEMORY_OBJECT_DATA_NO_CHANGE = 2;
+
+const int MEMORY_OBJECT_DATA_PURGE = 4;
+
+const int MEMORY_OBJECT_COPY_SYNC = 8;
+
+const int MEMORY_OBJECT_DATA_SYNC = 16;
+
+const int MEMORY_OBJECT_IO_SYNC = 32;
+
+const int MEMORY_OBJECT_DATA_FLUSH_ALL = 64;
+
+const int MEMORY_OBJECT_INFO_MAX = 1024;
+
+const int MEMORY_OBJECT_PERFORMANCE_INFO = 11;
+
+const int MEMORY_OBJECT_ATTRIBUTE_INFO = 14;
+
+const int MEMORY_OBJECT_BEHAVIOR_INFO = 15;
+
+const int MEMORY_OBJECT_BEHAVE_INFO_COUNT = 5;
+
+const int MEMORY_OBJECT_PERF_INFO_COUNT = 2;
+
+const int MEMORY_OBJECT_ATTR_INFO_COUNT = 4;
+
+const int MEMORY_OBJECT_TERMINATE_IDLE = 1;
+
+const int MEMORY_OBJECT_RESPECT_CACHE = 2;
+
+const int MEMORY_OBJECT_RELEASE_NO_OP = 4;
+
+const int MAP_MEM_NOOP = 0;
+
+const int MAP_MEM_COPYBACK = 1;
+
+const int MAP_MEM_IO = 2;
+
+const int MAP_MEM_WTHRU = 3;
+
+const int MAP_MEM_WCOMB = 4;
+
+const int MAP_MEM_INNERWBACK = 5;
+
+const int MAP_MEM_POSTED = 6;
+
+const int MAP_MEM_RT = 7;
+
+const int MAP_MEM_POSTED_REORDERED = 8;
+
+const int MAP_MEM_POSTED_COMBINED_REORDERED = 9;
+
+const int MAP_MEM_LEDGER_TAGGED = 8192;
+
+const int MAP_MEM_PURGABLE_KERNEL_ONLY = 16384;
+
+const int MAP_MEM_GRAB_SECLUDED = 32768;
+
+const int MAP_MEM_ONLY = 65536;
+
+const int MAP_MEM_NAMED_CREATE = 131072;
+
+const int MAP_MEM_PURGABLE = 262144;
+
+const int MAP_MEM_NAMED_REUSE = 524288;
+
+const int MAP_MEM_USE_DATA_ADDR = 1048576;
+
+const int MAP_MEM_VM_COPY = 2097152;
+
+const int MAP_MEM_VM_SHARE = 4194304;
+
+const int MAP_MEM_4K_DATA_ADDR = 8388608;
+
+const int MAP_MEM_FLAGS_MASK = 16776960;
+
+const int MAP_MEM_FLAGS_USER = 16769024;
+
+const int MAP_MEM_FLAGS_ALL = 16769024;
+
+const int EXC_TYPES_COUNT = 14;
+
+const int EXCEPTION_CODE_MAX = 2;
+
+const int EXC_I386_INVOP = 1;
+
+const int EXC_I386_DIV = 1;
+
+const int EXC_I386_INTO = 2;
+
+const int EXC_I386_NOEXT = 3;
+
+const int EXC_I386_EXTOVR = 4;
+
+const int EXC_I386_EXTERR = 5;
+
+const int EXC_I386_EMERR = 6;
+
+const int EXC_I386_BOUND = 7;
+
+const int EXC_I386_SSEEXTERR = 8;
+
+const int EXC_I386_SGL = 1;
+
+const int EXC_I386_BPT = 2;
+
+const int EXC_I386_DIVERR = 0;
+
+const int EXC_I386_SGLSTP = 1;
+
+const int EXC_I386_NMIFLT = 2;
+
+const int EXC_I386_BPTFLT = 3;
+
+const int EXC_I386_INTOFLT = 4;
+
+const int EXC_I386_BOUNDFLT = 5;
+
+const int EXC_I386_INVOPFLT = 6;
+
+const int EXC_I386_NOEXTFLT = 7;
+
+const int EXC_I386_DBLFLT = 8;
+
+const int EXC_I386_EXTOVRFLT = 9;
+
+const int EXC_I386_INVTSSFLT = 10;
+
+const int EXC_I386_SEGNPFLT = 11;
+
+const int EXC_I386_STKFLT = 12;
+
+const int EXC_I386_GPFLT = 13;
+
+const int EXC_I386_PGFLT = 14;
+
+const int EXC_I386_EXTERRFLT = 16;
+
+const int EXC_I386_ALIGNFLT = 17;
+
+const int EXC_I386_ENDPERR = 33;
+
+const int EXC_I386_ENOEXTFLT = 32;
+
+const int EXC_MASK_MACHINE = 0;
+
+const int EXC_BAD_ACCESS = 1;
+
+const int EXC_BAD_INSTRUCTION = 2;
+
+const int EXC_ARITHMETIC = 3;
+
+const int EXC_EMULATION = 4;
+
+const int EXC_SOFTWARE = 5;
+
+const int EXC_BREAKPOINT = 6;
+
+const int EXC_SYSCALL = 7;
+
+const int EXC_MACH_SYSCALL = 8;
+
+const int EXC_RPC_ALERT = 9;
+
+const int EXC_CRASH = 10;
+
+const int EXC_RESOURCE = 11;
+
+const int EXC_GUARD = 12;
+
+const int EXC_CORPSE_NOTIFY = 13;
+
+const int EXCEPTION_DEFAULT = 1;
+
+const int EXCEPTION_STATE = 2;
+
+const int EXCEPTION_STATE_IDENTITY = 3;
+
+const int EXCEPTION_IDENTITY_PROTECTED = 4;
+
+const int MACH_EXCEPTION_BACKTRACE_PREFERRED = 536870912;
+
+const int MACH_EXCEPTION_ERRORS = 1073741824;
+
+const int MACH_EXCEPTION_CODES = 2147483648;
+
+const int MACH_EXCEPTION_MASK = 3758096384;
+
+const int EXC_MASK_BAD_ACCESS = 2;
+
+const int EXC_MASK_BAD_INSTRUCTION = 4;
+
+const int EXC_MASK_ARITHMETIC = 8;
+
+const int EXC_MASK_EMULATION = 16;
+
+const int EXC_MASK_SOFTWARE = 32;
+
+const int EXC_MASK_BREAKPOINT = 64;
+
+const int EXC_MASK_SYSCALL = 128;
+
+const int EXC_MASK_MACH_SYSCALL = 256;
+
+const int EXC_MASK_RPC_ALERT = 512;
+
+const int EXC_MASK_CRASH = 1024;
+
+const int EXC_MASK_RESOURCE = 2048;
+
+const int EXC_MASK_GUARD = 4096;
+
+const int EXC_MASK_CORPSE_NOTIFY = 8192;
+
+const int EXC_MASK_ALL = 7166;
+
+const int FIRST_EXCEPTION = 1;
+
+const int EXC_SOFT_SIGNAL = 65539;
+
+const int EXC_MACF_MIN = 131072;
+
+const int EXC_MACF_MAX = 196607;
+
+const int I386_THREAD_STATE_MAX = 614;
+
+const int THREAD_STATE_MAX = 1296;
+
+const int FPC_IE = 1;
+
+const int FPC_IM = 1;
+
+const int FPC_DE = 2;
+
+const int FPC_DM = 2;
+
+const int FPC_ZE = 4;
+
+const int FPC_ZM = 4;
+
+const int FPC_OE = 8;
+
+const int FPC_OM = 8;
+
+const int FPC_UE = 16;
+
+const int FPC_PE = 32;
+
+const int FPC_PC = 768;
+
+const int FPC_PC_24 = 0;
+
+const int FPC_PC_53 = 512;
+
+const int FPC_PC_64 = 768;
+
+const int FPC_RC = 3072;
+
+const int FPC_RC_RN = 0;
+
+const int FPC_RC_RD = 1024;
+
+const int FPC_RC_RU = 2048;
+
+const int FPC_RC_CHOP = 3072;
+
+const int FPC_IC = 4096;
+
+const int FPC_IC_PROJ = 0;
+
+const int FPC_IC_AFF = 4096;
+
+const int FPS_IE = 1;
+
+const int FPS_DE = 2;
+
+const int FPS_ZE = 4;
+
+const int FPS_OE = 8;
+
+const int FPS_UE = 16;
+
+const int FPS_PE = 32;
+
+const int FPS_SF = 64;
+
+const int FPS_ES = 128;
+
+const int FPS_C0 = 256;
+
+const int FPS_C1 = 512;
+
+const int FPS_C2 = 1024;
+
+const int FPS_TOS = 14336;
+
+const int FPS_TOS_SHIFT = 11;
+
+const int FPS_C3 = 16384;
+
+const int FPS_BUSY = 32768;
+
+const int FP_NO = 0;
+
+const int FP_SOFT = 1;
+
+const int FP_287 = 2;
+
+const int FP_387 = 3;
+
+const int FP_FXSR = 4;
+
+const int EFL_CF = 1;
+
+const int EFL_PF = 4;
+
+const int EFL_AF = 16;
+
+const int EFL_ZF = 64;
+
+const int EFL_SF = 128;
+
+const int EFL_TF = 256;
+
+const int EFL_IF = 512;
+
+const int EFL_DF = 1024;
+
+const int EFL_OF = 2048;
+
+const int EFL_IOPL = 12288;
+
+const int EFL_IOPL_KERNEL = 0;
+
+const int EFL_IOPL_USER = 12288;
+
+const int EFL_NT = 16384;
+
+const int EFL_RF = 65536;
+
+const int EFL_VM = 131072;
+
+const int EFL_AC = 262144;
+
+const int EFL_VIF = 524288;
+
+const int EFL_VIP = 1048576;
+
+const int EFL_ID = 2097152;
+
+const int EFL_CLR = 4294475816;
+
+const int EFL_SET = 2;
+
+const int EFL_USER_SET = 512;
+
+const int EFL_USER_CLEAR = 94208;
+
+const int i386_THREAD_STATE = 1;
+
+const int i386_FLOAT_STATE = 2;
+
+const int i386_EXCEPTION_STATE = 3;
+
+const int x86_THREAD_STATE32 = 1;
+
+const int x86_FLOAT_STATE32 = 2;
+
+const int x86_EXCEPTION_STATE32 = 3;
+
+const int x86_THREAD_STATE64 = 4;
+
+const int x86_FLOAT_STATE64 = 5;
+
+const int x86_EXCEPTION_STATE64 = 6;
+
+const int x86_THREAD_STATE = 7;
+
+const int x86_FLOAT_STATE = 8;
+
+const int x86_EXCEPTION_STATE = 9;
+
+const int x86_DEBUG_STATE32 = 10;
+
+const int x86_DEBUG_STATE64 = 11;
+
+const int x86_DEBUG_STATE = 12;
+
+const int THREAD_STATE_NONE = 13;
+
+const int x86_AVX_STATE32 = 16;
+
+const int x86_AVX_STATE64 = 17;
+
+const int x86_AVX_STATE = 18;
+
+const int x86_AVX512_STATE32 = 19;
+
+const int x86_AVX512_STATE64 = 20;
+
+const int x86_AVX512_STATE = 21;
+
+const int x86_PAGEIN_STATE = 22;
+
+const int x86_THREAD_FULL_STATE64 = 23;
+
+const int x86_INSTRUCTION_STATE = 24;
+
+const int x86_LAST_BRANCH_STATE = 25;
+
+const int THREAD_MACHINE_STATE_MAX = 1296;
+
+const int USER_CODE_SELECTOR = 23;
+
+const int USER_DATA_SELECTOR = 31;
+
+const int KERN_CODE_SELECTOR = 8;
+
+const int KERN_DATA_SELECTOR = 16;
+
+const int i386_THREAD_STATE_COUNT = 16;
+
+const int x86_THREAD_STATE32_COUNT = 16;
+
+const int i386_FLOAT_STATE_COUNT = 131;
+
+const int x86_FLOAT_STATE32_COUNT = 131;
+
+const int x86_AVX_STATE32_COUNT = 179;
+
+const int x86_AVX512_STATE32_COUNT = 259;
+
+const int i386_EXCEPTION_STATE_COUNT = 3;
+
+const int x86_EXCEPTION_STATE32_COUNT = 3;
+
+const int I386_EXCEPTION_STATE_COUNT = 3;
+
+const int x86_DEBUG_STATE32_COUNT = 8;
+
+const int X86_DEBUG_STATE32_COUNT = 8;
+
+const int x86_THREAD_STATE64_COUNT = 42;
+
+const int x86_THREAD_FULL_STATE64_COUNT = 50;
+
+const int x86_FLOAT_STATE64_COUNT = 131;
+
+const int x86_AVX_STATE64_COUNT = 211;
+
+const int x86_AVX512_STATE64_COUNT = 611;
+
+const int x86_EXCEPTION_STATE64_COUNT = 4;
+
+const int X86_EXCEPTION_STATE64_COUNT = 4;
+
+const int x86_DEBUG_STATE64_COUNT = 16;
+
+const int X86_DEBUG_STATE64_COUNT = 16;
+
+const int x86_PAGEIN_STATE_COUNT = 1;
+
+const int X86_PAGEIN_STATE_COUNT = 1;
+
+const int x86_INSTRUCTION_STATE_COUNT = 614;
+
+const int X86_INSTRUCTION_STATE_COUNT = 614;
+
+const int x86_LAST_BRANCH_STATE_COUNT = 194;
+
+const int X86_LAST_BRANCH_STATE_COUNT = 194;
+
+const int x86_THREAD_STATE_COUNT = 44;
+
+const int x86_FLOAT_STATE_COUNT = 133;
+
+const int x86_EXCEPTION_STATE_COUNT = 6;
+
+const int x86_DEBUG_STATE_COUNT = 18;
+
+const int x86_AVX_STATE_COUNT = 213;
+
+const int x86_AVX512_STATE_COUNT = 613;
+
+const int MACHINE_THREAD_STATE = 7;
+
+const int MACHINE_THREAD_STATE_COUNT = 44;
+
+const int THREAD_STATE_FLAVOR_LIST = 0;
+
+const int THREAD_STATE_FLAVOR_LIST_NEW = 128;
+
+const int THREAD_STATE_FLAVOR_LIST_10_9 = 129;
+
+const int THREAD_STATE_FLAVOR_LIST_10_13 = 130;
+
+const int THREAD_STATE_FLAVOR_LIST_10_15 = 131;
+
+const int THREAD_CONVERT_THREAD_STATE_TO_SELF = 1;
+
+const int THREAD_CONVERT_THREAD_STATE_FROM_SELF = 2;
+
+const int MACH_VOUCHER_NULL = 0;
+
+const int MACH_VOUCHER_NAME_NULL = 0;
+
+const int IPC_VOUCHER_NULL = 0;
+
+const int MACH_VOUCHER_SELECTOR_CURRENT = 0;
+
+const int MACH_VOUCHER_SELECTOR_EFFECTIVE = 1;
+
+const int MACH_VOUCHER_ATTR_KEY_ALL = 4294967295;
+
+const int MACH_VOUCHER_ATTR_KEY_NONE = 0;
+
+const int MACH_VOUCHER_ATTR_KEY_ATM = 1;
+
+const int MACH_VOUCHER_ATTR_KEY_IMPORTANCE = 2;
+
+const int MACH_VOUCHER_ATTR_KEY_BANK = 3;
+
+const int MACH_VOUCHER_ATTR_KEY_PTHPRIORITY = 4;
+
+const int MACH_VOUCHER_ATTR_KEY_USER_DATA = 7;
+
+const int MACH_VOUCHER_ATTR_KEY_BITS = 7;
+
+const int MACH_VOUCHER_ATTR_KEY_TEST = 8;
+
+const int MACH_VOUCHER_ATTR_KEY_NUM_WELL_KNOWN = 8;
+
+const int MACH_VOUCHER_ATTR_NOOP = 0;
+
+const int MACH_VOUCHER_ATTR_COPY = 1;
+
+const int MACH_VOUCHER_ATTR_REMOVE = 2;
+
+const int MACH_VOUCHER_ATTR_SET_VALUE_HANDLE = 3;
+
+const int MACH_VOUCHER_ATTR_AUTO_REDEEM = 4;
+
+const int MACH_VOUCHER_ATTR_SEND_PREPROCESS = 5;
+
+const int MACH_VOUCHER_ATTR_REDEEM = 10;
+
+const int MACH_VOUCHER_ATTR_IMPORTANCE_SELF = 200;
+
+const int MACH_VOUCHER_ATTR_USER_DATA_STORE = 211;
+
+const int MACH_VOUCHER_ATTR_BITS_STORE = 211;
+
+const int MACH_VOUCHER_ATTR_TEST_STORE = 211;
+
+const int MACH_VOUCHER_ATTR_MAX_RAW_RECIPE_ARRAY_SIZE = 5120;
+
+const int MACH_VOUCHER_TRAP_STACK_LIMIT = 256;
+
+const int MACH_VOUCHER_ATTR_MANAGER_NULL = 0;
+
+const int MACH_VOUCHER_ATTR_CONTROL_NULL = 0;
+
+const int IPC_VOUCHER_ATTR_MANAGER_NULL = 0;
+
+const int IPC_VOUCHER_ATTR_CONTROL_NULL = 0;
+
+const int MACH_VOUCHER_ATTR_VALUE_MAX_NESTED = 4;
+
+const int MACH_VOUCHER_ATTR_VALUE_FLAGS_NONE = 0;
+
+const int MACH_VOUCHER_ATTR_VALUE_FLAGS_PERSIST = 1;
+
+const int MACH_VOUCHER_ATTR_CONTROL_FLAGS_NONE = 0;
+
+const int MACH_VOUCHER_IMPORTANCE_ATTR_ADD_EXTERNAL = 1;
+
+const int MACH_VOUCHER_IMPORTANCE_ATTR_DROP_EXTERNAL = 2;
+
+const int MACH_ACTIVITY_ID_COUNT_MAX = 16;
+
+const int PROCESSOR_INFO_MAX = 1024;
+
+const int PROCESSOR_SET_INFO_MAX = 1024;
+
+const int PROCESSOR_BASIC_INFO = 1;
+
+const int PROCESSOR_CPU_LOAD_INFO = 2;
+
+const int PROCESSOR_PM_REGS_INFO = 268435457;
+
+const int PROCESSOR_TEMPERATURE = 268435458;
+
+const int PROCESSOR_BASIC_INFO_COUNT = 5;
+
+const int PROCESSOR_CPU_LOAD_INFO_COUNT = 4;
+
+const int LOAD_SCALE = 1000;
+
+const int PROCESSOR_SET_BASIC_INFO = 5;
+
+const int PROCESSOR_SET_BASIC_INFO_COUNT = 2;
+
+const int PROCESSOR_SET_LOAD_INFO = 4;
+
+const int PROCESSOR_SET_LOAD_INFO_COUNT = 4;
+
+const int POLICY_NULL = 0;
+
+const int POLICY_TIMESHARE = 1;
+
+const int POLICY_RR = 2;
+
+const int POLICY_FIFO = 4;
+
+const int POLICYCLASS_FIXEDPRI = 6;
+
+const int POLICY_TIMESHARE_BASE_COUNT = 1;
+
+const int POLICY_TIMESHARE_LIMIT_COUNT = 1;
+
+const int POLICY_TIMESHARE_INFO_COUNT = 5;
+
+const int POLICY_RR_BASE_COUNT = 2;
+
+const int POLICY_RR_LIMIT_COUNT = 1;
+
+const int POLICY_RR_INFO_COUNT = 5;
+
+const int POLICY_FIFO_BASE_COUNT = 1;
+
+const int POLICY_FIFO_LIMIT_COUNT = 1;
+
+const int POLICY_FIFO_INFO_COUNT = 4;
+
+const int TASK_INFO_MAX = 1024;
+
+const int TASK_BASIC_INFO_32 = 4;
+
+const int TASK_BASIC2_INFO_32 = 6;
+
+const int TASK_BASIC_INFO_32_COUNT = 8;
+
+const int TASK_BASIC_INFO_64 = 5;
+
+const int TASK_BASIC_INFO_64_COUNT = 10;
+
+const int TASK_BASIC_INFO_COUNT = 10;
+
+const int TASK_BASIC_INFO = 5;
+
+const int TASK_EVENTS_INFO = 2;
+
+const int TASK_EVENTS_INFO_COUNT = 8;
+
+const int TASK_THREAD_TIMES_INFO = 3;
+
+const int TASK_THREAD_TIMES_INFO_COUNT = 4;
+
+const int TASK_ABSOLUTETIME_INFO = 1;
+
+const int TASK_ABSOLUTETIME_INFO_COUNT = 8;
+
+const int TASK_KERNELMEMORY_INFO = 7;
+
+const int TASK_KERNELMEMORY_INFO_COUNT = 8;
+
+const int TASK_SECURITY_TOKEN = 13;
+
+const int TASK_SECURITY_TOKEN_COUNT = 2;
+
+const int TASK_AUDIT_TOKEN = 15;
+
+const int TASK_AUDIT_TOKEN_COUNT = 8;
+
+const int TASK_AFFINITY_TAG_INFO = 16;
+
+const int TASK_AFFINITY_TAG_INFO_COUNT = 4;
+
+const int TASK_DYLD_INFO = 17;
+
+const int TASK_DYLD_INFO_COUNT = 5;
+
+const int TASK_DYLD_ALL_IMAGE_INFO_32 = 0;
+
+const int TASK_DYLD_ALL_IMAGE_INFO_64 = 1;
+
+const int TASK_EXTMOD_INFO = 19;
+
+const int TASK_EXTMOD_INFO_COUNT = 16;
+
+const int MACH_TASK_BASIC_INFO = 20;
+
+const int MACH_TASK_BASIC_INFO_COUNT = 12;
+
+const int TASK_POWER_INFO = 21;
+
+const int TASK_POWER_INFO_COUNT = 12;
+
+const int TASK_VM_INFO = 22;
+
+const int TASK_VM_INFO_PURGEABLE = 23;
+
+const int TASK_VM_INFO_COUNT = 89;
+
+const int TASK_VM_INFO_REV6_COUNT = 89;
+
+const int TASK_VM_INFO_REV5_COUNT = 87;
+
+const int TASK_VM_INFO_REV4_COUNT = 86;
+
+const int TASK_VM_INFO_REV3_COUNT = 84;
+
+const int TASK_VM_INFO_REV2_COUNT = 42;
+
+const int TASK_VM_INFO_REV1_COUNT = 38;
+
+const int TASK_VM_INFO_REV0_COUNT = 36;
+
+const int TASK_TRACE_MEMORY_INFO = 24;
+
+const int TASK_TRACE_MEMORY_INFO_COUNT = 6;
+
+const int TASK_WAIT_STATE_INFO = 25;
+
+const int TASK_WAIT_STATE_INFO_COUNT = 8;
+
+const int TASK_POWER_INFO_V2 = 26;
+
+const int TASK_POWER_INFO_V2_COUNT_OLD = 20;
+
+const int TASK_POWER_INFO_V2_COUNT = 24;
+
+const int TASK_VM_INFO_PURGEABLE_ACCOUNT = 27;
+
+const int TASK_FLAGS_INFO = 28;
+
+const int TASK_FLAGS_INFO_COUNT = 1;
+
+const int TF_LP64 = 1;
+
+const int TF_64B_DATA = 2;
+
+const int TASK_DEBUG_INFO_INTERNAL = 29;
+
+const int TASK_EXC_GUARD_NONE = 0;
+
+const int TASK_EXC_GUARD_VM_DELIVER = 1;
+
+const int TASK_EXC_GUARD_VM_ONCE = 2;
+
+const int TASK_EXC_GUARD_VM_CORPSE = 4;
+
+const int TASK_EXC_GUARD_VM_FATAL = 8;
+
+const int TASK_EXC_GUARD_VM_ALL = 15;
+
+const int TASK_EXC_GUARD_MP_DELIVER = 16;
+
+const int TASK_EXC_GUARD_MP_ONCE = 32;
+
+const int TASK_EXC_GUARD_MP_CORPSE = 64;
+
+const int TASK_EXC_GUARD_MP_FATAL = 128;
+
+const int TASK_EXC_GUARD_MP_ALL = 240;
+
+const int TASK_EXC_GUARD_ALL = 255;
+
+const int TASK_CORPSE_FORKING_DISABLED_MEM_DIAG = 1;
+
+const int TASK_SCHED_TIMESHARE_INFO = 10;
+
+const int TASK_SCHED_RR_INFO = 11;
+
+const int TASK_SCHED_FIFO_INFO = 12;
+
+const int TASK_SCHED_INFO = 14;
+
+const int TASK_INSPECT_BASIC_COUNTS_COUNT = 4;
+
+const int TASK_CATEGORY_POLICY = 1;
+
+const int TASK_SUPPRESSION_POLICY = 3;
+
+const int TASK_POLICY_STATE = 4;
+
+const int TASK_BASE_QOS_POLICY = 8;
+
+const int TASK_OVERRIDE_QOS_POLICY = 9;
+
+const int TASK_BASE_LATENCY_QOS_POLICY = 10;
+
+const int TASK_BASE_THROUGHPUT_QOS_POLICY = 11;
+
+const int TASK_CATEGORY_POLICY_COUNT = 1;
+
+const int LATENCY_QOS_LAUNCH_DEFAULT_TIER = 16711684;
+
+const int THROUGHPUT_QOS_LAUNCH_DEFAULT_TIER = 16646148;
+
+const int TASK_QOS_POLICY_COUNT = 2;
+
+const int PROC_FLAG_DARWINBG = 32768;
+
+const int PROC_FLAG_EXT_DARWINBG = 65536;
+
+const int PROC_FLAG_IOS_APPLEDAEMON = 131072;
+
+const int PROC_FLAG_IOS_IMPPROMOTION = 524288;
+
+const int PROC_FLAG_ADAPTIVE = 1048576;
+
+const int PROC_FLAG_ADAPTIVE_IMPORTANT = 2097152;
+
+const int PROC_FLAG_IMPORTANCE_DONOR = 4194304;
+
+const int PROC_FLAG_SUPPRESSED = 8388608;
+
+const int PROC_FLAG_APPLICATION = 16777216;
+
+const int PROC_FLAG_IOS_APPLICATION = 16777216;
+
+const int TASK_KERNEL_PORT = 1;
+
+const int TASK_HOST_PORT = 2;
+
+const int TASK_NAME_PORT = 3;
+
+const int TASK_BOOTSTRAP_PORT = 4;
+
+const int TASK_INSPECT_PORT = 5;
+
+const int TASK_READ_PORT = 6;
+
+const int TASK_ACCESS_PORT = 9;
+
+const int TASK_DEBUG_CONTROL_PORT = 10;
+
+const int TASK_RESOURCE_NOTIFY_PORT = 11;
+
+const int TASK_MAX_SPECIAL_PORT = 11;
+
+const int THREAD_INFO_MAX = 32;
+
+const int THREAD_BASIC_INFO = 3;
+
+const int THREAD_BASIC_INFO_COUNT = 10;
+
+const int THREAD_IDENTIFIER_INFO = 4;
+
+const int THREAD_IDENTIFIER_INFO_COUNT = 6;
+
+const int TH_USAGE_SCALE = 1000;
+
+const int TH_STATE_RUNNING = 1;
+
+const int TH_STATE_STOPPED = 2;
+
+const int TH_STATE_WAITING = 3;
+
+const int TH_STATE_UNINTERRUPTIBLE = 4;
+
+const int TH_STATE_HALTED = 5;
+
+const int TH_FLAGS_SWAPPED = 1;
+
+const int TH_FLAGS_IDLE = 2;
+
+const int TH_FLAGS_GLOBAL_FORCED_IDLE = 4;
+
+const int THREAD_EXTENDED_INFO = 5;
+
+const int MAXTHREADNAMESIZE = 64;
+
+const int THREAD_EXTENDED_INFO_COUNT = 28;
+
+const int THREAD_DEBUG_INFO_INTERNAL = 6;
+
+const int IO_NUM_PRIORITIES = 4;
+
+const int THREAD_SCHED_TIMESHARE_INFO = 10;
+
+const int THREAD_SCHED_RR_INFO = 11;
+
+const int THREAD_SCHED_FIFO_INFO = 12;
+
+const int THREAD_STANDARD_POLICY = 1;
+
+const int THREAD_STANDARD_POLICY_COUNT = 0;
+
+const int THREAD_EXTENDED_POLICY = 1;
+
+const int THREAD_EXTENDED_POLICY_COUNT = 1;
+
+const int THREAD_TIME_CONSTRAINT_POLICY = 2;
+
+const int THREAD_TIME_CONSTRAINT_POLICY_COUNT = 4;
+
+const int THREAD_PRECEDENCE_POLICY = 3;
+
+const int THREAD_PRECEDENCE_POLICY_COUNT = 1;
+
+const int THREAD_AFFINITY_POLICY = 4;
+
+const int THREAD_AFFINITY_TAG_NULL = 0;
+
+const int THREAD_AFFINITY_POLICY_COUNT = 1;
+
+const int THREAD_BACKGROUND_POLICY = 5;
+
+const int THREAD_BACKGROUND_POLICY_DARWIN_BG = 4096;
+
+const int THREAD_BACKGROUND_POLICY_COUNT = 1;
+
+const int THREAD_LATENCY_QOS_POLICY = 7;
+
+const int THREAD_LATENCY_QOS_POLICY_COUNT = 1;
+
+const int THREAD_THROUGHPUT_QOS_POLICY = 8;
+
+const int THREAD_THROUGHPUT_QOS_POLICY_COUNT = 1;
+
+const int THREAD_KERNEL_PORT = 1;
+
+const int THREAD_INSPECT_PORT = 2;
+
+const int THREAD_READ_PORT = 3;
+
+const int THREAD_MAX_SPECIAL_PORT = 3;
+
+const int MATTR_CACHE = 1;
+
+const int MATTR_MIGRATE = 2;
+
+const int MATTR_REPLICATE = 4;
+
+const int MATTR_VAL_OFF = 0;
+
+const int MATTR_VAL_ON = 1;
+
+const int MATTR_VAL_GET = 2;
+
+const int MATTR_VAL_CACHE_FLUSH = 6;
+
+const int MATTR_VAL_DCACHE_FLUSH = 7;
+
+const int MATTR_VAL_ICACHE_FLUSH = 8;
+
+const int MATTR_VAL_CACHE_SYNC = 9;
+
+const int MATTR_VAL_GET_INFO = 10;
+
+const int VM_INHERIT_SHARE = 0;
+
+const int VM_INHERIT_COPY = 1;
+
+const int VM_INHERIT_NONE = 2;
+
+const int VM_INHERIT_DONATE_COPY = 3;
+
+const int VM_INHERIT_DEFAULT = 1;
+
+const int VM_INHERIT_LAST_VALID = 2;
+
+const int VM_PURGABLE_SET_STATE = 0;
+
+const int VM_PURGABLE_GET_STATE = 1;
+
+const int VM_PURGABLE_PURGE_ALL = 2;
+
+const int VM_PURGABLE_SET_STATE_FROM_KERNEL = 3;
+
+const int VM_PURGABLE_NO_AGING_SHIFT = 16;
+
+const int VM_PURGABLE_NO_AGING_MASK = 65536;
+
+const int VM_PURGABLE_NO_AGING = 65536;
+
+const int VM_PURGABLE_DEBUG_SHIFT = 12;
+
+const int VM_PURGABLE_DEBUG_MASK = 12288;
+
+const int VM_PURGABLE_DEBUG_EMPTY = 4096;
+
+const int VM_PURGABLE_DEBUG_FAULT = 8192;
+
+const int VM_VOLATILE_GROUP_SHIFT = 8;
+
+const int VM_VOLATILE_GROUP_MASK = 1792;
+
+const int VM_VOLATILE_GROUP_DEFAULT = 0;
+
+const int VM_VOLATILE_GROUP_0 = 0;
+
+const int VM_VOLATILE_GROUP_1 = 256;
+
+const int VM_VOLATILE_GROUP_2 = 512;
+
+const int VM_VOLATILE_GROUP_3 = 768;
+
+const int VM_VOLATILE_GROUP_4 = 1024;
+
+const int VM_VOLATILE_GROUP_5 = 1280;
+
+const int VM_VOLATILE_GROUP_6 = 1536;
+
+const int VM_VOLATILE_GROUP_7 = 1792;
+
+const int VM_PURGABLE_BEHAVIOR_SHIFT = 6;
+
+const int VM_PURGABLE_BEHAVIOR_MASK = 64;
+
+const int VM_PURGABLE_BEHAVIOR_FIFO = 0;
+
+const int VM_PURGABLE_BEHAVIOR_LIFO = 64;
+
+const int VM_PURGABLE_ORDERING_SHIFT = 5;
+
+const int VM_PURGABLE_ORDERING_MASK = 32;
+
+const int VM_PURGABLE_ORDERING_OBSOLETE = 32;
+
+const int VM_PURGABLE_ORDERING_NORMAL = 0;
+
+const int VM_VOLATILE_ORDER_SHIFT = 4;
+
+const int VM_VOLATILE_ORDER_MASK = 16;
+
+const int VM_VOLATILE_MAKE_FIRST_IN_GROUP = 16;
+
+const int VM_VOLATILE_MAKE_LAST_IN_GROUP = 0;
+
+const int VM_PURGABLE_STATE_MIN = 0;
+
+const int VM_PURGABLE_STATE_MAX = 3;
+
+const int VM_PURGABLE_STATE_MASK = 3;
+
+const int VM_PURGABLE_NONVOLATILE = 0;
+
+const int VM_PURGABLE_VOLATILE = 1;
+
+const int VM_PURGABLE_EMPTY = 2;
+
+const int VM_PURGABLE_DENY = 3;
+
+const int VM_PURGABLE_ALL_MASKS = 79731;
+
+const int VM_BEHAVIOR_DEFAULT = 0;
+
+const int VM_BEHAVIOR_RANDOM = 1;
+
+const int VM_BEHAVIOR_SEQUENTIAL = 2;
+
+const int VM_BEHAVIOR_RSEQNTL = 3;
+
+const int VM_BEHAVIOR_WILLNEED = 4;
+
+const int VM_BEHAVIOR_DONTNEED = 5;
+
+const int VM_BEHAVIOR_FREE = 6;
+
+const int VM_BEHAVIOR_ZERO_WIRED_PAGES = 7;
+
+const int VM_BEHAVIOR_REUSABLE = 8;
+
+const int VM_BEHAVIOR_REUSE = 9;
+
+const int VM_BEHAVIOR_CAN_REUSE = 10;
+
+const int VM_BEHAVIOR_PAGEOUT = 11;
+
+const int BYTE_SIZE = 8;
+
+const int I386_PGBYTES = 4096;
+
+const int I386_PGSHIFT = 12;
+
+const int PAGE_SHIFT = 12;
+
+const int PAGE_SIZE = 4096;
+
+const int PAGE_MASK = 4095;
+
+const int PAGE_MAX_SHIFT = 14;
+
+const int PAGE_MAX_SIZE = 16384;
+
+const int PAGE_MAX_MASK = 16383;
+
+const int PAGE_MIN_SHIFT = 12;
+
+const int PAGE_MIN_SIZE = 4096;
+
+const int PAGE_MIN_MASK = 4095;
+
+const int VM_MIN_ADDRESS64 = 0;
+
+const int VM_USRSTACK64 = 140702053826560;
+
+const int VM_DYLD64 = 140734799806464;
+
+const int VM_LIB64_SHR_DATA = 140734804000768;
+
+const int VM_LIB64_SHR_TEXT = 140735340871680;
+
+const int VM_MAX_PAGE_ADDRESS = 140737486258176;
+
+const int VM_MAX_USER_PAGE_ADDRESS = 140737488351232;
+
+const int MACH_VM_MIN_ADDRESS = 0;
+
+const int MACH_VM_MAX_ADDRESS = 140737486258176;
+
+const int VM_MIN_ADDRESS = 0;
+
+const int VM_USRSTACK32 = 3221225472;
+
+const int VM_MAX_ADDRESS = 4292870144;
+
+const int VM_REGION_INFO_MAX = 1024;
+
+const int VM_REGION_BASIC_INFO_64 = 9;
+
+const int VM_REGION_BASIC_INFO_COUNT_64 = 9;
+
+const int VM_REGION_BASIC_INFO = 10;
+
+const int VM_REGION_BASIC_INFO_COUNT = 8;
+
+const int SM_COW = 1;
+
+const int SM_PRIVATE = 2;
+
+const int SM_EMPTY = 3;
+
+const int SM_SHARED = 4;
+
+const int SM_TRUESHARED = 5;
+
+const int SM_PRIVATE_ALIASED = 6;
+
+const int SM_SHARED_ALIASED = 7;
+
+const int SM_LARGE_PAGE = 8;
+
+const int VM_REGION_EXTENDED_INFO = 13;
+
+const int VM_REGION_EXTENDED_INFO_COUNT = 9;
+
+const int VM_REGION_TOP_INFO = 12;
+
+const int VM_REGION_TOP_INFO_COUNT = 5;
+
+const int VM_REGION_SUBMAP_INFO_COUNT = 15;
+
+const int VM_REGION_SUBMAP_INFO_V2_SIZE = 76;
+
+const int VM_REGION_SUBMAP_INFO_V1_SIZE = 68;
+
+const int VM_REGION_SUBMAP_INFO_V0_SIZE = 64;
+
+const int VM_REGION_SUBMAP_INFO_V2_COUNT_64 = 19;
+
+const int VM_REGION_SUBMAP_INFO_V1_COUNT_64 = 17;
+
+const int VM_REGION_SUBMAP_INFO_V0_COUNT_64 = 16;
+
+const int VM_REGION_SUBMAP_INFO_COUNT_64 = 19;
+
+const int VM_REGION_SUBMAP_SHORT_INFO_COUNT_64 = 12;
+
+const int VM_MAP_ENTRY_MAX = 256;
+
+const int VM_PAGE_INFO_BASIC = 1;
+
+const int VM_PAGE_INFO_BASIC_COUNT = 8;
+
+const int KMOD_MAX_NAME = 64;
+
+const int KMOD_RETURN_SUCCESS = 0;
+
+const int KMOD_RETURN_FAILURE = 5;
+
+const int KMOD_INFO_VERSION = 1;
+
+const int TASK_NULL = 0;
+
+const int TASK_NAME_NULL = 0;
+
+const int TASK_INSPECT_NULL = 0;
+
+const int TASK_READ_NULL = 0;
+
+const int THREAD_NULL = 0;
+
+const int THREAD_INSPECT_NULL = 0;
+
+const int THREAD_READ_NULL = 0;
+
+const int TID_NULL = 0;
+
+const int THR_ACT_NULL = 0;
+
+const int IPC_SPACE_NULL = 0;
+
+const int IPC_SPACE_READ_NULL = 0;
+
+const int IPC_SPACE_INSPECT_NULL = 0;
+
+const int COALITION_NULL = 0;
+
+const int HOST_NULL = 0;
+
+const int HOST_PRIV_NULL = 0;
+
+const int HOST_SECURITY_NULL = 0;
+
+const int PROCESSOR_SET_NULL = 0;
+
+const int PROCESSOR_NULL = 0;
+
+const int SEMAPHORE_NULL = 0;
+
+const int LOCK_SET_NULL = 0;
+
+const int LEDGER_NULL = 0;
+
+const int ALARM_NULL = 0;
+
+const int CLOCK_NULL = 0;
+
+const int UND_SERVER_NULL = 0;
+
+const int ARCADE_REG_NULL = 0;
+
+const int MACH_EVENTLINK_NULL = 0;
+
+const int IPC_EVENTLINK_NULL = 0;
+
+const int TASK_ID_TOKEN_NULL = 0;
+
+const int KCDATA_OBJECT_NULL = 0;
+
+const int TASK_FLAVOR_CONTROL = 0;
+
+const int TASK_FLAVOR_READ = 1;
+
+const int TASK_FLAVOR_INSPECT = 2;
+
+const int TASK_FLAVOR_NAME = 3;
+
+const int TASK_FLAVOR_MAX = 3;
+
+const int THREAD_FLAVOR_CONTROL = 0;
+
+const int THREAD_FLAVOR_READ = 1;
+
+const int THREAD_FLAVOR_INSPECT = 2;
+
+const int THREAD_FLAVOR_MAX = 2;
+
+const int LEDGER_ITEM_INFINITY = 4294967295;
+
+const int LEDGER_LIMIT_INFINITY = 9223372036854775807;
+
+const int NDR_PROTOCOL_2_0 = 0;
+
+const int NDR_INT_BIG_ENDIAN = 0;
+
+const int NDR_INT_LITTLE_ENDIAN = 1;
+
+const int NDR_FLOAT_IEEE = 0;
+
+const int NDR_FLOAT_VAX = 1;
+
+const int NDR_FLOAT_CRAY = 2;
+
+const int NDR_FLOAT_IBM = 3;
+
+const int NDR_CHAR_ASCII = 0;
+
+const int NDR_CHAR_EBCDIC = 1;
+
+const int __NDR_convert__ = 0;
+
+const int __NDR_convert__int_rep__ = 0;
+
+const int __NDR_convert__char_rep__ = 0;
+
+const int __NDR_convert__float_rep__ = 0;
+
+const int MACH_NOTIFY_FIRST = 64;
+
+const int MACH_NOTIFY_PORT_DELETED = 65;
+
+const int MACH_NOTIFY_SEND_POSSIBLE = 66;
+
+const int MACH_NOTIFY_PORT_DESTROYED = 69;
+
+const int MACH_NOTIFY_NO_SENDERS = 70;
+
+const int MACH_NOTIFY_SEND_ONCE = 71;
+
+const int MACH_NOTIFY_DEAD_NAME = 72;
+
+const int MACH_NOTIFY_LAST = 77;
+
+const int __MigTypeCheck = 1;
+
+const int __MigPackStructs = 1;
+
+const int MIG_TYPE_ERROR = -300;
+
+const int MIG_REPLY_MISMATCH = -301;
+
+const int MIG_REMOTE_ERROR = -302;
+
+const int MIG_BAD_ID = -303;
+
+const int MIG_BAD_ARGUMENTS = -304;
+
+const int MIG_NO_REPLY = -305;
+
+const int MIG_EXCEPTION = -306;
+
+const int MIG_ARRAY_TOO_LARGE = -307;
+
+const int MIG_SERVER_DIED = -308;
+
+const int MIG_TRAILER_ERROR = -309;
+
+const int clock_priv_MSG_COUNT = 2;
+
+const int host_priv_MSG_COUNT = 26;
+
+const int ZONE_NAME_MAX_LEN = 80;
+
+const int MACH_ZONE_NAME_MAX_LEN = 80;
+
+const int MACH_MEMORY_INFO_NAME_MAX_LEN = 80;
+
+const int MAX_ZTRACE_DEPTH = 15;
+
+const int ZOP_ALLOC = 1;
+
+const int ZOP_FREE = 0;
+
+const int LOCKGROUP_MAX_NAME = 64;
+
+const int LOCKGROUP_ATTR_STAT = 1;
+
+const int MACH_CORE_FILEHEADER_SIGNATURE = 27973006578180434;
+
+const int MACH_CORE_FILEHEADER_V2_SIGNATURE = 7161089684267036482;
+
+const int MACH_CORE_FILEHEADER_MAXFILES = 16;
+
+const int MACH_CORE_FILEHEADER_NAMELEN = 16;
+
+const int MACH_CORE_FILEHEADER_V2_FLAG_LOG_ENCRYPTED_AEA = 1;
+
+const int MACH_CORE_FILEHEADER_V2_FLAG_EXISTING_COREFILE_KEY_FORMAT_NIST_P256 =
+    256;
+
+const int MACH_CORE_FILEHEADER_V2_FLAG_NEXT_COREFILE_KEY_FORMAT_NIST_P256 =
+    65536;
+
+const int MACH_CORE_FILEHEADER_V2_FLAGS_EXISTING_COREFILE_KEY_FORMAT_MASK = 256;
+
+const int MACH_CORE_FILEHEADER_V2_FLAGS_NEXT_COREFILE_KEY_FORMAT_MASK = 65536;
+
+const int MACH_CORE_DETAILS_V2_FLAG_ENCRYPTED_AEA = 1;
+
+const int MACH_CORE_DETAILS_V2_FLAG_COMPRESSED_ZLIB = 256;
+
+const int MACH_CORE_DETAILS_V2_FLAG_COMPRESSED_LZ4 = 512;
+
+const int KOBJECT_DESCRIPTION_LENGTH = 512;
+
+const int host_security_MSG_COUNT = 2;
+
+const int processor_MSG_COUNT = 6;
+
+const int processor_set_MSG_COUNT = 11;
+
+const int SYNC_POLICY_FIFO = 0;
+
+const int SYNC_POLICY_FIXED_PRIORITY = 1;
+
+const int SYNC_POLICY_REVERSED = 2;
+
+const int SYNC_POLICY_ORDER_MASK = 3;
+
+const int SYNC_POLICY_LIFO = 2;
+
+const int task_MSG_COUNT = 65;
+
+const int thread_act_MSG_COUNT = 31;
+
+const int vm_map_MSG_COUNT = 33;
+
+const int mach_port_MSG_COUNT = 43;
+
+const int _MACH_INIT_ = 1;
+
+const int NAME_SERVER_SLOT = 0;
+
+const int ENVIRONMENT_SLOT = 1;
+
+const int SERVICE_SLOT = 2;
+
+const int MACH_PORTS_SLOTS_USED = 3;
+
+const int mach_host_MSG_COUNT = 35;
+
+const int SWITCH_OPTION_NONE = 0;
+
+const int SWITCH_OPTION_DEPRESS = 1;
+
+const int SWITCH_OPTION_WAIT = 2;
+
+const int RPC_SIGBUF_SIZE = 8;
+
+const int _MACH_ERROR_ = 1;
+
+const int err_none = 0;
+
+const int ERR_SUCCESS = 0;
+
+const int system_emask = -67108864;
+
+const int sub_emask = 67092480;
+
+const int code_emask = 16383;
+
+const int err_kern = 0;
+
+const int err_us = 67108864;
+
+const int err_server = 134217728;
+
+const int err_ipc = 201326592;
+
+const int err_mach_ipc = 268435456;
+
+const int err_dipc = 469762048;
+
+const int err_local = -134217728;
+
+const int err_ipc_compat = -67108864;
+
+const int err_max_system = 63;
+
+const int VOUCHER_MACH_MSG_API_VERSION = 20140205;
+
+const String LAUNCH_KEY_SUBMITJOB = 'SubmitJob';
+
+const String LAUNCH_KEY_REMOVEJOB = 'RemoveJob';
+
+const String LAUNCH_KEY_STARTJOB = 'StartJob';
+
+const String LAUNCH_KEY_STOPJOB = 'StopJob';
+
+const String LAUNCH_KEY_GETJOB = 'GetJob';
+
+const String LAUNCH_KEY_GETJOBS = 'GetJobs';
+
+const String LAUNCH_KEY_CHECKIN = 'CheckIn';
+
+const String LAUNCH_JOBKEY_LABEL = 'Label';
+
+const String LAUNCH_JOBKEY_DISABLED = 'Disabled';
+
+const String LAUNCH_JOBKEY_USERNAME = 'UserName';
+
+const String LAUNCH_JOBKEY_GROUPNAME = 'GroupName';
+
+const String LAUNCH_JOBKEY_TIMEOUT = 'TimeOut';
+
+const String LAUNCH_JOBKEY_EXITTIMEOUT = 'ExitTimeOut';
+
+const String LAUNCH_JOBKEY_INITGROUPS = 'InitGroups';
+
+const String LAUNCH_JOBKEY_SOCKETS = 'Sockets';
+
+const String LAUNCH_JOBKEY_MACHSERVICES = 'MachServices';
+
+const String LAUNCH_JOBKEY_MACHSERVICELOOKUPPOLICIES =
+    'MachServiceLookupPolicies';
+
+const String LAUNCH_JOBKEY_INETDCOMPATIBILITY = 'inetdCompatibility';
+
+const String LAUNCH_JOBKEY_ENABLEGLOBBING = 'EnableGlobbing';
+
+const String LAUNCH_JOBKEY_PROGRAMARGUMENTS = 'ProgramArguments';
+
+const String LAUNCH_JOBKEY_PROGRAM = 'Program';
+
+const String LAUNCH_JOBKEY_ONDEMAND = 'OnDemand';
+
+const String LAUNCH_JOBKEY_KEEPALIVE = 'KeepAlive';
+
+const String LAUNCH_JOBKEY_LIMITLOADTOHOSTS = 'LimitLoadToHosts';
+
+const String LAUNCH_JOBKEY_LIMITLOADFROMHOSTS = 'LimitLoadFromHosts';
+
+const String LAUNCH_JOBKEY_LIMITLOADTOSESSIONTYPE = 'LimitLoadToSessionType';
+
+const String LAUNCH_JOBKEY_LIMITLOADTOHARDWARE = 'LimitLoadToHardware';
+
+const String LAUNCH_JOBKEY_LIMITLOADFROMHARDWARE = 'LimitLoadFromHardware';
+
+const String LAUNCH_JOBKEY_RUNATLOAD = 'RunAtLoad';
+
+const String LAUNCH_JOBKEY_ROOTDIRECTORY = 'RootDirectory';
+
+const String LAUNCH_JOBKEY_WORKINGDIRECTORY = 'WorkingDirectory';
+
+const String LAUNCH_JOBKEY_ENVIRONMENTVARIABLES = 'EnvironmentVariables';
+
+const String LAUNCH_JOBKEY_USERENVIRONMENTVARIABLES =
+    'UserEnvironmentVariables';
+
+const String LAUNCH_JOBKEY_UMASK = 'Umask';
+
+const String LAUNCH_JOBKEY_NICE = 'Nice';
+
+const String LAUNCH_JOBKEY_HOPEFULLYEXITSFIRST = 'HopefullyExitsFirst';
+
+const String LAUNCH_JOBKEY_HOPEFULLYEXITSLAST = 'HopefullyExitsLast';
+
+const String LAUNCH_JOBKEY_LOWPRIORITYIO = 'LowPriorityIO';
+
+const String LAUNCH_JOBKEY_LOWPRIORITYBACKGROUNDIO = 'LowPriorityBackgroundIO';
+
+const String LAUNCH_JOBKEY_MATERIALIZEDATALESSFILES =
+    'MaterializeDatalessFiles';
+
+const String LAUNCH_JOBKEY_SESSIONCREATE = 'SessionCreate';
+
+const String LAUNCH_JOBKEY_STARTONMOUNT = 'StartOnMount';
+
+const String LAUNCH_JOBKEY_SOFTRESOURCELIMITS = 'SoftResourceLimits';
+
+const String LAUNCH_JOBKEY_HARDRESOURCELIMITS = 'HardResourceLimits';
+
+const String LAUNCH_JOBKEY_STANDARDINPATH = 'StandardInPath';
+
+const String LAUNCH_JOBKEY_STANDARDOUTPATH = 'StandardOutPath';
+
+const String LAUNCH_JOBKEY_STANDARDERRORPATH = 'StandardErrorPath';
+
+const String LAUNCH_JOBKEY_DEBUG = 'Debug';
+
+const String LAUNCH_JOBKEY_WAITFORDEBUGGER = 'WaitForDebugger';
+
+const String LAUNCH_JOBKEY_QUEUEDIRECTORIES = 'QueueDirectories';
+
+const String LAUNCH_JOBKEY_HOMERELATIVEQUEUEDIRECTORIES =
+    'HomeRelativeQueueDirectories';
+
+const String LAUNCH_JOBKEY_WATCHPATHS = 'WatchPaths';
+
+const String LAUNCH_JOBKEY_STARTINTERVAL = 'StartInterval';
+
+const String LAUNCH_JOBKEY_STARTCALENDARINTERVAL = 'StartCalendarInterval';
+
+const String LAUNCH_JOBKEY_BONJOURFDS = 'BonjourFDs';
+
+const String LAUNCH_JOBKEY_LASTEXITSTATUS = 'LastExitStatus';
+
+const String LAUNCH_JOBKEY_PID = 'PID';
+
+const String LAUNCH_JOBKEY_THROTTLEINTERVAL = 'ThrottleInterval';
+
+const String LAUNCH_JOBKEY_LAUNCHONLYONCE = 'LaunchOnlyOnce';
+
+const String LAUNCH_JOBKEY_ABANDONPROCESSGROUP = 'AbandonProcessGroup';
+
+const String LAUNCH_JOBKEY_IGNOREPROCESSGROUPATSHUTDOWN =
+    'IgnoreProcessGroupAtShutdown';
+
+const String LAUNCH_JOBKEY_LEGACYTIMERS = 'LegacyTimers';
+
+const String LAUNCH_JOBKEY_ENABLEPRESSUREDEXIT = 'EnablePressuredExit';
+
+const String LAUNCH_JOBKEY_ENABLETRANSACTIONS = 'EnableTransactions';
+
+const String LAUNCH_JOBKEY_DRAINMESSAGESONFAILEDINIT =
+    'DrainMessagesOnFailedInit';
+
+const String LAUNCH_JOBKEY_POLICIES = 'Policies';
+
+const String LAUNCH_JOBKEY_BUNDLEPROGRAM = 'BundleProgram';
+
+const String LAUNCH_JOBKEY_ASSOCIATEDBUNDLEIDENTIFIERS =
+    'AssociatedBundleIdentifiers';
+
+const String LAUNCH_JOBKEY_PUBLISHESEVENTS = 'PublishesEvents';
+
+const String LAUNCH_KEY_PUBLISHESEVENTS_DOMAININTERNAL = 'DomainInternal';
+
+const String LAUNCH_JOBPOLICY_DENYCREATINGOTHERJOBS = 'DenyCreatingOtherJobs';
+
+const String LAUNCH_JOBINETDCOMPATIBILITY_WAIT = 'Wait';
+
+const String LAUNCH_JOBINETDCOMPATIBILITY_INSTANCES = 'Instances';
+
+const String LAUNCH_JOBKEY_MACH_RESETATCLOSE = 'ResetAtClose';
+
+const String LAUNCH_JOBKEY_MACH_HIDEUNTILCHECKIN = 'HideUntilCheckIn';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_SUCCESSFULEXIT = 'SuccessfulExit';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_NETWORKSTATE = 'NetworkState';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_PATHSTATE = 'PathState';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_HOMERELATIVEPATHSTATE =
+    'HomeRelativePathState';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_OTHERJOBACTIVE = 'OtherJobActive';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_OTHERJOBENABLED = 'OtherJobEnabled';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_AFTERINITIALDEMAND = 'AfterInitialDemand';
+
+const String LAUNCH_JOBKEY_KEEPALIVE_CRASHED = 'Crashed';
+
+const String LAUNCH_JOBKEY_LAUNCHEVENTS = 'LaunchEvents';
+
+const String LAUNCH_JOBKEY_CAL_MINUTE = 'Minute';
+
+const String LAUNCH_JOBKEY_CAL_HOUR = 'Hour';
+
+const String LAUNCH_JOBKEY_CAL_DAY = 'Day';
+
+const String LAUNCH_JOBKEY_CAL_WEEKDAY = 'Weekday';
+
+const String LAUNCH_JOBKEY_CAL_MONTH = 'Month';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_CORE = 'Core';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_CPU = 'CPU';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_DATA = 'Data';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_FSIZE = 'FileSize';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_MEMLOCK = 'MemoryLock';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_NOFILE = 'NumberOfFiles';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_NPROC = 'NumberOfProcesses';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_RSS = 'ResidentSetSize';
+
+const String LAUNCH_JOBKEY_RESOURCELIMIT_STACK = 'Stack';
+
+const String LAUNCH_JOBKEY_DISABLED_MACHINETYPE = 'MachineType';
+
+const String LAUNCH_JOBKEY_DISABLED_MODELNAME = 'ModelName';
+
+const String LAUNCH_JOBKEY_DATASTORES = 'Datastores';
+
+const String LAUNCH_JOBKEY_DATASTORES_SIZELIMIT = 'SizeLimit';
+
+const String LAUNCH_JOBSOCKETKEY_TYPE = 'SockType';
+
+const String LAUNCH_JOBSOCKETKEY_PASSIVE = 'SockPassive';
+
+const String LAUNCH_JOBSOCKETKEY_BONJOUR = 'Bonjour';
+
+const String LAUNCH_JOBSOCKETKEY_SECUREWITHKEY = 'SecureSocketWithKey';
+
+const String LAUNCH_JOBSOCKETKEY_PATHNAME = 'SockPathName';
+
+const String LAUNCH_JOBSOCKETKEY_PATHMODE = 'SockPathMode';
+
+const String LAUNCH_JOBSOCKETKEY_PATHOWNER = 'SockPathOwner';
+
+const String LAUNCH_JOBSOCKETKEY_PATHGROUP = 'SockPathGroup';
+
+const String LAUNCH_JOBSOCKETKEY_NODENAME = 'SockNodeName';
+
+const String LAUNCH_JOBSOCKETKEY_SERVICENAME = 'SockServiceName';
+
+const String LAUNCH_JOBSOCKETKEY_FAMILY = 'SockFamily';
+
+const String LAUNCH_JOBSOCKETKEY_PROTOCOL = 'SockProtocol';
+
+const String LAUNCH_JOBSOCKETKEY_MULTICASTGROUP = 'MulticastGroup';
+
+const String LAUNCH_JOBKEY_PROCESSTYPE = 'ProcessType';
+
+const String LAUNCH_KEY_PROCESSTYPE_APP = 'App';
+
+const String LAUNCH_KEY_PROCESSTYPE_STANDARD = 'Standard';
+
+const String LAUNCH_KEY_PROCESSTYPE_BACKGROUND = 'Background';
+
+const String LAUNCH_KEY_PROCESSTYPE_INTERACTIVE = 'Interactive';
+
+const String LAUNCH_KEY_PROCESSTYPE_ADAPTIVE = 'Adaptive';
+
+const int XPC_ARRAY_APPEND = -1;
diff --git a/example/pedometer/lib/steps_repo.dart b/example/pedometer/lib/steps_repo.dart
new file mode 100644
index 0000000..39af029
--- /dev/null
+++ b/example/pedometer/lib/steps_repo.dart
@@ -0,0 +1,101 @@
+// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:async';
+import 'dart:ffi' as ffi;
+import 'dart:io';
+import 'dart:isolate';
+
+import 'package:intl/intl.dart';
+
+import 'pedometer_bindings_generated.dart' as pd;
+
+typedef PedometerHandler = pd.ObjCBlock_ffiVoid_CMPedometerData_NSError;
+late PedometerHandler handler;
+
+/// Class to hold the information needed for the chart
+class Steps {
+  String startHour;
+  int steps;
+  Steps(this.startHour, this.steps);
+}
+
+class StepsRepo {
+  static const _formatString = "yyyy-MM-dd HH:mm:ss";
+  static const _dylibPath =
+      '/System/Library/Frameworks/CoreMotion.framework/CoreMotion';
+
+  // Bindings for the CMPedometer class
+  final lib = pd.PedometerBindings(ffi.DynamicLibrary.open(_dylibPath));
+
+  late final pd.CMPedometer client;
+  late final pd.NSDateFormatter formatter;
+  late final pd.NSDateFormatter hourFormatter;
+
+  static StepsRepo? _instance;
+  static StepsRepo get instance => _instance ??= StepsRepo();
+
+  StepsRepo() {
+    // Create a new CMPedometer instance.
+    client = pd.CMPedometer.new1(lib);
+
+    // Setting the formatter for date strings.
+    formatter =
+        pd.NSDateFormatter.castFrom(pd.NSDateFormatter.alloc(lib).init());
+    formatter.dateFormat = pd.NSString(lib, "$_formatString zzz");
+    hourFormatter =
+        pd.NSDateFormatter.castFrom(pd.NSDateFormatter.alloc(lib).init());
+    hourFormatter.dateFormat = pd.NSString(lib, "HH");
+  }
+
+  pd.NSDate dateConverter(DateTime dartDate) {
+    // Format dart date to string.
+    final formattedDate = DateFormat(_formatString).format(dartDate);
+    // Get current timezone. If eastern african change to AST to follow with NSDate.
+    final tz = dartDate.timeZoneName == "EAT" ? "AST" : dartDate.timeZoneName;
+
+    // Create a new NSString with the formatted date and timezone.
+    final nString = pd.NSString(lib, "$formattedDate $tz");
+    // Convert the NSString to NSDate.
+    return formatter.dateFromString_(nString);
+  }
+
+  @override
+  Future<List<Steps>> getSteps() async {
+    if (!pd.CMPedometer.isStepCountingAvailable(lib)) {
+      print("Step counting is not available.");
+      return [];
+    }
+
+    final futures = <Future<pd.CMPedometerData>>[];
+    final now = DateTime.now();
+
+    for (int h = 0; h <= now.hour; h++) {
+      final completer = Completer<pd.CMPedometerData>();
+      futures.add(completer.future);
+
+      handler = PedometerHandler.listener(lib, (ffi.Pointer<pd.ObjCObject> pedometerData, ffi.Pointer<pd.ObjCObject> error) {
+        if(error == ffi.nullptr){
+          completer.complete(pd.CMPedometerData.castFromPointer(
+              lib, pedometerData, retain: true, release: true));
+        } else{
+          print("Error: $error");
+        }
+      });
+
+      final start = dateConverter(DateTime(now.year, now.month, now.day, h));
+      final end = dateConverter(DateTime(now.year, now.month, now.day, h + 1));
+      client.queryPedometerDataFromDate_toDate_withHandler_(
+          start, end, handler.pointer);
+    }
+
+    final data = await Future.wait(futures);
+    return data.map((pd.CMPedometerData pedometerData) {
+      final stepCount = pedometerData.numberOfSteps?.intValue ?? 0;
+      final startHour =
+          hourFormatter.stringFromDate_(pedometerData.startDate!).toString();
+      return Steps(startHour, stepCount);
+    }).toList();
+  }
+}
diff --git a/example/pedometer/pubspec.yaml b/example/pedometer/pubspec.yaml
new file mode 100644
index 0000000..e8d7b23
--- /dev/null
+++ b/example/pedometer/pubspec.yaml
@@ -0,0 +1,47 @@
+# Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+name: pedometer_example
+description: "iOS pedometer example."
+publish_to: 'none'
+version: 0.1.0
+
+environment:
+  sdk: '>=3.2.0-122.0.dev <4.0.0'
+
+dependencies:
+  intl: ^0.18.1
+  ffi: ^2.0.1
+  fl_chart: ^0.63.0
+  flutter:
+    sdk: flutter
+
+dev_dependencies:
+  ffigen:
+    path: '../../'
+  flutter_test:
+    sdk: flutter
+  flutter_lints: ^2.0.0
+
+flutter:
+  uses-material-design: true
+
+ffigen:
+  name: PedometerBindings
+  description: "Bindings for CM pedometer"
+  language: objc
+  output: 'lib/pedometer_bindings_generated.dart'
+  compiler-opts:
+    - '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks'
+    - '-mios-version-min=13.0'
+    - '-isysroot'
+    - '/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk'
+  objc-interfaces:
+    include:
+    - "CMPedometer"
+    - "NSDate"
+    - "NSDateFormatter"
+  headers:
+    entry-points:
+      - "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreMotion.framework/Headers/CMPedometer.h"
diff --git a/example/pedometer/test/widget_test.dart b/example/pedometer/test/widget_test.dart
new file mode 100644
index 0000000..cd5b071
--- /dev/null
+++ b/example/pedometer/test/widget_test.dart
@@ -0,0 +1,30 @@
+// This is a basic Flutter widget test.
+//
+// To perform an interaction with a widget in your test, use the WidgetTester
+// utility in the flutter_test package. For example, you can send tap and scroll
+// gestures. You can also use WidgetTester to find child widgets in the widget
+// tree, read text, and verify that the values of widget properties are correct.
+
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+import 'package:pedometer/main.dart';
+
+void main() {
+  testWidgets('Counter increments smoke test', (WidgetTester tester) async {
+    // Build our app and trigger a frame.
+    await tester.pumpWidget(const MyApp());
+
+    // Verify that our counter starts at 0.
+    expect(find.text('0'), findsOneWidget);
+    expect(find.text('1'), findsNothing);
+
+    // Tap the '+' icon and trigger a frame.
+    await tester.tap(find.byIcon(Icons.add));
+    await tester.pump();
+
+    // Verify that our counter has incremented.
+    expect(find.text('0'), findsNothing);
+    expect(find.text('1'), findsOneWidget);
+  });
+}